记录生活中的点点滴滴

0%

安装nginx

这几天一直在搞那个人脸检测的小程序,为了这玩意,备案域名,申请SSL证书把http转换成https,最后进行后端的配置。

这一路下来,真的是又学到了不少,感觉又厉害了,嘿嘿。

在阿里云免费申请到SSL证书后,我的服务器是nginx服务器,于是下载nginx对应的文件,有两个,一个是.key文件,一个是.pem文件,把这两个文件保存起来。

我的nginx服务器当时安装的时候没有编译SSL相关的东西,查了好久都不行,最后只能重新安装nginx服务器

  1. 先下载相关包依赖

    1
    2
    yum -y install gcc gcc-c++ autoconf automake libtool make cmake
    yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
  2. 切换到一个目录,比如我的是/root/download下,下载解压并编译安装nginx

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #切换到下载的目录
    cd /root/download
    #下载压缩包
    wget http://nginx.org/download/nginx-1.15.7.tar.gz
    #解压
    tar -zxvf nginx-1.15.7.tar.gz
    #进入nginx目录
    cd nginx-1.15.7
    #下面三个指令都是安装,具体什么意思也比太明白,反正这样安装就可以使用SSL解析了
    #第两个指令执行起来都很炫酷,哈哈
    ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre
    make
    make install
  3. 默认会安装到/usr/local/nginx/下,下面是常用的命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #启动nginx服务
    /usr/local/nginx/sbin/nginx
    #暂停nginx服务
    /usr/local/nginx/sbin/nginx -s stop
    #重启nginx服务
    /usr/local/nginx/sbin/nginx -s reload
    #查看nginx版本信息
    /usr/local/nginx/sbin/nginx -v
    #测试配置文件是否正常
    /usr/local/nginx/sbin/nginx -t

    如果出现80端口被占用,执行netstat -lnp|grep 80来找到占用80端口的进程,并kill它,如下:

    1
    2
    3
    4
    5
    6
    7
    8
    [root@instance-uc9mvl4p nginx]# netstat -lnp|grep 80
    tcp6 0 0 :::80 :::* LISTEN 4505/node
    udp 0 0 0.0.0.0:68 0.0.0.0:* 805/dhclient
    [root@instance-uc9mvl4p nginx]# kill 4505
    [root@instance-uc9mvl4p nginx]# netstat -lnp|grep 80
    udp 0 0 0.0.0.0:68 0.0.0.0:* 805/dhclient
    [root@instance-uc9mvl4p nginx]# /usr/local/nginx/sbin/nginx
    [root@instance-uc9mvl4p nginx]#

    其中测试nginx配置是否正常在安装SSL中会用到,如果配置文件正常的话会出现下面的信息:

    1
    2
    3
    [root@iZbp1b44670a4o3ks27kznZ nginx]# sbin/nginx -t
    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
  4. 安装完成后需要配置nginx服务器,配置文件在nginx下的conf目录中的nginx.conf,就是上面那个测试配置文件是否正常指令后输出的第一句话里面那个is ok的文件。我们需要把它第二行注释去掉,把user后面改为root把http server的server_name后面改为我们的域名,location / 下的root后路径改为我们页面的public路径。具体如下代码:

    1
    2
    3
    #前几行
    user root;
    worker_processes 1;
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #http的server
    server {
    listen 80;
    #我的域名为www.gaosong.site
    server_name www.gaosong.site;

    location / {
    #我的博客的公共目录是/root/blog/public
    root /root/blog/public;
    index index.html index.htm;
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root html;
    }

    }

这样就配置好了nginx最后最后关键的一步,一定一定一定要重启nginx,不然我们访问我们的域名界面还是welcome to nginx。

重启之后我们在浏览器输入域名就能访问到我们的博客主页了。下一篇来聊聊http转https。