Cwww3's Blog

Record what you think

0%

Nginx

Nginx

二进制安装

安装地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 解压nginx压缩包并进入nginx-1.20.2
tar -xf nginx-1.20.2.tar.gz && cd nginx-1.20.2

# 安装所需软件
yum install -y pcre pcre-devel #支持nginx的正则
yum install -y openssl openssl-devel #加密认证

# 执行./configure 配置环境 生成Makefile文件
# prefix指定安装的路径
./configure --user=nginx --group=nginx --prefix=/etc/nginx/ --with-http_stub_status_module --with-http_ssl_module --with-pcre

# 编译并且安装
make&&make install

# 配置PATH路径
export PAHT=$PATH:/etc/nginx/sbin

Nginx命令

1
2
3
4
5
6
7
8
9
10
11
12
# 显示nginx的版本号和编译信息
nginx -V
# 检查默认配置文件 /etc/nginx/conf/nginx.conf
nginx -t
# 检查指定配置文件
nginx -t -c xxx.conf
# 启动
nginx
# 重新加载配置文件
nginx -s reload
# 关闭
nginx -s quit

添加到Systemd中管理

  • Systemctl 介绍
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
28
29
# 查看版本
systemctl --version
# 列出所有可用单元(服务)
systemctl list-unit-files
# 列出所有运行中的单元
systemctl list-units
# 列出所有失败的单元
systemctl --failed
# 查看自启动的软件
systemctl list-unit-files | grep enable
# 修改了配置文件后,重载配置文件
systemctl daemon-reload

# 查看nginx是否开机启动
systemctl is-enabled nginx.service
# 查看nginx状态
systemctl status nginx.service
# 启动nginx单元
systemctl start nginx.service,
# 重启nginx单元
systemctl restart nginx.service
# 停止nginx单元
systemctl stop nginx.service
# 重载nginx配置
systemctl reload nginx.service,
# 设置开机自启动。
systemctl enable nginx.service
# 关闭开机自启动
systemctl disable nginx.service
  • 将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
# 在系统服务目录里创建nginx.service文件
vim /usr/lib/systemd/system/nginx.service
# 写入
[Unit] # 服务的说明
Description=nginx # 描述服务
After=network.target # 描述服务类别

[Service] # 服务运行参数的设置
Type=forking # 后台运行的形式
# [Service]的启动、重启、停止命令全部要求使用绝对路径
ExecStart=/etc/nginx/sbin/nginx # 服务的具体运行命令
ExecReload=/etc/nginx/sbin/nginx -s reload # 重启命令
ExecStop=/etc/nginx/sbin/nginx -s quit # 停止命令
PrivateTmp=true # PrivateTmp=True表示给服务分配独立的临时空间

[Install] # [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
WantedBy=multi-user.target

# 加载配置
systemctl daemon-reload

# 启动nginx
systemctl start nginx
# 开机自启动nginx
systemctl enable nginx

添加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
28
29
30
31
32
33
34
35
36
# 创建并进入目录
madir -p /data/software && cd /data/software
# 下载
git clone git@github.com:arut/nginx-rtmp-module.git
# 查看 nginx编译信息
nginx -V

nginx version: nginx/1.20.2
built by gcc 8.5.0 20210514 (Red Hat 8.5.0-4) (GCC)
built with OpenSSL 1.1.1k FIPS 25 Mar 2021
TLS SNI support enabled
configure arguments: --user=nginx --group=nginx --prefix=/etc/nginx/ --with-http_stub_status_module --with-http_ssl_module --with-pcre

# 停止nginx
systemctl stop nginx

# 进入nginx安装目录
cd /usr/local/src/nginx-1.20.2

# 执行 通过 --add-module添加刚才git下载的模块
./configure --user=nginx --group=nginx --prefix=/etc/nginx/ --with-http_stub_status_module --with-http_ssl_module --with-pcre --add-module=/data/software/nginx-rtmp-module

# 执行make
make # 不需要执行make install不然会覆盖

# 替换nginx二进制文件
cp /etc/nginx/sbin/nginx /etc/nginx/sbin/nginx.bak
rm /etc/nginx/sbin/nginx
cp ./objs/nginx /etc/nginx/sbin/nginx

# 执行nginx -V 查看配置
nginx version: nginx/1.20.2
built by gcc 8.5.0 20210514 (Red Hat 8.5.0-4) (GCC)
built with OpenSSL 1.1.1k FIPS 25 Mar 2021
TLS SNI support enabled
configure arguments: --user=nginx --group=nginx --prefix=/etc/nginx/ --with-http_stub_status_module --with-http_ssl_module --with-pcre --add-module=/data/software/nginx-rtmp-module
Donate comment here.