微信小程序全栈开发实战课程--真自律

7-3【微信小程序全栈开发课程】小程序上线--nginx安装、S

2019-10-21  本文已影响0人  l猫宁一

1、安装nginx

nginx是一个强大的http服务器,作用是解析链接信息,告诉服务器客户端需要做什么

比如nginx收到了链接信息http://localhost:8000/hello/index.html,就告诉服务器客户端的要求--获取目录hello/index.html文件。服务器读取文件内容发送给浏览器

(1)ssh登录云服务器
~$ ssh ubuntu@45.**.***.66
//输入密码
ubuntu@45.**.***.66's password:
(2)安装nginx
//更新源列表
~$ sudo apt-get update

//安装nginx
~$ sudo apt-get install nginx

//检查是否安装成功
~$ nginx -v
nginx version: nginx/1.4.6 (Ubuntu)

//启动nginx
~$ sudo service nginx restart

2、SSL证书申请

小程序只承认https协议的域名,普通域名申请SSL 证书即可使用https协议

(1)登录到腾讯云后,点击云产品,搜索SSL,选择SSL证书
(2)进入到SSL证书页面后,点击申请免费证书,然后根据提示输入申请信息就可以了
(3)申请成功之后,SSL证书页面就会出现证书信息,点击下载,得到了一个压缩文件,将文件解压,里面Nginx文件夹下面有SSL 证书文件 1_www.domain.com_bundle.crt 和私钥文件 2_www.domain.com.key

3、SSL证书安装

下载好两个证书文件之后,将文件放到云服务器上面安装

(1)将文件传输到云服务器

将两个文件放到同一个目录中,/etc/nginx/ssl 目录下

云服务器端操作 ↓↓↓

//打开etc/nginx目录
~$ cd /etc/nginx/

//新建ssl文件夹
~/etc/nginx$ mkdir ssl

电脑本地终端操作 ↓↓↓

//打开刚刚下载解压的/www.***.com/Nginx目录
~$ cd ~/Downloads/www.***.com/Nginx

//用scp将文件传输到云服务器,传输第一个文件
~/www.***.com/Nginx$ scp 1_www.***.com_bundle.crt root@47.10.17.231:/etc/nginx/ssl
//输入云服务器的密码
root@47.10.17.231's password:
1_www.***.com_bundle.crt                 100% 3672   164.9KB/s   00:00

//传输第二个文件
~/www.***.com/Nginx$ scp 2_www.***.com.key root@47.10.17.231:/etc/nginx/ssl
//再次输入云服务器的密码
root@47.10.17.231's password:
2_www.***.com.key                        100% 1678    74.1KB/s   00:00

云服务器端操作 ↓↓↓

//打开etc/nginx/ssl目录
~$ cd /etc/nginx/ssl/

//输入ls查看里面的文件
~/etc/nginx/ssl$ ls
1_www.***.com_bundle.crt  2_www.***.com.key

现在文件已经传输成功了,下面开始安装

(2)SSl证书安装

云服务器端操作 ↓↓↓

//打开etc/nginx/conf.d目录
~$ cd /etc/nginx/conf.d/

//创建weapp.conf文件
~/etc/nginx/conf.d$ touch weapp.conf

在weapp.conf文件中粘贴下面的内容,我列出需要修改的3个地方,替换成自己域名的信息

upstream app_weapp {
    server localhost:5757;
    keepalive 8;
}

server {
    listen      80;
    #=====需要修改=========替换成自己的域名
    server_name www.***.com;
    #服务器自动把 HTTP 的请求重定向到 HTTPS
    rewrite ^(.*)$ https://$server_name$1 permanent;
}

server {
    listen      443;
    #=====需要修改=========替换成自己的域名
    server_name www.***.com;
    ssl on;
    #=====需要修改=========下面两行替换成自己SSL文件的路径
    ssl_certificate           /etc/nginx/ssl/1_www.***.com_bundle.crt;
    ssl_certificate_key       /etc/nginx/ssl/2_www.***.com.key;
    ssl_session_timeout       5m;
    ssl_protocols             TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers               ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA;
    ssl_session_cache         shared:SSL:50m;
    ssl_prefer_server_ciphers on;
    location / {
        proxy_pass http://app_weapp;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
(3)验证并重启nginx服务
//输入nginx -t,出现下列信息说明配置成功了
~$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

//重启nginx
~$ sudo service nginx restart
(4)在浏览器输入域名,会出现下列信息,说明配置成功了

出现502 Bad Gateway也说明配置成功

作者:猫宁一
全栈程序媛₍ᐢ •⌄• ᐢ₎一枚~
可到【猫宁一】公众号回复【源码】领取我所有全栈项目代码哦~

点击查看课程目录:微信小程序全栈开发课程目录

上一篇下一篇

猜你喜欢

热点阅读