当前位置:   article > 正文

Linux CentOS 7 下安装Nginx详细过程_centos7 nginx

centos7 nginx

目录

1.创建Nginx目录

2.用xftp上传安装包

3. 解压安装包

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

 5.编译配置参数

6.执行make安装

7.通用方式启动nginx

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

8.验证是否安装nginx成功


1.创建Nginx目录

mkdir /usr/nginx

2.用xftp上传安装包

3. 解压安装包

tar -zxvf nginx-1.20.2.tar.gz

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

  1. 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
  2. #安装Nginx需要先将官网下载的源码进行编译,依赖gcc环境
  3. #PCRE是一个perl库,包括perl兼容的正则表达式库。Nginx的http模块使用pcre库来解析正则表达式
  4. #zlib库提供很多种压缩解压缩方式,Nginx使用zlib对http包的内容进行gzip
  5. #OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的秘钥和证书封装管理功能及
  6. SSL协议,并提供丰富的应用程序供测试或其它目的使用。Nginx不仅支持http协议,还支持HTTPS协议
  7. (即在SSL协议上传输http)。

 5.编译配置参数

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

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

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

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

        ./configure --help
  1. cd nginx-1.20.2/
  2. # 编译所有功能模块
  3. ./configure \
  4. --with-threads \
  5. --with-file-aio \
  6. --with-http_ssl_module \
  7. --with-http_v2_module \
  8. --with-http_realip_module \
  9. --with-http_addition_module \
  10. --with-http_xslt_module=dynamic \
  11. --with-http_image_filter_module=dynamic \
  12. --with-http_geoip_module=dynamic \
  13. --with-http_sub_module \
  14. --with-http_dav_module \
  15. --with-http_flv_module \
  16. --with-http_mp4_module \
  17. --with-http_gunzip_module \
  18. --with-http_gzip_static_module \
  19. --with-http_auth_request_module \
  20. --with-http_random_index_module \
  21. --with-http_secure_link_module \
  22. --with-http_degradation_module \
  23. --with-http_slice_module \
  24. --with-http_stub_status_module \
  25. --with-stream=dynamic \
  26. --with-stream_ssl_module \
  27. --with-stream_realip_module \
  28. --with-stream_geoip_module=dynamic \
  29. --with-stream_ssl_preread_module \
  30. --with-compat \
  31. --with-pcre-jit
  32. # 执行configure操作检测当前系统环境,已确保能成功安装Nginx,如果出错,请检查上述安装前依赖包是否已经安装。

无报错信息:

6.执行make安装

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

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

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

7.通用方式启动nginx

  1. /usr/local/nginx/sbin/nginx #启动
  2. /usr/local/nginx/sbin/nginx -s reload #重启
  3. /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

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

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

 在文件添加下面内容:

  1. [Unit] # 记录service文件的通用信息
  2. Description=nginx - web server # Nginx服务描述信息
  3. After=network.target remote-fs.target nss-lookup.target # Nginx服务启动依赖,在指定服务之后启动
  4. [Service] # 记录service文件的service信息
  5. Type=forking # 标准UNIX Daemon使用的启动方式
  6. PIDFile=/usr/local/nginx/nginx.pid # Nginx服务的pid文件位置
  7. ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
  8. ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
  9. ExecReload=/usr/local/nginx/sbin/nginx -s reload
  10. ExecStop=/usr/local/nginx/sbin/nginx -s stop
  11. PrivateTmp=true
  12. [Install] # 记录service文件的安装信息
  13. WantedBy=multi-user.target # 多用户环境下启用

保存并退出后,

  1. systemctl enable nginx.service
  2. #开机启动
  1. #启动Nginx
  2. systemctl start nginx.service
  3. #终止nginx
  4. systemctl stop nginx.service
  5. #重启nginx
  6. systemctl restart nginx.service
  7. #查看nginx进程
  8. ps -ef | grep nginx

8.验证是否安装nginx成功

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

  1. firewall-cmd --permanent --add-port=80/tcp #在防火墙添加端口80
  2. # --permanent 策略写入到永久生效表中,立即生效
  3. firewall-cmd --reload #重启防火墙 或者 systemctl restart firewalld.service
  4. firewall-cmd --query-port=80/tcp #查看端口是否开启

安装完成!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/391111
推荐阅读
相关标签
  

闽ICP备14008679号