源码安装nginx以及平滑升级
  作者:尹正杰
  版权声明:原创作品,谢绝转载!否则将追究法律责任。
    欢迎加入:高级运维工程师之路 598432640
 这个博客不方便上传软件包,我给大家把软件包放到百度云链接:http://pan.baidu.com/s/1eS3bn4u 密码:04a1
  操作平台:
    
 1.创建ngxin用户,(用于管理nginx服务,您也可以随意指定的哟~)
 [root@yinzhengjie ~]#useradd -s /sbin/nologin nginx
2.安装基础环境
 [root@yinzhengjie ~]#yum -y install gcc pcre-devel openssl-devel zlib-devel
 3.安装nginx
 [root@yinzhengjie ~]#wget http://nginx.org/download/nginx-1.3.10.tar.gz
 [root@yinzhengjie ~]#tar -zxvf nginx-1.3.10.tar.gz
 [root@yinzhengjie ~]#cd nginx-1.3.10
 [root@yinzhengjie ~]#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module
 [root@yinzhengjie ~]#make -j 4 && make install
 4.启动Nginx
 [root@yinzhengjie ~]#/usr/local/nginx/sbin/nginx              #启动nginx服务
 [root@yinzhengjie ~]#/usr/local/nginx/sbin/nginx -s stop         #停止nginx服务
 [root@yinzhengjie ~]#ss   -untalp | grep 80 #cenos7只能用ss命令查端口
  
启动服务成功之后,可以通过curl 127.0.0.1验证服务是否启动成功:
  
如果是其他机器要访问这个服务器的建议关闭防火墙策略和selinux,如果生产环境中开启iptables的话需要写规则!当然selinux也一样!
 5.创建nginx启动脚本
 [root@yinzhengjie ~]#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@yinzhengjie ~]#
 将这个脚本加执行权限放到/etc/init.d/下就可以用以下方式启动nginx了
   
 平滑升级
 1.上传新版本nginx到服务器上                                                                 
  
2./usr/local/nginx/sbin/nginx -v #查看当前Nginx版本
 
3.开始平滑升级
 [root@yinzhengjie ~]#tar -xzf nginx-1.9.15.tar.gz
 [root@yinzhengjie ~]#cd nginx-1.9.15
 [root@yinzhengjie ~]#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module
 [root@yinzhengjie ~]#make   #执行该命令后会生成objs/nginx目录
 [root@yinzhengjie ~]#mv /usr/local/nginx/sbin/nginx /var/tmp/nginxold  #这个步骤是为了备份之前的版本,如果升级失败的话可以回退的,切记要做好备份啊!
 [root@yinzhengjie ~]#cp objs/nginx /usr/local/nginx/sbin/ #这个步骤是将新版本的nginx启动程序拷贝过来
 [root@yinzhengjie ~]#make upgrade    #升级
  
[root@yinzhengjie ~]#/usr/local/nginx/sbin/nginx -v    #查看当前版本已经升级成功了
  