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。

相关推荐
wdfk_prog29 分钟前
[Linux]学习笔记系列 -- [drivers][input]input
linux·笔记·学习
盟接之桥1 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
忆~遂愿1 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
湘-枫叶情缘1 小时前
1990:种下那棵不落叶的树-第6集 圆明园的对话
linux·系统架构
Fcy6482 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满2 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠3 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Gary Studio3 小时前
rk芯片驱动编写
linux·学习
mango_mangojuice3 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
Harvey9033 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s