• nginx_ssl安装


    Nginx的安装依赖于以下三个包,意思就是在安装Nginx之前首先必须安装一下的三个包,安装顺序为我写的顺序:

        c.1 SSL功能需要openssl库,下载地址:http://www.openssl.org/

        c.2 gzip模块需要zlib库,下载地址:http://www.zlib.net/

        c.3 rewrite模块需要pcre库,下载地址:http://www.pcre.org/

      d.Nginx的安装包:下载地址为:http://nginx.org/en/download.html


    a.首先我们安装SSL功能需要的openssl库插件,注意:安装过程是按照我在linux下设置的文件路径来安装的,命令如下:

        a.1 tar -zxvf openssl-1.0.2l.tar.gz

        a.2 cd openssl-1.0.2l

        a.3 ./config

        a.4 make

        a.5 make install

    b.安装gzip模块需要zlib库的安装方法和openssl安装的方法一模一样,也是分为上面五个步骤,只不过是文件的名称不一样,命令简单如下:

        b.1 tar -zxvf zlib-1.2.8.tar.gz

        b.2 cd zlib-1.2.8

        b.3 ./configure

        b.4 make

        b.5 make install

      b.如果没有报错,则说明安装完全完成了~。

    c.安装 rewrite模块需要pcre库的安装方法和openssl安装的方法一模一样,也是分为上面五个步骤,只不过是文件的名称不一样,命令简单如下:

        c.1 tar -zxvf pcre-8.38.tar.gz

        c.2 cd pcre-8.38/

        c.3 ./configure

        c.4 make

        c.5 make install

     在执行./configure的出现错误了,导致不能继续往下执行,报错内容为:

        error: You need a C++ compiler for C++ support,看到这句话我们就已经猜到了应该是c++包信息,而linux中没有,那么首先安装一下这个包信息即可,安装命令为:yum install -y gcc gcc-c++

     当安装完上面的c++包之后,在此运行,发现消息已经显示安装成功了,当基于上面的东西全部安装完成之后,就需要安装Nginx服务了。

    d.安装 rewrite模块需要pcre库的安装方法和openssl安装的方法一模一样,也是分为上面五个步骤,只不过是文件的名称不一样,命令简单如下:

        d.1 tar -zxvf nginx-1.13.4.tar.gz

        d.2 cd nginx-1.13.4

        d.3 ./configure --with-pcre=../pcre-8.38/ --with-zlib=../zlib-1.2.8/ --with-openssl=../openssl-1.0.2l/ --with-http_stub_status_module --with-http_ssl_module

        d.4 make

        d.5 make install

    报错路径冲突时 运行-----./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf
    ./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf --with-http_stub_status_module --with-http_ssl_module
    再执行make命令,记住不用执行make install命令

      在执行./configure的出现错误了,导致不能继续往下执行,报错内容为:

        error: You need a C++ compiler for C++ support,看到这句话我们就已经猜到了应该是c++包信息,而linux中没有,那么首先安装一下这个包信息即可,安装命令为:yum install -y gcc gcc-c++

      当安装完上面的c++包之后,在此运行,发现消息已经显示安装成功了。博文到这里如果安装的时候没有遇到错误的话说明已经安装成功了,下面我们就是测试Nginx是否安装成功。


    6.监测Nginx是否安装成功

      a.当上面的所有步骤完成之后,则说明Nginx安装已经完成,那么我们如何来确定是否安装成功了呢?通过以下命令来确定即可。

        a.1 cd /usr/local/nginx/sbin/

        a.2 ./nginx -t
    d.当确认安装完成之后,首先就需要启动和查看Nginx默认安装的端口是多少,两个命令分别如下:

        (1) ./nginx

        (2) netstat -ntlp , Nginx默认端口为80

    7.将Nginx设置为开机自动启动(此步骤要慎重执行,如果nginx启动时要输入密码时会导致机器启动失败)

    a.当上面6步完成之后,说明安装已经完全成功了,但是每次开机我们面临的一个问题,就是每次都要执行命令(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还能够访问,则说明配置成功了,我这边已测试,配置完全成功。

    8.使用server命令启动nginx服务

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

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

        b.1 cd /etc/init.d/

        b.2 vim nginx 创建一个新的nginx文件,将命令代码copy到里面,然后保存

    #########################################################


    #!/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

    #########################################################


      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

      g.4 /etc/init.d/nginx start

    打开相关的80/443端口
    /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    --/sbin/iptables -I INPUT -p tcp --dport 443 -j ACCEPT
    /sbin/iptables -I INPUT -p tcp --dport 8443 -j ACCEPT

    保存
    /etc/rc.d/init.d/iptables save

    查看端口打开
    /etc/init.d/iptables status


    配置hosts文件通过域名访问nginx

    可以用私钥来做这件事。生成一个解密的key文件,替代原来key文件。
    openssl rsa -in server.key -out server.key.unsecure

  • 相关阅读:
    sql之left join、right join、inner join的区别
    根据窗体自动调整控件及文本框记住上次填写内容Demo
    vue-cli建立的项目如何在手机端运行以及如何用charles来抓包
    React日常注意点
    关于表格排序问题
    关于如何将html中的表格下载成csv格式的方法
    关于深拷贝和浅拷贝的学习分享
    关于事件绑定的函数封装
    谈谈关于鼠标的那些事件
    关于前端面试的问题集锦
  • 原文地址:https://www.cnblogs.com/wangfg/p/7459688.html
Copyright © 2020-2023  润新知