源码安装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 ~]#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    #查看当前版本已经升级成功了
 

源码安装nginx以及平滑升级的更多相关文章

  1. Linux之源码安装nginx,并按照作业一描述的那样去测试使用

    作业五:源码安装nginx,并按照作业一描述的那样去测试使用 [root@localhost nginx]# yum install gcc-* glibc-* openssl openssl-dev ...

  2. 源码安装Nginx以及用systemctl管理

    一.源码安装Nginx: 先安装gcc编译器(安装过的可以忽略) [root@localhost ~]# yum -y install gcc gcc-c++ wget 进入src目录 [root@l ...

  3. linux源码安装nginx

    任务目标:源码安装nginx,作为web服务修改配置文件,让配置生效,验证配置 首先要去官网nginx.org下载一个tar包: tar xvf 解包 进入到解包出来的目录,对configure进行配 ...

  4. 工作笔记-- 源码安装nginx

    源码安装nginx 1.安装nginx的依赖包 [root@localhost ~]# yum -y install gcc gcc-c++ openssl openssl-devel pcre pc ...

  5. 源码安装nginx 方法二

    yum 仓库不能用大写字母 [root@oldboy conf.d]# gzip * 压缩当前目录下的所有文件 gzip ./* gzip . gzip./ # 关闭防火墙和selinux [root ...

  6. 源码安装nginx env

    源码安装nginx 1. For ubuntu:18.04 apt -y install build-essential libtool libpcre3 libpcre3-dev zlib1g-de ...

  7. nginx使用-1(源码安装nginx)

    Nginx概述 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ramb ...

  8. redhat 5下源码安装nginx服务

    首先确保机器中已安装 gcc c++,libtool等工具,保证可执行源码安装 A.为了确保能在 Nginx 中使用正则表达式进行更灵活的配置,安装之前需要确定系统是否安装有 PCRE(Perl Co ...

  9. centos7 中源码安装nginx

    使用nginx有一段时间了,还是有很多东西不懂的,在这里做一下自己学习过程中的一些整理,能使自己得到提升. 1.环境:centos7 1511  最小化安装 2.下载nginx,可以在系统中下载,也可 ...

随机推荐

  1. 每个配置xml的含义作用

    参考链接 web.xml xxx-servlet.xml(例如:dispatcher-servlet.xml)是Spring MVC里的,控制器,拦截url,转发view,对应的是controller ...

  2. 切记CMYK图片格式在IE中将无法显示

    目前为止微软的Internet Explorer 浏览器IE6,IE7,IE8都不支持CMYK颜色模式图像 ,除IE外其他浏览器均能支持!所以大家要注意了 要选择RGB颜色模式,就可以了.

  3. 关于xampp使用不同端口的虚拟机

    1.打开apache/conf/httpd.conf文件加入listen 8080(监听的端口号) 然后加入 # Virtual hostsInclude "conf/extra/httpd ...

  4. MySQL- 锁(1)

    锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性.有效性是所有数 ...

  5. C#中String 和string 的区别

    C#中同时存在String与string MSDN中对string的说明: string is an alias for String in the .NET Framework.string是Str ...

  6. 插入图片<img>

    格式: <img src="图片地址" alt="下载失败时的替换文本" title="提示文本"> src:图像的位置 alt ...

  7. eclipse根据.wsdl文件自动生成webservice的调用客户端

    1.工具:eclipse3.3或者是带有webservice插件的eclipse 2. 首先用浏览器访问webservice的站点,接着保存打开的页面,后缀为.wsdl. 3.把保存好的文件拷入ecl ...

  8. 1057 N的阶乘

    1057 N的阶乘 基准时间限制:1 秒 空间限制:131072 KB 输入N求N的阶乘的准确值. Input 输入N(1 <= N <= 10000) Output 输出N的阶乘 Inp ...

  9. [LeetCode] Jump Game II(贪婪算法)

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  10. JMeter学习-016-思路篇之-山重水复柳暗花明

    首先,此文非技术类博文,为思路类的博文,敬请参阅,欢迎共同探讨! 今天在编写 JMeter 接口监控脚本时,遇到了一个问题,在解决问题的时候,思路出现了偏差,导致了自己在解决问题时,绕了弯,浪费了些时 ...