源码安装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. Laravel timestamps 设置为unix时间戳

    Laravel timestamps 设置为unix时间戳 class BaseModel extends Eloquent { /** * 默认使用时间戳戳功能 * * @var bool */ p ...

  2. x5设置经典门户登录

    runtime\UIServer\index.jsp   java.lang.String url = request.getContextPath() + "/portal2/proces ...

  3. ExtJS 刷新或者重载Tree后,默认选中刷新前最后一次选中的节点代码片段

    //tree对象 var tree = Main.getPageControler().treePanel; //获取选中的节点 var node = tree.getSelectionModel() ...

  4. epoll 应用

    /*  * test_bittube.cpp  *  *  Created on: 2015年7月13日  *      Author: ting.guit  */ #include <bind ...

  5. python中的类,对象,方法,属性等介绍

    注:这篇文章写得很好.加底纹的是我自己的理解 python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性( ...

  6. SQL Server数据库层面自定义数据同步性能测试

    场景: A DB Server位于上海 B DB Server位于广州 现有特殊需求,需要通过数据链接将数据从A服务器表T1数据同步至B表T2 性能测试: 现模拟T1表9000笔数据 方式一:直接将9 ...

  7. php练习:每5个商品一排

    老板说: 我要一行5个商品,每个长得都不一样 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  8. [LeetCode] Combinations (bfs bad、dfs 递归 accept)

    Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exampl ...

  9. HighCharts -教程+例子

    Highchart简介:   Highcharts是一款免费开源的纯javascript编写的图表库,能够很简单便捷的在Web网站或Web应用中添加交互性的图表,  Highcharts目前支持直线图 ...

  10. Metro中控件WebView访问外部的网页显示一片空白

    Metro中控件WebView访问外部的网页显示一片空白 解决方案: ​下载安装了Initex.Software.Proxifier.v3.21.Standard.Edition.Incl.Keyma ...