CentOS安装Nginx

环境配置

  1. 操作系统:CentOS
  2. 安装前先确保系统安装了如下库
1
2
yum -y install gcc-c++
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel

如果是Debian用户可以执行

1
apt install build-essential zlib1g-dev libpcre3-dev libssl-dev

下载Nginx

上传Nginx安装包nginx-1.21.5.tar.gz至服务器指定位置/usr/local/src并解压

1
2
3
4
cd /usr/local/src
# 解压
wget http://nginx.org/download/nginx-1.21.5.tar.gz
tar -zxvf nginx-1.21.5.tar.gz

编译、安装

需要SSL功能
configure增加--with-http_ssl_moduleSSL模块
需要HTTP2功能
configure增加--with-http_v2_moduleHTTP模块
需要SNI分流功能 即ssl_preread on;
configure增加--with-stream_ssl_preread_modulessl_preread模块
需要Gzip Static功能 即gzip_static on;
configure增加--with-http_gzip_static_modulessl_preread模块

1
2
3
4
5
6
7
# 进入解压后的目录
cd nginx-1.21.5

# 执行安装并指定安装位置
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream --with-http_v2_module --with-stream_ssl_preread_module --with-http_gzip_static_module
# 安装
make && make install

至此nginx安装成功。

已安装nginx追加模块

执行./nginx -V命令查看

1
2
3
4
5
nginx version: nginx/1.21.5
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: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream --with-http_v2_module --with-stream_ssl_preread_module --with-http_gzip_static_module

configure arguments后的参数复制剪切板。
进入nginx源代码目录后重新执行上方编译、安装功能功能。

1
2
3
4
5
6
7
# 进入源代码目录
cd /usr/local/src/nginx-1.21.5

# 将复制的参数放在configure后再追加自己想添加的模块
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream --with-http_v2_module --with-stream_ssl_preread_module --with-http_gzip_static_module
# 重新编译安装
make && make install

编译安装后,会自动在/usr/local/nginx/sbin/目录旧的nginx文件重命名为nginx.old。将新编译的nginx移动至这里。

1
2
3
4
# 进入目录后重启nginx
cd /usr/local/nginx/sbin/
./nginx -s stop
./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
# 启动
cd /usr/local/nginx/sbin/
./nginx

# 命令停止
./nginx -s stop

# 通过kill停止
ps -ef | grep nginx
kill -9 PID

# 重启
./nginx -s reload

# 帮助
./nginx -h

# 显示版本
./nginx -v

# 显示版本和配置信息
./nginx -V

# 测试配置
./nginx -t

# 测试配置时,只输出错误信息
./nginx -q

# 停止服务器
./nginx -s stop