zoukankan      html  css  js  c++  java
  • centos6.8下安装nginx

           我用的阿里云上的镜像,make的时候总是出错,后来说是gcc安装不完整,要重新用下面命令安装 下:  

    yum install gcc gcc-c++ gcc-g77

         接下来下载nginx用到的一些库

    wget https://www.openssl.org/source/openssl-1.1.1b.tar.gz
    wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.43.tar.gz
    wget http://zlib.net/zlib-1.2.11.tar.gz
    wget http://nginx.org/download/nginx-1.14.2.tar.gz

       安装


        1.安装pcre库 

    # tar xvf pcre-8.43.tar.gz -C /usr/local
    # cd /usr/local/pcre-8.43
    # ./configure
    # make && make install

      2.安装zlib库

    # tar xvf zlib-1.2.11.tar.gz -C /usr/local
    # cd /usr/local/zlib-1.2.11
    # ./configure
    # make && make install

     3.安装ssl

    # tar xvf openssl-1.1.1b.tar.gz -C /usr/local
    # cd /usr/local/zlib-1.2.11
    # ./config
    # make && make install

     4.安装nginx

    # tar xvf nginx-1.14.2.tar.gz -C /usr/local
    # cd /usr/local/nginx-1.14.2
    # ./configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.43 #使用下方ssl的
    # make && make install

      5.加入到service 

    vi /etc/init.d/nginx

      加入以下内容:

    #!/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的配置文件,也换成自己的 NGINX_CONF_FILE
    ="/usr/local/nginx/conf/nginx.conf" [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx lockfile=/var/lock/subsys/nginx make_dirs() { # make required directories user=`nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=([^ ]*).*/1/g' -` options=`$nginx -V 2>&1 | grep 'configure arguments:'` for opt in $options; do if [ `echo $opt | grep '.*-temp-path'` ]; then value=`echo $opt | cut -d "=" -f 2` if [ ! -d "$value" ]; then # echo "creating" $value mkdir -p $value && chown -R $user $value fi fi done } start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 make_dirs 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 } 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

     7.赋于执行权限

    [root@i***Z nginx]# sudo /sbin/chkconfig nginx on
    [root@i***Z nginx]# sudo /sbin/chkconfig --list nginx
    nginx              0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
    [root@i***Z nginx]# service nginx status
    nginx is stopped

    到此就安装完成了.


    安装ssl

    证书是用的阿里云免费版的,配置也是按照阿里云的配置来的,但是安装时遇到两个错误

          1 .安装时未指定pcre ,ssl        

            未指定时出现如下错误:

    while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or d

    所以我重新安装了一下:

    ./configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.43 --with-openssl=../openssl-1.1.1b --with-zlib=../zlib-1.2.11 --with-http_ssl_module

       2.证书放在哪里

         刚开始是放在nginx目录下的,报的如下错误,应该放在conf文件夹下. 

    Starting nginx: nginx: [emerg] BIO_new_file("/usr/local/nginx/conf/cert/cert.pem") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/usr/local/nginx/conf/cert/cert.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)

      nginx.conf文件里的ssl配置如下(阿里云文档里的):

      

        server {
         listen 443;
         server_name localhost;
         ssl on;
         root html;
         index index.html index.htm;
         ssl_certificate   cert/a.pem;
         ssl_certificate_key  cert/a.key;
         ssl_session_timeout 5m;
         ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
         ssl_prefer_server_ciphers on;
         location / {
             root html;
             index index.html index.htm;
         }
        }

         最后启动ok了;

       

    [root@i***Z nginx]# service nginx start
    Starting nginx:                                            [  OK  ]
    ...
  • 相关阅读:
    CF 461B Appleman and Tree
    POJ 1821 Fence
    NOIP 2012 开车旅行
    CF 494B Obsessive String
    BZOJ2337 XOR和路径
    CF 24D Broken robot
    POJ 1952 BUY LOW, BUY LOWER
    SPOJ NAPTIME Naptime
    POJ 3585
    CF 453B Little Pony and Harmony Chest
  • 原文地址:https://www.cnblogs.com/javage/p/10654104.html
Copyright © 2011-2022 走看看