surmon-china / nodepress

🟢 RESTful API service for https://surmon.me blog, powered by @nestjs

Home Page:https://github.surmon.me/nodepress

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Linux 服务器部署问题

shawalarik opened this issue · comments

请问下大佬,有这关于nodepress部署到linux服务器上的教程吗?第三方也行。

我假设你想问的是: “如何把 NodePress 程序在 Linux 上以生产模式成功运行起来?”

  1. Clone 项目至你生产机的某目录,并使用 yarn 安装依赖,装完后使用 yarn build 构建应用
  2. 在你的生产机安装 MongoDB 以及 Redis,并确保两者处于 running 状态
    • 如果你是用的是云数据库,则不需要安装 MongoDB
  3. 先查阅 PM2 的文档,理解 PM2 的工作机理和使用姿势
  4. 在项目根目录建立配置文件 ecosystem.config.js,并在根目录执行 pm2 start 启动应用

ecosystem.config.js example:

module.exports = {
  apps: [
    {
      name: 'nodepress',
      watch: ['dist'],
      script: 'dist/main.js',
      instances: 'max',
      exec_mode: 'cluster',
      node_args: [],
      max_memory_restart: '268M',
      args: [
        '--auth_data=XXX',
        '--auth_key=XXX',
        '--auth_default_password=XXX',
        // ...
      ],
      log_date_format: 'YYYY-MM-DD HH:mm Z',
      error_file: '/var/wwwlogs/nodepress/error.log',
      out_file: '/var/wwwlogs/nodepress/out.log',
      env: {
        NODE_ENV: 'production',
      },
    },
  ],
}

谢谢,已解决。

https://api.surmon.me/ api 响应好快,求问下作者是直接部署的机器是什么配置的? 或者是否是部在 serverless 上?

https://api.surmon.me/ api 响应好快,求问下作者是直接部署的机器是什么配置的? 或者是否是部在 serverless 上?

serverless 仅适合无状态应用部署,需要将任何涉及状态的服务抽离至独立的云服务,如 Reids 需要你有 HTTP 化的接口才能高效运行,MongoDB 同理;所以我的服务仅部署在 HK 区域的 Linux 单机服务器,你感受到 “快”,可能仅仅是地理位置的加持。