Linux CentOS 7 下安装Nginx详细过程

导读:本篇文章讲解 Linux CentOS 7 下安装Nginx详细过程,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

目录

1.创建Nginx目录

2.用xftp上传安装包

3. 解压安装包

4.安装编译工具及依赖库

 5.编译配置参数

6.执行make安装

7.通用方式启动nginx

8. 使用systemd 管理控制启动模式

8.验证是否安装nginx成功


Linux CentOS 7 下安装Nginx详细过程

1.创建Nginx目录

mkdir /usr/nginx

2.用xftp上传安装包

3. 解压安装包

tar -zxvf nginx-1.20.2.tar.gz

4.安装编译工具及依赖库

yum -y install gcc pcre-devel  zlib-devel openssl-devel libxml2-devel libxslt-devel gd-devel GeoIP-devel jemalloc-devel libatomic_ops-devel perl-devel  perl-ExtUtils-Embed

#安装Nginx需要先将官网下载的源码进行编译,依赖gcc环境

#PCRE是一个perl库,包括perl兼容的正则表达式库。Nginx的http模块使用pcre库来解析正则表达式 

#zlib库提供很多种压缩解压缩方式,Nginx使用zlib对http包的内容进行gzip

#OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的秘钥和证书封装管理功能及
SSL协议,并提供丰富的应用程序供测试或其它目的使用。Nginx不仅支持http协议,还支持HTTPS协议
(即在SSL协议上传输http)。

 5.编译配置参数

        编译Nginx源码文件时,首先需要通过编译配置命令configure进行编译配置。编译配置命令configure的常用编译配置参数如下图所示。

Linux CentOS 7 下安装Nginx详细过程

Linux CentOS 7 下安装Nginx详细过程 

对于上图,有以下三点说明。

  • TCMalloc是谷歌开源的一个内存管理分配器,优于Glibc的malloc内存管理分配器。
  • upstream是被代理服务器组的Nginx内部标识,通常称为上游服务器。
  • 开启pcre JIT支持,可以提升处理正则表达式的速度。

        如图所示,具有带“–with”前缀的编译配置参数的模块都不会被默认编译,若要使用该功能模块,需要使用提供的编译配置参数进行编译配置。相反,具有带“–without”前缀的编译配置参数的模块都会被默认编译,如果不想使用某个功能模块,在进行编译配置时添加带有“–without”前缀的参数即可。此处只列出了常用功能的编译配置参数,也可以通过编译配置命令的帮助参数获得更多的编译配置参数。

        ./configure --help
cd nginx-1.20.2/

# 编译所有功能模块
./configure \
    --with-threads \
    --with-file-aio \
    --with-http_ssl_module \
    --with-http_v2_module \
    --with-http_realip_module \
    --with-http_addition_module \
    --with-http_xslt_module=dynamic \
    --with-http_image_filter_module=dynamic \
    --with-http_geoip_module=dynamic \
    --with-http_sub_module \
    --with-http_dav_module \
    --with-http_flv_module \
    --with-http_mp4_module \
    --with-http_gunzip_module \
    --with-http_gzip_static_module \
    --with-http_auth_request_module \
    --with-http_random_index_module \
    --with-http_secure_link_module \
    --with-http_degradation_module \
    --with-http_slice_module \
    --with-http_stub_status_module \
    --with-stream=dynamic \
    --with-stream_ssl_module \
    --with-stream_realip_module \
    --with-stream_geoip_module=dynamic \
    --with-stream_ssl_preread_module \
    --with-compat  \
    --with-pcre-jit

# 执行configure操作检测当前系统环境,已确保能成功安装Nginx,如果出错,请检查上述安装前依赖包是否已经安装。

无报错信息:

Linux CentOS 7 下安装Nginx详细过程

6.执行make安装

        make命令的功能是用于编译内核或源码文件。make是GNU工程化编译工具,用于编译众多相互关联的源代码文件,也可以编译内核或模块功能,以工程化的工作方式,提高开发效率。

        初次运行make命令时,它会通过扫描Makefile文件找到目标及其依赖关系,并在建立依赖关系后依次编译所对应的源码程序。

[root@Tomcat nginx-1.20.2]# make
[root@Tomcat nginx-1.20.2]# make install
#会将Nginx安装到/usr/local/nginx目录下,所以请勿占用nginx目录命名

Linux CentOS 7 下安装Nginx详细过程

7.通用方式启动nginx

/usr/local/nginx/sbin/nginx  #启动

/usr/local/nginx/sbin/nginx -s reload  #重启

/usr/local/nginx/sbin/nginx -s quit   #关闭nginx

8. 使用systemd 管理控制启动模式

systemd 配置文件说明:

  • 每一个 Unit 都需要有一个配置文件用于告知 systemd 对于服务的管理方式

  • 配置文件存放于 /usr/lib/systemd/system/,设置开机启动后会在 /etc/systemd/system 目录建立软链接文件

  • 每个Unit的配置文件配置默认后缀名为.service

  • 在 /usr/lib/systemd/system/ 目录中分为 system 和 user 两个目录,一般将开机不登陆就能运行的程序存在系统服务里,也就是 /usr/lib/systemd/system

  • 配置文件使用方括号分成了多个部分,并且区分大小写

切换到/lib/systemd/system/目录,创建nginx.service文件
cd /lib/systemd/system/
vim nginx.service

 在文件添加下面内容:

[Unit]     # 记录service文件的通用信息
Description=nginx - web server    # Nginx服务描述信息
After=network.target remote-fs.target nss-Tookup.target    # Nginx服务启动依赖,在指定服务之后启动

[Service]    # 记录service文件的service信息
Type=forking    # 标准UNIX Daemon使用的启动方式
PIDFile=/usr/local/nginx/logs/nginx.pid    # Nginx服务的pid文件位置
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]    # 记录service文件的安装信息
WantedBy=multi-user.target    # 多用户环境下启用

保存并退出后,

systemctl enable nginx.service
#开机启动
#启动Nginx
systemctl start nginx.service

#终止nginx
systemctl stop nginx.service

#重启nginx
systemctl restart nginx.service

#查看nginx进程
ps -ef | grep nginx

8.验证是否安装nginx成功

Linux CentOS 7 下安装Nginx详细过程

如果没有,则配置80端口或者关闭防火墙即可生效

firewall-cmd --permanent --add-port=80/tcp  #在防火墙添加端口80
# --permanent	策略写入到永久生效表中,立即生效

firewall-cmd --reload  #重启防火墙 或者  systemctl restart firewalld.service

firewall-cmd --query-port=80/tcp  #查看端口是否开启

安装完成!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/74683.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!