首页 > 代码库 > 源码安装nginx以及平滑升级

源码安装nginx以及平滑升级

                                                       源码安装nginx以及平滑升级
 
                                                                                                                                            作者:尹正杰
 
这个博客不方便上传软件包,我给大家把软件包放到百度云了:
                                                     链接:http://pan.baidu.com/s/1eS3bn4u 密码:04a1
欢迎加入:高级运维工程师之路 598432640
 
操作平台:
技术分享
 
技术分享 
1.创建ngxin用户,(用于管理nginx服务,您也可以随意指定的哟~)
useradd -s /sbin/nologin nginx
2.安装基础环境
yum -y install gcc pcre-devel openssl-devel zlib-devel
3.安装nginx
wget http://nginx.org/download/nginx-1.3.10.tar.gz
tar -zxvf nginx-1.3.10.tar.gz
cd nginx-1.3.10
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module
make -j 4 && make install
4.启动Nginx
/usr/local/nginx/sbin/nginx              #启动nginx服务
/usr/local/nginx/sbin/nginx -s stop         #停止nginx服务
ss   untalp | grep 80 #cenos7只能用ss命令查端口
技术分享
 技术分享

 

启动服务成功之后,可以通过curl 127.0.0.1验证服务是否启动成功:
技术分享
 技术分享

 

如果是其他机器要访问这个服务器的建议关闭防火墙策略和selinux,如果生产环境中开启iptables的话需要写规则!当然selinux也一样!
5.创建nginx启动脚本
[root@bogon ~]# cat nginx
#!/bin/bash
#chkconfig: 2345 89 89
#Description:This is Nginx web script"
PID="/usr/local/nginx/logs/nginx.pid"
start(){
        /usr/local/nginx/sbin/nginx
        if [ $? -eq 0 ];then
                echo -en "Starting Nginx...\t\t\t["
                echo -en "\033[32;34mOK\033[0m"
                echo "]"
        else
                echo "Starting Nginx Error"
        fi
}
stop(){
        /usr/local/nginx/sbin/nginx -s stop
        if [ $? -eq 0 ];then
                echo -en "Stop Nginx...\t\t\t["
                echo -en "\033[32;34mOK\033[0m"
                echo "]"
        else
                echo "Stop Nginx Error"
        fi
}
status(){
        if [ -f $PID ];then
                ID=$(cat $PID)
                echo "Ngix($ID) is running..."
        else
                echo "Nginx is stop"
        fi
}
case $1 in
start)
        start;;
stop)
        stop;;
restart)
        stop
        start
        ;;
status)
        status;;
*)
        echo "Usage:$0 {start|stop|restart|status}"
esac
[root@bogon ~]#
将这个脚本加执行权限放到/etc/init.d/下就可以用以下方式启动nginx了
技术分享
 技术分享 
                                                         平滑升级
1.上传新版本nginx到服务器上                                                                 
技术分享
 技术分享

 

2./usr/local/nginx/sbin/nginx -v #查看当前Nginx版本
技术分享技术分享
 
3.开始平滑升级
tar -xzf nginx-1.9.15.tar.gz
cd nginx-1.9.15
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module
make   #执行该命令后会生成objs/nginx目录
mv /usr/local/nginx/sbin/nginx /var/tmp/nginxold  #这个步骤是为了备份之前的版本,如果升级失败的话可以回退的,切记要做好备份啊!
cp objs/nginx /usr/local/nginx/sbin/ #这个步骤是将新版本的nginx启动程序拷贝过来
make upgrade    #升级
技术分享
 技术分享

 

/usr/local/nginx/sbin/nginx -v    #查看当前版本已经升级成功了
技术分享
 技术分享

 

源码安装nginx以及平滑升级