Midwayjs部署环境-Linux

305 阅读3分钟

Midwayjs部署环境-Linux

准备工作

针对服务器Linux操作系统进行部署,必装以下应用程序并确保正常运行。

SDK说明版本
Nginx优秀代理服务器1.20+
Nodejsnode项目的运行环境18+
Redis缓存存储程序6+
Mysql数据存储程序8+

请进行环境变量配置并确保正常运行,按个人喜好随意使用开发编辑器。

使用国内源可以加速下载依赖库

设置为默认源
npm config set registry registry.npmmirror.com

后端服务

服务启动推荐使用PM2进行负载均衡集群常驻后台运行。

建议在开发环境下对 src\config\config.prod.ts 文件修改对应的服务器上能正常访问的服务配置。

/home/user/mask_api_midwayjs 作为后端服务目录,将以下文件内容上传到服务器目录

mask_api_midwayjs
├── assets                      目录-程序内部静态资源文件
├── src                         目录-源代码
├── bootstrap.js                文件-程序部署启动运行入口
├── package.json                文件-程序依赖及启动命令信息
└── tsconfig.json               文件-typescript配置

进入后端接口目录,安装项目所需依赖,通过以下命令进行打包构建生成 dist 文件夹随后启动项目。

# 使用pm2启动需要安装为全局依赖
npm install pm2 -g
# 安装项目所需依赖
npm install
# 构建生产项目代码
npm run build

# 启动项目(方式一)-前台观察占用当前窗口
npm run start
# 启动项目(方式二)-使用pm2集群后台常驻
npm run start:pm2

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

前端页面

  • /usr/share/nginx/html/mask-ui 作为前端页面目录

在开发环境下检查 .env.development 文件内配置参数 VITE_HISTORY_BASE_URL 改为 /mask-ui 保存修改后通过 npm run build 命令打包生成dist文件夹。

将dist文件夹内容上传到服务器目录,注意 VITE_API_BASE_URL 是页面请求的服务地址。

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

安装 Nginx 好后,你需要修改 Nginx 配置文件以对页面进行访问,配置文件添加配置内容如下:

conf文件行尾序列LF,不要用Tab退格,要用空格哦,不然会显示500哦

# 部署路径下mask-ui目录
location /mask-ui {
    root /usr/share/nginx/html;

    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;
}

开启Gzip,建议在 nginx.conf 文件中开启。

#开启gzip功能
gzip on; 
#开启gzip静态压缩功能
gzip_static on; 
#gzip缓存大小
gzip_buffers 4 16k;
#gzip http版本
gzip_http_version 1.0;
#gzip 压缩级别 1-10 
gzip_comp_level 5;
#gzip 压缩类型
gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;

修改配置文件后对 Nginx 停止或结束进程PID后在启动,以免遇到修改不生效的情况。

Window系统部署请使用PM2
如遇到无法解决的问题,可以在下方进行留言,会在第一时间进行解答。