Skip to content

部署NestJS服务

更新日期 2022-5-10
  • 2022-5-10 创建文档

开发环境

  • macOS 12.3.1
  • Ubuntu 16.04
  • nest 8.1.5
  • pm2 4.4.1

本文目标

将服务部署到服务器上

html中路径问题

当心/js/index.js的路径,最开头那个/不能省略。

准备

申请一个域名,并且申请SSL证书

将工程传到服务器上

Nginx

配置nginx,允许wss

map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
}

upstream chatws {
    server 127.0.0.1:9010;
}

server {
    listen 443;
    server_name antalkws.rustfisher.com;
    ssl on;
    ssl_certificate /home/ubuntu/server/ssl/antalk/antalkws.rustfisher.com_bundle.crt;
    ssl_certificate_key /home/ubuntu/server/ssl/antalk/antalkws.rustfisher.com.key;
    ssl_session_timeout 20m;
    ssl_verify_client off;
    location / {
        root /home/ubuntu/server/wiki-site/an-rf-wiki;
        index index.html index.htm;

        proxy_pass http://127.0.0.1:9010;
    }

    location /chat1 {
        proxy_pass http://chatws;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_read_timeout 300s;
    }
}

启动

更新代码后,先

npm install

然后手动启动,测试一下

npm run start

每次更新代码最好都要先npm install

调试OK后,使用pm2来管理任务

pm2 start dist/main.js --name='simple-chat'

访问 https://antalkws.rustfisher.com/web/ 可以看到效果

注:服务可能不会长时间运行,上面链接有可能失效

简易运行效果

作者: rustfisher.com | rf.cs@foxmail.com
示例: AndroidTutorial Gitee, Tutorial Github
本文链接: https://www.an.rustfisher.com/nestjs/simple-chat/deploy-on-server/
一家之言,仅当抛砖引玉。如有错漏,还请指出。如果喜欢本站的内容,还请支持作者。也可点击1次下方的链接(链接内容与本站无关),谢谢支持服务器。 如有疑问,请与我联系:Android issues - gitee