1.安装编译所需的依赖项:
yum install -y gcc pcre-devel openssl-devel zlib-devel
2.下载 Nginx 源代码:
wget http://nginx.org/download/nginx-1.21.3.tar.gz
tar -xf nginx-1.21.3.tar.gz
cd nginx-1.21.3
3.配置编译选项并进行编译和安装:
./configure --prefix=/usr/local/nginx --with-http_ssl_module make
make install
4.创建 Nginx 服务脚本:
nano /etc/systemd/system/nginx.service
-----------------------------------------------------------------------------------------
在编辑器中,将以下内容粘贴到文件中:
````service
[Unit]
Description=Nginx HTTP Server
After=network.target
[Service]
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
KillMode=process
Restart=on-failure
RestartSec=3s
[Install]
WantedBy=multi-user.target
```
其中:
在
[Unit]
部分,我们指定了服务的描述和依赖关系。Description
字段是对服务的简要描述。After
字段指定在启动服务之前需要等待的目标,这里是network.target
,表示在网络服务启动之后才启动 Nginx。在
[Service]
部分,我们定义了服务的启动、重启和停止的行为。ExecStart
字段指定启动服务时要运行的命令。这里是/usr/local/nginx/sbin/nginx
,它将启动 Nginx。ExecReload
字段指定重新加载配置文件时要运行的命令,这里是/usr/local/nginx/sbin/nginx -s reload
,它将重新加载 Nginx 的配置文件,以便应用任何更改。ExecStop
字段指定停止服务时要运行的命令,这里是/usr/local/nginx/sbin/nginx -s stop
,它将停止 Nginx。
KillMode=process
表示在停止服务时,使用SIGTERM
信号终止 Nginx 进程。
Restart=on-failure
表示如果服务启动失败,将自动尝试重新启动。
RestartSec=3s
表示在重新启动服务之前等待的时间间隔。在
[Install]
部分,我们指定了服务的安装位置。WantedBy=multi-user.target
表示服务将在多用户模式下启动。
5.保存并关闭文件。
6.启用并启动 Nginx 服务:
systemctl enable nginx
systemctl start nginx
现在,您已经成功地在 CentOS 7 上通过源码编译安装了 Nginx,并创建了一个服务脚本来管理 Nginx 服务。可以使用 sudo systemctl start nginx
启动服务,使用 sudo systemctl stop nginx
停止服务,使用 sudo systemctl restart nginx
重启服务。网页服务器应该已经可用并正在监听端口 80。