记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

之前使用wdcp,被wdcp论坛中的各种一键升级脚本坑得死去活来。因为都是默认编译,所以这些脚本基本都没有附带任何功能。前不久在对抗CC攻击的过程中,文武双全把nginx和php都升级到目前的最高版本,顺便也解决了困扰我许久的wdcp下web服务拿不到真实ip的问题。特此奉上,根据wdcp官方论坛网友提供的nginx升级到任意版本的脚本,并且添加了新的编译语句。该脚本提供了附带识别真实ip的功能,用了各种cdn和阿里云的云盾的wdcp用户推荐使用哦。

wdcp下nginx升级脚本的下载和安装

nginx升级脚本的下载地址:http://www.yuandekai.com/down/2015/2/nginx_up.sh


把脚本丢到服务器的/root目录,或者登陆服务器后,使用

wget  http://www.yuandekai.com/down/2015/2/nginx_up.sh  命令下载;

然后执行命令 sh nginx_up.sh 1.7.9 ;   这里1.7.9你可以填写你想升级到的任意版本nginx的版本号,我反正是直接升级到目前最高的nginx1.7.9版本了。

个人建议:把服务器的nginx停掉再升级。我在nginx跑的时候升级,出现了两次升级完成后nginx.conf配置文件丢失的问题。。。我从老版本的nginx里复制了一份到升级后的nginx目录里,解决了这个问题。

脚本增加了http_realip_module的编译语句

http_realip_module语句可以识别使用各种cdn或者阿里云云盾后,nginx无法拿到访客真实ip的问题。在cdn日渐流行的当下,在linux安全软件日益普及的情况下,强烈建议使用nginx的时候,编译上该module。

具体的使用方法,请参考文武双全的另外一篇文章。http://www.yuandekai.com/3773.html


以下是脚本内容

#!/bin/bash
# nginx update scripts
# url http://www.wdlinux.cn
# author wdlinux
if [ ! $1 ];then
    ver="1.2.9"
else
    ver=$1
fi
cd /tmp
wget http://down.wdlinux.cn/in/pcre_ins.sh
sh pcre_ins.sh
wget -c http://nginx.org/download/nginx-$ver.tar.gz
[ $? != 0 ] && echo "down err" && exit
tar zxvf nginx-$ver.tar.gz
cd nginx-$ver
./configure --user=www --group=www --prefix=/www/wdlinux/nginx-$ver --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module
[ $? != 0 ] && echo "configure err" && exit
make
[ $? != 0 ] && echo "make err" && exit
make install
[ $? != 0 ] && echo "make install err" && exit
mv /www/wdlinux/nginx-$ver/conf/nginx.conf /www/wdlinux/nginx-$ver/conf/nginx.conf.default
cp -pR /www/wdlinux/nginx/conf/* /www/wdlinux/nginx-$ver/conf/
service nginxd stop
rm -f /www/wdlinux/nginx
ln -sf /www/wdlinux/nginx-$ver /www/wdlinux/nginx
sed -i '/limit_zone/d' /www/wdlinux/nginx/conf/nginx.conf
service nginxd start
echo
echo
echo "Nginx Update Is OK"
echo "Current Ver Is:$ver"
echo




转载请标明出处【wdcp环境下nginx升级到任意版本的脚本—附带识别cdn和云盾真实ip的功能】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论