likes
comments
collection
share

Midwayjs部署环境-宝塔面板

作者站长头像
站长
· 阅读数 4

Midwayjs部署环境-宝塔面板

安装宝塔面板

新版7.9+版本的宝塔需要登录并绑定手机号码,个人使用7.7版本的进行安装。

已经使用最新版本并登录的可以跳过安装步骤,不想登录绑定的可以卸载后安装低版本的宝塔面板,下载链接帖来自知乎 zhuanlan.zhihu.com/p/555222006

# 官方卸载脚本
wget -O uninstall.sh http://download.bt.cn/install/bt-uninstall.sh && bash uninstall.sh

# 7.7原版的安装脚本
wget -O install.sh http://f.cccyun.cc/bt/install_6.0.sh && bash install.sh

Midwayjs部署环境-宝塔面板

通过安装脚本执行结束如上图会得到面板浏览器访问地址和账号密码,可以登录进入配置修改,建议先截图保存或复制文本保存到文件中避免遗忘。

打开访问地址输入账号密码后进行登录,选择软件商店下载安装nginx、mysql、redis、PM2管理器四个必装应用。

Midwayjs部署环境-宝塔面板

准备工作

将必装应用安装好后进行mysql设置端口,redis设置端口和密码,确保正常运行哦。

左侧菜单栏选择数据库,跳转页面后进行创建数据库/用户名/密码。

完成创建后导入初始化数据库数据,项目内找到 script\db_init.sql 脚本文件进行上传导入数据。

Midwayjs部署环境-宝塔面板

代码上传

使用宝塔提供的文件菜单页面进行代码的上传更新工作

  • /www/wwwroot/mask_api 作为后端接口目录

在开发环境下对 src\config\config.prod.ts 文件修改对应的服务器mysql和redis的配置。将以下文件内容进行上传到服务器

mask_api
├── assets                      目录-程序内部静态资源文件
├── src                         目录-源代码
├── run.sh                      文件-PM2执行文件
├── bootstrap.js                文件-程序部署PM2启动运行入口
├── package.json                文件-程序依赖及启动命令信息
└── tsconfig.json               文件-typescript配置
  • /www/wwwroot/dist 作为前端页面目录

在开发环境下通过 npm run build 命令打包生成dist文件夹,将dist文件夹上传并作为前端页面目录

dist
├── assets                    目录-资源文件
├── favicon.ico               文件-网站图标
├── index.html                文件-主页
└── index.html.gz             文件-主页gzip压缩

后端服务

选择软件商店已安装应用,点击PM2管理器添加项目。

PM2执行文件 run.sh 作为依赖安装编译并运行的脚本,只能启动1个,填多个也不能集群方式启动,而且设置内存大小是无效。

run.sh文件需要尾行序列LF不然执行会出错哦

# run.sh
# 安装项目所需依赖
npm install --registry https://registry.npmmirror.com
# 构建生产项目代码
npm run build
# 启动项目
npm run start

Midwayjs部署环境-宝塔面板

建议不使用run.sh执行文件作为启动文件,可以在终端中先安装依赖,再使用编译构建命令得到 dist 文件夹后,启动文件填入 npm。随后可以正常设置内存大小和集群方式启动。

如果提示当前权限不足,可以使用root方式或者给用户授权有可读可写操作权限

Midwayjs部署环境-宝塔面板

前端页面

左侧菜单栏选择网站,进行创建站点,没有域名就填IP,创建好后没啥好设置的。

设置中选择配置文件会有提示:找不到文件

Midwayjs部署环境-宝塔面板

随后只能通过找到站点配置文件进行修改配置,在文件菜单页面进行查找 /www/server/panel/vhost/nginx 在文件夹下选择站点的conf文件,双击打开文件进行编辑添加以下内容后进行保存。

conf文件不要用Tab退格,要用空格哦,不然会显示500哦

location / {
    root   /www/wwwroot/dist;

    try_files $uri $uri/ /index.html;
    index  index.html index.htm;
}

location /prod-api/ {
    proxy_pass http://127.0.0.1:6275/;

    proxy_http_version  1.1;
    proxy_cache_bypass  $http_upgrade;
    proxy_set_header Upgrade            $http_upgrade;
    proxy_set_header Connection         "upgrade";
    proxy_set_header Host               $host;
    proxy_set_header X-Real-IP          $remote_addr;
    proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto  $scheme;
    proxy_set_header X-Forwarded-Host   $host;
    proxy_set_header X-Forwarded-Port   $server_port;
}

Midwayjs部署环境-宝塔面板

选择软件商店已安装应用,点击 Nginx 进行重载配置或者重启。需要检查下接口服务是否与网站站点配置代理的地址一致,网站访问是否正常。

如遇到无法解决的问题,可以在下方进行留言,会在第一时间进行解答。