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也说明配置成功
作者:猫宁一
全栈程序媛₍ᐢ •⌄• ᐢ₎一枚~
可到【猫宁一】公众号回复【源码】领取我所有全栈项目代码哦~点击查看课程目录:微信小程序全栈开发课程目录
网友评论