• centos 7 编译安装nginx 及添加 nginx 到系统服务


    一、安装准备

    首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装

    $   yum install gcc-c++  
    $   yum install pcre pcre-devel  
    $   yum install zlib zlib-devel  
    $   yum install openssl openssl--devel  

    二、安装Nginx

    安装之前,最好检查一下是否已经安装有nginx

    $   find -name nginx  
    

    如果系统已经安装了nginx,那么就先卸载

    $   yum remove nginx  
    

    首先进入/usr/local目录

    $   cd /usr/local  
    

    从官网下载最新版的nginx

    $   wget http://nginx.org/download/nginx-1.7.4.tar.gz  
    

    解压nginx压缩包

    $   tar -zxvf nginx-1.7.4.tar.gz  
    

    会产生一个nginx-1.7.4 目录,这时进入nginx-1.7.4目录

    $   cd  nginx-1.7.4  
    

    接下来安装,使用--prefix参数指定nginx安装的目录,make、make install安装

    $   ./configure  $默认安装在/usr/local/nginx   
    $   make  
    $   make install 
    

    如果没有报错,顺利完成后,最好看一下nginx的安装目录

    $   whereis nginx 
    

    安装完毕后,进入安装后目录(/usr/local/nginx)便可以启动或停止它了。

    Nginx常用命令

    //测试配置文件
    安装路径下的/nginx/sbin/nginx -t

    //查看进程命令
    ps -ef | grep nginx

    //启动命令
    安装路径下的/nginx/sbin/nginx
    //停止命令
    安装路径下的/nginx/sbin/nginx -s stop
    或者 : nginx -s quit
    //重启命令
    安装路径下的/nginx/sbin/nginx -s reload

    配置防火墙
    //打开防火墙文件
    sudo vim /etc/sysconfig/iptables
    //新增行  开放80端口
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
    //保存退出
    //重启防火墙
    sudo service iptables restart

       Nginx虚拟域名配置及测试验证

    //编辑nginx.conf
    sudo vim /usr/local/nginx/conf/nginx.conf
    //增加行 
    include vhost/*.conf
    //保存退出
    //在/usr/local/nginx/conf目录新建vhost文件夹
    mkdir vhost
    //创建每个域名的配置
    sudo vim jimisun.com.conf
    //节点中增加入响应的配置 端口转发 或者访问文件系统

    三、添加Nginx到系统服务

    创建nginx启动命令脚本

    vi /etc/init.d/nginx
    

    插入以下内容, 注意修改PATH和NAME字段, 匹配自己的安装路径 

    #! /bin/bash
    # chkconfig: - 85 15
    PATH=/usr/local/nginx
    DESC="nginx daemon"
    NAME=nginx
    DAEMON=$PATH/sbin/$NAME
    CONFIGFILE=$PATH/conf/$NAME.conf
    PIDFILE=$PATH/logs/$NAME.pid
    SCRIPTNAME=/etc/init.d/$NAME
    set -e
    [ -x "$DAEMON" ] || exit 0
    do_start() {
    $DAEMON -c $CONFIGFILE || echo -n "nginx already running"
    }
    do_stop() {
    $DAEMON -s stop || echo -n "nginx not running"
    }
    do_reload() {
    $DAEMON -s reload || echo -n "nginx can't reload"
    }
    case "$1" in
    start)
    echo -n "Starting $DESC: $NAME"
    do_start
    echo "."
    ;;
    stop)
    echo -n "Stopping $DESC: $NAME"
    do_stop
    echo "."
    ;;
    reload|graceful)
    echo -n "Reloading $DESC configuration..."
    do_reload
    echo "."
    ;;
    restart)
    echo -n "Restarting $DESC: $NAME"
    do_stop
    do_start
    echo "."
    ;;
    *)
    echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
    exit 3
    ;;
    esac
    exit 0
    

    设置执行权限

    chmod a+x /etc/init.d/nginx

    注册成服务

    chkconfig --add nginx

    设置开机启动

    chkconfig nginx on
    

    重启, 查看nginx服务是否自动启动

    shutdown -h 0 -r
    netstat -apn|grep nginx

    对nginx服务执行停止/启动/重新读取配置文件操作

    #启动nginx服务
    systemctl start nginx.service
    #停止nginx服务
    systemctl stop nginx.service
    #重启nginx服务
    systemctl restart nginx.service
    #重新读取nginx配置(这个最常用, 不用停止nginx服务就能使修改的配置生效)
    systemctl reload nginx.service
    

     

    以上分别转载自  http://www.jb51.net/article/106323.htm  及  http://www.cnblogs.com/lxg0/p/6979274.html

    既不回头,何必不忘; 既然无缘,何须誓言; 今日种种,逝水无痕; 明夕何夕,君已陌路;
  • 相关阅读:
    前端面试题及答案整理(一)
    关于提高网站性能的几点建议(二)
    关于提高网站性能的几点建议(一)
    基于ArcGIS JS API的在线专题地图实现
    关于婚姻的本质(转)
    14亿人的战争:中国人用了30年望见计算力的珠峰(转载)
    高效能人士的七个习惯--读书笔记
    乔布斯在斯坦福大学的演讲
    疫情加速医疗信息化行业景气上升,医疗信息化新黄金时代即将开启(转自公众号:先知研报)
    oracleXEUniv最大连接数修改
  • 原文地址:https://www.cnblogs.com/zyjfire/p/7605623.html
Copyright © 2020-2023  润新知