node生产服务器搭建

110 阅读1分钟

服务器跑 nestjs/node + react/html 应用,最快的方式是用宝塔,可以直接用于生产。

准备工作

  • 购买服务器(对应 IP 如:1.2.3.4)
  • 购买域名( pauli.cn)
  • 域名备案
  • dns解析( A 记录到 ...

宝塔安装

bt.cn (需求提前注册一个bt账号,不需要实名)

查看服务器版本

$ uname -a
Linux 3.10.0-862.14.4.el7.x86_64 #1 SMP Wed Sep 26 15:12:11 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

选择对应命令

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

启动后,一定要记下来(后续只能通过 ssh 登录服务器后,执行 bt 重置pwd)

  • 面板地址
  • 登录账号
  • 登录pwd

服务器设置

安装必要的软件:

  • Nginx
  • Node/NVM
  • MySQL
  • php + phpmyadmin(如果不想 mysql 服务/端口到公网,可以通过网页管理数据库)

配置:

  • 云服务商,开放对应的公网端口:22、80、443、888(phpmyadmin 的)
  • 主网站 pauli.cn 可以是纯静态的
  • node 服务,可以通过宝塔配置,也可以手动启动后台进程 nohup npm run start & (如对应服务端口 3000)
  • nginx 转发,可以通过宝塔配置,也可以手动设置
server {
    listen 80;
    server_name pauli.cn;  # 替换为你的域名或IP

    location /api/ {
        proxy_pass http://127.0.0.1:3000;  # 替换为 node 服务端口
    }

    location / {
        root /www/wwwroot/web;  # 替换为你的React应用构建后的文件夹路径
        try_files $uri $uri/ /index.html;
    }
}

申请 https 证书

宝塔可以申请免费的三个月,要经常续费,也可以购买供应商的,一年几百块。

本地打包后上传

  • 本地打包后上传更快:zip -r web.zip dist/*
  • 使用 filezilla 或者 scp scp -r local_react/dist root@pauli.cn:/www/wwwroot/web
  • ssh root@pauli.cn 登录服务器端解压 unzip web.zip
  • 也可以使用 ssh 直接远程操作 ssh root@pauli.cn "cd /www/wwwroot/web/; unzip web.zip"