zoukankan      html  css  js  c++  java
  • 自建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:UsersGYSD.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****AppDataRoaming
    pm;%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

  • 相关阅读:
    python3.7版本安装pyinstaller
    Redis
    电商路演
    前台Vue、后台Django、设置axios解决csrf_token问题
    企业为什么要设置中台
    2021.1.11 学习总结
    2021.1.10 学习总结
    2021.1.9 学习总结
    2021.1.8 学习总结
    2021.1.7 学习总结
  • 原文地址:https://www.cnblogs.com/xulonglong/p/zi-jianwindows-fu-wu-qi-ru-he-bu-shuegg-ying-yong.html
Copyright © 2011-2022 走看看