自建windows服务器如何部署egg应用
发布于 7 年前 作者 18820227745 4571 次浏览 来自 分享

自建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\****\.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

2 回复

配置降低为单核1G ,使用 linux ,钱节省60%以上,问题减少 90% 以上

@zuohuadong 客户内建机房,没办法。

回到顶部

AltStyle によって変換されたページ (->オリジナル) /