自建windows服务器如何部署egg应用

1. 使用IE浏览器登陆VPN


2. 远程登陆

3. 在服务器安装最新的node.js,git等

4. 下载源码

> git clone ****.git

5. npm安装依赖

> cd you-project
> npm i

6. 使用egg单进程启动

// 安装最新的egg包
// 在项目根目录下新建run.js

const egg = require('egg');

function normalizePort(val) {
  const listenPort = parseInt(val, 10);

  if (isNaN(listenPort)) {
    return val;
  }

  if (listenPort >= 0) {
    return listenPort;
  }

  return false;
}

const port = normalizePort(process.env.PORT) || 3000;

egg.start({ ignoreWarning: true })
  .then(app => {
    app.listen(port);
    app.logger.info(`server running  on ${port} ...`);
  });

测试启动

> node run.js

7. pm2启动

  • 安装pm2
> npm i pm2 -g
  • 新建pm2启动文件
module.exports = {
  apps : [{
    name: '****',
    script: 'run.js',

    // Options reference: https://pm2.io/doc/en/runtime/reference/ecosystem-file/
    args: 'one two',
    instances: 4,
    autorestart: true,
    watch: false,
    max_memory_restart: '4G',
    env: {
      NODE_ENV: 'development',
    },
    env_production: {
      NODE_ENV: 'production',
      APP_URL: '*****',
      DB_HOST: 'localhost',
      DB_PORT: '3306',
      DB_USERNAME: '*****',
      DB_PASSWORD: '*****',
      DB_DATABASE: '*****',
      EGG_SERVER_ENV: '****',
    },
  }],
};

  • 生产环境启动
$ pm2 start ecosystem.config.js --env production
  • 测试环境启动
$ pm2 start ecosystem.config.js

8. 开放3000端口

参考 https://blog.csdn.net/zzq900503/article/details/11936379

9. 安装mysql,

参考: https://blog.csdn.net/u013235478/article/details/50623693, 设置mysql开机启动

10. 设置pm2开机启动,使用nssm

  • 查看PM2_HOME, pm2 save
  • 设置系统环境变量 PM2_HOME = C:\Users\GYSD\.pm2
  • 验证 echo %PM2_HOME%
  • 创建启动脚本 pm2_startup.bat
@echo off
set HOMEDRIVE=C:
set PM2_HOME=C:\Users\***\.pm2

@REM Ensure that pm2 command is part of your PATH variable
@REM  if you're not sure, add  it here, as follow:
set path=C:\Users\****\AppData\Roaming\npm;%path%

@REM Optionally, you can add 'pm2 kill' just before 
@REM  resurrect (adding a sleep between 2 commands):
@REM    pm2 kill
@REM    timeout /t 5 /nobreak > NUL
@REM    pm2 resurrect
@REM otherwise, you can simple call resurrect as follow:
pm2 resurrect

echo "Done"

  • nssm.exe install MyPM2Service

    • 选择自己的 pm2_startup.bat 路径
  • 重启查看

参考:https://blog.cloudboost.io/nodejs-pm2-startup-on-windows-db0906328d75

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Egg.js 是一个基于 Node.js 和 Koa.js 的企业级应用框架,用于构可扩展的后端应用程序。在部署 Egg.js 应用之前,你需要进行打包以及配置服务器环境。 下面是一般的 Egg.js 打包部署步骤: 1. 打包应用:首先,你需要将 Egg.js 应用打包成可执行文件。你可以使用 Egg.js 提供的命令行工具进行打包,例如运行 `npm run build` 或 `yarn build`。 2. 配置服务器环境:接下来,你需要在服务器上进行配置。确保服务器已经安装了 Node.js 运行环境,并且版本符合应用的要求。你还需要安装 PM2 或其他的进程管理工具,以便在服务器上守护进程运行应用。 3. 上传文件:将打包好的应用文件上传到服务器。你可以使用 FTP、SCP 或其他文件传输工具将文件上传到指定的目录。 4. 安装依赖:在服务器上进入应用所在的目录,运行 `npm install` 或 `yarn install` 命令,安装应用所需的依赖包。 5. 启动应用:使用 PM2 或其他进程管理工具来启动应用。例如,运行 `pm2 start app.js` 命令来启动应用,并将它作为一个守护进程在服务器上运行。 6. 配置反向代理(可选):如果你希望通过域名访问应用,则需要配置反向代理。可以使用 Nginx 或其他的反向代理服务器来进行配置,将请求转发到应用所在的端口。 以上是一般的 Egg.js 打包部署步骤,具体的配置和步骤可能因服务器环境和需求而有所不同。你可以根据实际情况进行调整和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值