今天小站站长处理一个用户nginx从1.8.1升级到1.16.0的问题,网上查找了wdcp的官方升级脚本,发现执行总是报错:./configure: error: C compiler cc is not found 但实际已经安装了,但依然报错,无奈只有自己手动升级,升级前进行备份。
拷贝备份nginx
cp -rf /www/wdlinux/nginx-1.8.1 /www/wdlinux/nginx-1.8.1_bak
查看原编译参数
/www/wdlinux/nginx/sbin/nginx -V
注意是大写字母V,下图是查询列出来的原来编译参数。
cd /tmp wget http://nginx.org/download/nginx-1.16.0.tar.gz tar xzvf nginx-1.16.0.tar.gz cd nginx-1.16.0 ./configure --user=www --group=www --prefix=/www/wdlinux/nginx-1.16.0/ --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_m p4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_stub_status_module --with-mail --with-mail_ssl_module
编译安装
make -j 4 && make install #编译安装
这里编译的时候出现一个小插曲,1.8.1版本编译时有--with-http_spdy_module模块,但1.16.0版本编译的时候报错,如下图所示:
查找官方模块资料以后才得知该模块已由1.9.5版本中的ngx_http_v2_module模块替换了,原文:http://nginx.org/ru/docs/http/ngx_http_spdy_module.html 所以编译的时候去掉这个即可。
注意:小站站长遇到的是自己版本模块编译问题,具体遇到什么问题要根据实际情况而定。
执行完编译安装以后,替换原来的nginx:
service nginx stop #停止原nginx服务 rm -f /www/wdlinux/nginx #删除原nginx软链,原来nginx是做软链到nginx-1.8.1 mv /www/wdlinux/nginx-1.16.0/conf /www/wdlinux/nginx-1.16.0/conf_bak #重命名1.16版本配置文件目录 cp -pR /www/wdlinux/nginx-1.8.1/conf /www/wdlinux/nginx-1.16.0 #复制原配置文件到1.16版本目录 ln -s /www/wdlinux/nginx-1.16.0 /www/wdlinux/nginx #重新添加nginx软链 /www/wdlinux/nginx/sbin/nginx -t #测试配置文件 /www/wdlinux/nginx/sbin/nginx -v #查看版本 service nginxd start
小站站长这里又遇到一个小问题,在检测配置时nginx 报错 : [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead,查找资料原来是现在高版本不需要再写 ssl on了,用户启用了SSL证书,所以报错,修改为listen 443 ssl后配置文件检测通过,重启以后发发现浏览器报错ERR_SSL_PROTOCOL_ERROR,查找资料后将server里面修改为listen 443 default ssl就正常了,升级完成。
» 本文链接地址:https://blog.mydns.vip/2009.html
最新评论
我的站目前每天120个IP,其中刷的是100个。 不知道为什么升级到4H8G5M的标准服务器还是偶尔会崩,CPU占满,但是内存一般这种时候只占50%左右,这是为什么呢?max_children我也设
麻烦发下检测工具
让我下载