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

自建windows服务器如何部署egg应用的更多相关文章

  1. 使用PHPstudy在Windows服务器下部署PHP系统

    PHP网站一般运行在Apache服务器上,IIS服务器上也可以运行,但是不推荐,windows服务器上没有集成Apache跟PHP的运行环境,但是借助第三方的软件就能很好的搞定,一般这样的软件有很多, ...

  2. .Net Core WebApi(二)在Windows服务器上部署

    上一篇学习到了如何简单的创建.Net Core Api和Swagger使用,既然写了接口,那么就需要部署到服务器上才能够正式使用.服务器主要用到了两种系统,Windows和Linux,.Net和Win ...

  3. (搬运)使用PHPstudy在Windows服务器下部署PHP系统

    原帖地址:http://www.php.cn/php-weizijiaocheng-406175.html 这篇文章主要介绍了关于使用PHPstudy在Windows服务器下部署PHP系统,有着一定的 ...

  4. 【转载】阿里云Windows服务器快速部署PHP运行环境

    PHP也是一种常用的网站脚本语言,时常用于网站应用程序的编写,PHP运行环境包含几个要素:PHP.Apache服务器.MySql数据库,此3个要素是Php网站运行的必要条件.在阿里云的Windows服 ...

  5. 使用nssm在windows服务器上部署nodejs

    Linux上,可以轻松的使用forever或者pm2来部署nodejs应用.但是在windows下就麻烦了,pm2明确的说支持Linux & MacOS,forever在windows下貌似问 ...

  6. nssm在windows服务器上部署nodejs,coffee启动方式

    本想用forever / pm2 来部署nodejs, 百度后发现只能在Linux系统上使用,window上没法使用,兜一圈后又转nssm了.... 在Linux上,可以轻松的使用forever或者p ...

  7. 谈谈我的windows服务器运维管理

    我们开发的页游General War(http://gw.gamebox.com)上线运营也有半年多了,服务器的开发到运维基本都由我一手包办,在服务器上线之后我们又招了一个程序员接手后续功能的开发,而 ...

  8. (一)JAVA项目(非web项目)部署到windows服务器运行

    [转]http://blog.csdn.net/tracy19880727/article/details/11205063 一般服务器运行的几乎都是web项目,今天遇到一个问题,把写好的Java项目 ...

  9. 部署AlwaysOn第一步:搭建Windows服务器故障转移集群

    在Windows Server 2012 R2 DataCenter 环境中搭建集群之前,首先要对Windows服务器故障转移集群(Windows Server Failover Cluster,简称 ...

随机推荐

  1. 在github上部署第二个repository

    想在github上保存一些平时写的测试程序,所以就建立了一个repository:https://github.com/commshare/testProgram 建立好之后,怎么把本地的代码上传呢. ...

  2. linux目录化结构

    初学Linux,首先需要弄清Linux 标准目录结构 / root --- 启动Linux时使用的一些核心文件.如操作系统内核.引导程序Grub等. home --- 存储普通用户的个人文件 ftp ...

  3. docker 使用及基本命令

    一.docker简单使用 a.列出镜像 docker images b.从docker hub拉取最新版本镜像 docker pull xxx 错误: Error response from daem ...

  4. Vue三步完成跨域请求

    三步完成跨域请求 ①main.js中: Vue.prototype.HOME = '/api'; ② config/index.js中: module.exports = { dev: { // Pa ...

  5. SpringBoot返回JSON

    目录 1.SpringBoot返回JSON简介 2.整合jackson-databind 3.整合Gson 4.整合fastjson 1.SpringBoot返回JSON简介 随着web开发前后端分离 ...

  6. RocketMQ消息队列部署与可视化界面安装

    MQ安装部署 最新版本下载:http://rocketmq.apache.org/release_notes 修改配置 vi conf/broker.conf 添加brokerIP1 brokerIP ...

  7. 网络请求中的cookie与set-Cookie的交互模式的一些问题解析

    首先我们需要思考,很多问题. 1.当很多人访问统一个网服务器,服务器如何来区分不同的用户呢? 答:sessionid,sessionid保证了浏览器和服务器唯一性的通信凭证号码,session保存在服 ...

  8. springboot 自定义LocaleResolver切换语言

    springboot 自定义LocaleResolver切换语言 我们在做项目的时候,往往有很多项目需要根据用户的需要来切换不同的语言,使用国际化就可以轻松解决. 我们可以自定义springboor中 ...

  9. String的常见面试题

    下面代码,是我前些天在网上搜集的一小部分String的面试题.个人觉得感触很深,希望对大家有所帮助.不好的也请大家批评指正. package com.zys.string; public class ...

  10. C# 添加、读取、删除Excel文档属性

    在文档属性中,可以设置诸多关于文档的信息,如创建时间.作者.单位.类别.关键词.备注等摘要信息以及一些自定义的文档属性.下面将通过C#程序来演示如何设置,同时对文档内的已有信息,也可以实现读取或删除等 ...