zoukankan      html  css  js  c++  java
  • Linux安装配置nginx

    进入:/usr/local/src位置

    下载nginx:    wget http://nginx.org/download/nginx-1.8.0.tar.gz
    
    下载openssl : wget http://www.openssl.org/source/openssl-fips-2.0.9.tar.gz
    
    下载zlib    : wget http://zlib.net/zlib-1.2.8.tar.gz
    
    下载pcre    : wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz

    如果没有安装c++编译环境,还得安装,通过yum install gcc-c++完成安装

    下一步,编译安装

    openssl :

     
    [root@localhost] tar zxvf openssl-fips-2.0.9.tar.gz
    
     
    
    [root@localhost] cd openssl-fips-2.0.9
    
     
    
    [root@localhost] ./config && make && make install
    

      

    pcre:

     
    [root@localhost] tar zxvf pcre-8.36.tar.gz
    
     
    
    [root@localhost] cd pcre-8.36
    
     
    
    [root@localhost]  ./configure && make && make install
    

      

    zlib:

    [root@localhost]tar zxvf zlib-1.2.8.tar.gz
    
     
    
    [root@localhost] cd zlib-1.2.8
    
     
    
    [root@localhost]  ./configure && make && make install
    

      

    最后安装nginx

    [root@localhost]tar zxvf nginx-1.8.0.tar.gz
    
     
    
    [root@localhost] cd nginx-1.8.0
    
     
    
    [root@localhost]  ./configure && make && make install
    

      

     启动nginx

    /usr/local/nginx/sbin/nginx



    出现错误提示

    [root@localhost lib]# error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
    
    原因   在RedHat 64位机器上nginx读取的pcre文件为/lib64/libpcre.so.1文件,默认安装pcre时libpcre.so文件安装在/usr/local/lib/目录下,所以输入/opt/nginx/sbin/nginx -V 找不到文件路径!!
    
    1.首先确定安装了pcre.
    
    2.切换路径: cd /usr/local/lib  执行   ln -s /usr/local/lib/libpcre.so.1 /lib64/
    
    3.root权限下添加软链接 /usr/local/lib/libpcre.so.1 到 /lib64/ :  ln -s /usr/local/lib/libpcre.so.1 /lib64/
    

      

    ps –ef|grep nginx
    

      

    将Nginx设置为开机自动启动

    a.当上面步骤完成之后,说明安装已经完全成功了,但是每次开机我们面临的一个问题,就是每次都要执行命令(1: cd /usr/local/nginx/sbin/   2:./nginx -t),那么这时候有这个需要,设置开机自启动,开机自动启动的命令为:将Nginx的启动命令添加到/etc/rc.local,命令如下:

    echo "/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf" >> /etc/rc.local

    b.然后将Linux关机重启测试一下,如果http://IP还能够访问,则说明配置成功了,我这边已测试,配置完全成功。

    回到顶部

    使用server命令启动nginx服务

       a.  现在觉得启动命令太麻烦,虽然开机可以自启动,但是每次改动要重新启动nginx的话,要么输入命令,要么开机,都还不是很好,那么我们能不能创造一个更好的方式呢?当然可以,我们可以通过设置System V脚本。

      b.脚本代码如下所示:

     server命令的代码

    #!/bin/sh 
    # 
    # nginx - this script starts and stops the nginx daemon 
    # 
    # chkconfig: - 85 15 
    # description: Nginx is an HTTP(S) server, HTTP(S) reverse  
    #   proxy and IMAP/POP3 proxy server 
    # processname: nginx 
    # config: /etc/nginx/nginx.conf 
    # config: /etc/sysconfig/nginx 
    # pidfile: /var/run/nginx.pid 
    # Source function library. 
    . /etc/rc.d/init.d/functions 
    # Source networking configuration. 
    . /etc/sysconfig/network 
    # Check that networking is up. 
    [ "$NETWORKING" = "no" ] && exit 0 
        nginx="/usr/local/nginx/sbin/nginx" 
        prog=$(basename $nginx) 
        NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" 
    [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx 
        lockfile=/var/lock/subsys/nginx 
     
    start() { 
        [ -x $nginx ] || exit 5 
        [ -f $NGINX_CONF_FILE ] || exit 6 
        echo -n $"Starting $prog: " 
        daemon $nginx -c $NGINX_CONF_FILE 
        retval=$? 
        echo 
    [ $retval -eq 0 ] && touch $lockfile 
        return $retval 
    } 
     
    stop() { 
        echo -n $"Stopping $prog: " 
        killproc $prog -QUIT 
        retval=$? 
        echo 
    [ $retval -eq 0 ] && rm -f $lockfile 
        return $retval 
        killall -9 nginx 
    } 
     
    restart() { 
        configtest || return $? 
        stop 
        sleep 1 
        start 
    } 
     
    reload() { 
        configtest || return $? 
        echo -n $"Reloading $prog: " 
        killproc $nginx -HUP 
        RETVAL=$? 
        echo 
    } 
     
    force_reload() { 
        restart 
    } 
     
    configtest() { 
        $nginx -t -c $NGINX_CONF_FILE 
    } 
     
    rh_status() { 
        status $prog 
    } 
     
    rh_status_q() { 
        rh_status >/dev/null 2>&1 
    } 
     
    case "$1" in 
        start) 
            rh_status_q && exit 0 
            $1 
        ;; 
        stop) 
            rh_status_q || exit 0 
            $1 
        ;; 
        restart|configtest) 
            $1 
        ;; 
        reload) 
            rh_status_q || exit 7 
            $1 
        ;; 
        force-reload) 
            force_reload 
        ;; 
        status) 
            rh_status 
        ;; 
        condrestart|try-restart) 
            rh_status_q || exit 0 
        ;; 
        *) 
            echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" 
            exit 2 
    esac 
    
    server命令的代码

      c.创建命令如下,手先跳转到/etc/init.d下创建nginx启动脚本文件,命令如下;

        c.1 cd /etc/init.d/
    
        c.2 vim nginx  创建一个新的nginx文件,将上面的命令代码copy到里面,然后保存

      d.修改脚本权限,命令如下:

    chmod 755 nginx

      e.将脚本文件加入到chkconfig中  

    chkconfig --add nginx

      f.设置nginx开机在3和5级别自动启动  

    chkconfig --level 35 nginx on

      g.测试nginx脚本文件是否能够正常使用,命令如下,我均已测试,全部可以使用。

        g.1  /etc/init.d/nginx restart
    
        g.2  /etc/init.d/nginx reload
    
        g.3   /etc/init.d/nginx stop 

         

    遇到 nginx: [error] invalid PID number "" in "/usr/local/var/run/nginx/nginx.pid"

    解决办法:

    $ sudo nginx -c /usr/local/etc/nginx/nginx.conf
     
    $ sudo nginx -s reload

    y

      到这里我们这片笔记就完成了,能帮助大家就帮到,帮不到大家,谢谢大家了,这只是学习笔记,不用较真某些东西,谢谢~~~~

    参考:

    http://www.cnblogs.com/lovexinyi8/p/5845017.html (nginx安装)

    http://www.cnblogs.com/hanyinglong/p/5102141.html(nginx自动启动)

  • 相关阅读:
    【Node】fs
    ☀【滚动条】动画,固定
    洛谷——P3817 小A的糖果
    洛谷——P1316 丢瓶盖
    洛谷—— P1190 接水问题
    CODEVS——T1332 上白泽慧音 || 洛谷——P1726 上白泽慧音
    CODEVS——T3008 加工生产调度
    python(20)- 列表生成式和生成器表达式练习Ⅱ
    MTK Android 编译命令
    第六届深圳国际物联网和智慧中国博览会(2014)总结
  • 原文地址:https://www.cnblogs.com/cxscode/p/7350810.html
Copyright © 2011-2022 走看看