将项目部署到云服务器上
一、购买云服务器(略)
可以通过注册阿里云学生证明,领取免费的学生机。
二、操作云服务器linux
2.1、安装nginx
先更新源列表
注意:由于是cent os,所以不能用apt-get,用yum
sudo yum update
再安装nginx
sudo yum install nginx
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fAzQkJbd-1624894933195)(https://i.loli.net/2021/06/22/jsAQe9ZCbRUYdfw.png)]
启动nginx
sudo service nginx restart
遇到点小问题:
Redirecting to /bin/systemctl restart nginx.service
无法启动nginx
错误原因:service nginx start 是centos6.x的命令 , centos7.x使用 systemctl start nginx
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y7SohFKc-1624894886999)(https://i.loli.net/2021/06/23/KSpP9HOxrqNCuYf.png)]
2.2、安装SSL证书
购买域名【完成】
实名验证【完成】
备案【完成】
申请ssl证书【完成】
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QL3ekdcn-1624894887001)(https://i.loli.net/2021/06/23/drKizjtbg2YkF9O.png)]
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也说明配置成功
宝塔系统
最后还是不行,用宝塔系统生成网站和安装ssl!宝塔系统yyds
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nomf1pjf-1624894887004)(https://i.loli.net/2021/06/23/M45SZEriKyYfHLz.png)]
2.3、安装nodejs,mysql
也使用宝塔安装即可
安装mysql以及各种依赖
sudo yum install mysql-server mysql-client libmysqlclient-dev
安装完数据库之后,创建数据库、表
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mQqoAs3k-1624894887006)(https://i.loli.net/2021/06/23/uOVQ5F1MeRIzU3L.png)]
将小程序server文件打包上传到Linux服务器中,再使用PM2启动
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2RijcEik-1624894887007)(https://i.loli.net/2021/06/23/FW6IbAekiOnrw4z.png)]
打开微信开发者工具测试
又出现问题,连不上
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1zNjslNY-1624894887008)(https://i.loli.net/2021/06/23/J5Fz8ZuEG34wrpD.png)]
未完,待续~~!
扩展学习:
pm2
pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能
1、 pm2需要全局安装
npm install -g pm2
2、进入项目根目录
2.1 启动进程/应用 pm2 start bin/www 或 pm2 start app.js
2.2 重命名进程/应用 pm2 start app.js --name wb123
2.3 添加进程/应用 watch pm2 start bin/www --watch
2.4 结束进程/应用 pm2 stop www
2.5 结束所有进程/应用 pm2 stop all
2.6 删除进程/应用 pm2 delete www
2.7 删除所有进程/应用 pm2 delete all
2.8 列出所有进程/应用 pm2 list
2.9 查看某个进程/应用具体情况 pm2 describe www
2.10 查看进程/应用的资源消耗情况 pm2 monit
2.11 查看pm2的日志 pm2 logs
2.12 若要查看某个进程/应用的日志,使用 pm2 logs www
2.13 重新启动进程/应用 pm2 restart www
2.14 重新启动所有进程/应用 pm2 restart all