【前端Vue+后端Node.js+MySql】部署到服务器
文章目录
- 1、买服务器
- 2、服务器操作
- 2.1、修改服务器密码,xshell登录,xftp上传前后端代码至:/www/wwwroo下,
- 2.2、安装宝塔面板
- 2.3、在宝塔的操作
- 2.3.1、一键安装软件如MySQL、Node.js等
- 2.3.2、宝塔新建数据库
- 2.3.3、宝塔用pm2添加后端项目
- 2.3.4、宝塔网站添加前端项目
- 2.3.5、域名
1、买服务器
价格参考:知乎-云服务器哪家好?
我选的是腾讯云CentOS系统,一年88元很便宜,2核、内存2G、系统盘40G
2、服务器操作
2.1、修改服务器密码,xshell登录,xftp上传前后端代码至:/www/wwwroo下,
/www/wwwroot/xxx-web
/www/wwwroot/xxx-manage
记下服务器ip、账号密码
2.2、安装宝塔面板
安装宝塔教程
注意:安装成功,会给出外网和内网访问宝塔面板的地址和用户账号及密码,记下
打不开外网地址是因为没有开放端口,端口开放在腾讯云轻量应用服务器的防火墙、宝塔的安全-系统防火墙
开放如下:
- 数据库的3306
- 宝塔外网地址的端口
- HTTP(80)和HTTPS(443)
- Linux登录(22)(用于连xshell)和Windows登录(3389)
- Ping(ALL)(默认已经有了)
2.3、在宝塔的操作
2.3.1、一键安装软件如MySQL、Node.js等
2.3.2、宝塔新建数据库
添加数据库,选本地服务器,导入本地的sql文件,然后表格里备份那栏再点导入,去计划任务里设置备份数据库,用Navicat测试连接,成功就OK。
2.3.3、宝塔用pm2添加后端项目
Node.js后台使用pm2,先安装pm2,xshell命令行输入
npm install -g pm2
pm2 -v
安装不成功就百度,ln什么的命令行解决了
安装好后添加pm2到宝塔首页方便进入,
进入pm2面板,Node版本选成自己的,添加项目,启动文件选/server/index.js,状态正常就OK,
用postman测试请求,成功
2.3.4、宝塔网站添加前端项目
选Node项目,真实端口就是起前端的端口,可以绑定域名或者待会再绑。
域名管理添加自己的域名b.phhz.work,注意左上角那个是输入框!我以为只是提示,结果一直说域名不能为空。。。
外网映射打开,配置文件可以看到是自动转到80端口,用户输入域名就可以
SSL配置证书,去阿里申请一个免费的,为b.phhz.work生成证书,下载证书有.key和.pem文件,输入进去,强制HTTPS
服务状态里可以看状态&关闭&重启
输入ip可以看到网站了
2.3.5、域名
我是在阿里买的域名,在腾讯云服务器的域名里添加已存在的域名phhz.work,然后给了两个DNS解析服务器地址,把这两个配到阿里那边(阿里域名控制台,点击域名phhz.work的管理,左侧有DNS修改)
域名解析里设置记录类型A、服务器ip、主机名b(就是b.phhz.work的b)
再回到腾讯云服务器的域名里加上主机名b
如果输入ip正常,输入域名打开报错invalid host header,参考:
解决 Vue 项目 invalid host header
我选的是直接跳过域名检查
// vue3 vue.config.js
module.exports = {
// 跳过检查host
devServer: { disableHostCheck: true }
}
改了前端文件可能需要在宝塔-网站-服务状态-重启