系统平台:CentOS Linux release 7.6.1810(64位)
一、安装编译工具及库文件
yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
依赖包说明:
1、编译依赖 gcc 环境,所以需要:gcc gcc-c++;
2、PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库,所以需要:pcre pcre-devel ;
3、zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库,所以需要:zlib zlib-devel ;
4、OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库,所以需要:openssl openssl-devel ;
二、从官方下载nginx1.16.0安装包
wget http://nginx.org/download/nginx-1.16.0.tar.gz
三、解压并安装
tar -xzvf nginx-1.16.0.tar.gz
cd nginx-1.16.0
–prefix是指定安装位置,–with-http是配置ssl模块
./configure --prefix=/usr/local/nginx --with-http_ssl_module
make && make install
四、测试安装是否成功
[root@fxt nginx-1.16.0]# /usr/local/nginx/sbin/nginx -v
nginx version: nginx/1.16.0
五、启动nginx服务
cd /usr/local/nginx/sbin
./nginx
六、验证服务是否启动成功
[root@fxt sbin]# netstat -ntlp | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 13737/nginx: master
七、添加nginx服务
vim /lib/systemd/system/nginx.service
将以下内容插入:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
八、以服务的方式启动nginx
pkill nginx
systemctl start nginx
九、查看服务是否启动
[root@fxt sbin]# systemctl status nginx
● nginx.service - nginx
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2019-08-09 11:51:10 CST; 12s ago
Process: 13771 ExecStart=/usr/local/nginx/sbin/nginx (code=exited, status=0/SUCCESS)
Main PID: 13772 (nginx)
CGroup: /system.slice/nginx.service
├─13772 nginx: master process /usr/local/nginx/sbin/nginx
└─13773 nginx: worker process
Aug 09 11:51:10 fxt systemd[1]: Starting nginx...
Aug 09 11:51:10 fxt systemd[1]: Started nginx.
[root@fxt sbin]# netstat -ntlp | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 13772/nginx: master
十、配置nginx服务自动启动
[root@fxt sbin]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.