Nginx常用版本四大阵营

环境准备

  服务器:CentOS7
  Nginx版本:1.21.6
  虚拟机搭建可参考:《win10下VMware15安装CentOS7虚拟机》
  Nginx安装包官网下载地址:http://nginx.org/download/

1. 依赖下载

  执行命令yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel进行全部安装。

GCC编译器

  Nginx 是使用 C 语言编写的程序,因此想要运行 Nginx 就需要安装一个编译工具。GCC 就是一个开源的编译器集合,用于处理各种各样的语言,其中就包含了 C 语言。
  使用命令yum install -y gcc来安装。
  可以通过gcc --version来查看 gcc 是否安装成功。

PCRE

  Nginx 在编译过程中需要使用到 PCRE 库(perl Compatible Regular Expressoin 兼容正则表达式库),因为在 Nginx 的 Rewrite 模块和 http 核心模块都会使用到 PCRE 正则表达式语法。
  使用命令yum install -y pcre pcre-devel来进行安装。
  可以通过rpm -qa pcre pcre-devel来查看是否安装成功。

zlib

  zlib 库提供了开发人员的压缩算法,在 Nginx 的各个模块中需要使用 gzip 压缩,所以我们也需要提前安装其库及源代码 zlib 和 zlib-devel。
  可以使用命令yum install -y zlib zlib-devel来进行安装。
  可以通过rpm -qa zlib zlib-devel来查看是否安装成功。

OpenSSL

  OpenSSL 是一个开放源代码的软件库包,应用程序可以使用这个包进行安全通信,并且避免被窃听。
  SSL:Secure Sockets Layer 安全套接协议的缩写,可以在 Internet 上提供秘密性传输,其目标是保证两个应用间通信的保密性和可靠性。在 Nginx 中,如果服务器需要提供安全网页时就需要用到 OpenSSL 库,所以我们需要对 OpenSSL 的库文件及它的开发安装包进行一个安装。
  可以使用命令yum install -y openssl openssl-devel来进行安装。
  可以通过rpm -qa openssl openssl-devel来查看是否安装成功。

2. 安装部署

  1. 安装包上传到服务器中;
  2. 执行命令tar -xzf nginx-1.21.6.tar.gz解压安装包;
  3. 进入解压后的目录,执行命令./configure --prefix=/usr/local/nginx
  4. 执行命令make进行编译;
  5. 执行命令make install进行安装。

3. 常用命令

  进入安装好的目录/usr/local/nginx/sbin

1
2
3
4
./nginx				启动
./nginx -s stop 快速停止
./nginx -s quit 优雅关闭,在退出前完成已经接受的连接请求
./nginx -s reload 重新加载配置

  关于防火墙的命令:

1
2
3
4
systemctl stop firewalld.service		关闭防火墙
systemctl disable firewalld.service 禁止防火墙开机启动
firewall-cmd --zone=public --add-port=80/tcp --permanent 放行端口
firewall-cmd --reload 重启防火墙

4. 将Nginx安装成系统服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
创建服务脚本:
vi /usr/lib/systemd/system/nginx.service

服务脚本内容:
[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/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]
WantedBy=multi-user.target

重新加载系统服务:
systemctl daemon-reload
启动服务:
systemctl start nginx.service
开机启动:
systemctl enable nginx.service