【记录】阿里云ECS CentOS 7.4 64位,原Nginx 1.14.2,升级为Nginx1.16.0,升级完以后服务器无法启动。

[root@localhost ~]# service nginx restart
Restarting nginx (via systemctl): Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
[FAILED]

通过”systemctl status nginx.service -l”近一步查询得知原来是没有安装相应模块。安装完模块以后完美解决问题,以下为全过程。

一、安装Nginx1.16.0

[root@localhost ~]# 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 ;

二、从官网下载安装包

[root@localhost ~]# wget https://nginx.org/download/nginx-1.16.0.tar.gz

三、解压并安装

[root@localhost ~]# tar zxvf nginx-1.16.0.tar.gz
[root@localhost ~]# cd nginx-1.16.0
[root@localhost nginx-1.16.0]# ./configure --prefix=/usr/local/nginx
[root@localhost nginx-1.16.0]# make && make install

四、测试安装是否成功

[root@localhost nginx-1.16.0]# /usr/local/nginx/sbin/nginx -V

nginx version: nginx/1.16.0

built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)

configure arguments: --prefix=/usr/local/nginx

//已安装成功

五、安装模块(也可以在第三步安装时一并安装)

[root@localhost nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module

//在此添加需要开启的模块

六、启动nginx服务

[root@localhost ~]# cd /usr/local/nginx/sbin
[root@localhost sbin]# ./nginx

//已成功启动

查看已开启模块

[root@localhost nginx-1.16.0]# nginx -V
nginx version: nginx/1.16.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module

可以看到已经开启了stub_status、http_ssl、http_v2模块,至此问题得到解决。

本文由SUNSEO原创编辑,转载请注明来源及版权归属。

标签:



发表评论 取消回复

电子邮件地址不会被公开。 必填项已用*标注