centos系统源码编译安装nginx,并编写服务脚本

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。

相关推荐
酸菜。1 小时前
dw_axi_dmac总结
linux
神奇霸王龙1 小时前
Agent 准入门控屠夫:5 旗舰 4 维度评估
linux·运维·数据库·ai·ai作画·agent·ai编程
小绫网络安全4 小时前
Kali Linux渗透测试入门教程:从零搭建到实战攻防
linux·运维·服务器
西安景驰电子4 小时前
《PTP精确时间协议系列》第一篇:从原理到应用,全面解读IEEE 1588
linux·运维·服务器·开发语言·网络·windows·php
猫吃了源码5 小时前
k9s简介和安装
linux·docker·kubernetes
小马同学-6 小时前
高可用-Keepalived全解析
linux·运维
Forever Nore6 小时前
LeetCode 13 罗马数字转整数 - 按规则处理
linux·服务器·leetcode
我不会插花弄玉7 小时前
2.Linux基础指令下【由浅入深-Linux】
linux·服务器
雯宝8 小时前
3. 驱动框架(块设备)
linux
静止了 所有的花开8 小时前
Ubuntu 26.04 静态 IP 配置不生效解决方法
linux·ubuntu·静态ip