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。

相关推荐
嘿嘿嘿x36 分钟前
MobaXterm 成功连接 Ubuntu 虚拟机
linux·运维·ubuntu
万能菜道人7 分钟前
多次连接共享内存大小不一致在win和linux的区别
linux·运维·服务器
嵌入式×边缘AI:打怪升级日志10 分钟前
2.3.1 Linux 命令行介绍:Shell、PATH与第一个Hello程序
linux·运维·服务器
猪猪侠|ZZXia13 分钟前
# Openssl关键知识
linux·网络
机 _ 长20 分钟前
NVIDIA 显卡驱动安装指南 (CentOS Stream 9 / RTX 5090)
linux·运维·centos
济6171 小时前
ARM Linux 驱动开发篇--- Linux 并发与竞争实验(互斥体实现 LED 设备互斥访问)--- Ubuntu20.04互斥体实验
linux·stm32·嵌入式linux驱动开发
16Miku1 小时前
OpenClaw-Linux+飞书官方Plugin安装指南
linux·ai·飞书·agent·openclaw·feishu
the sun342 小时前
打通嵌入式与 Linux:USB 转串口通信实战
linux·运维·服务器
XMYX-02 小时前
Zabbix 7.0 自定义 Linux 监控模板(Agent Active版,支持CPU/内存/磁盘/网卡自动发现)
linux·zabbix
进击切图仔2 小时前
linux 虚拟文件系统简介和详解
linux·运维·服务器