自建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端口
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应用的更多相关文章
- 使用PHPstudy在Windows服务器下部署PHP系统
PHP网站一般运行在Apache服务器上,IIS服务器上也可以运行,但是不推荐,windows服务器上没有集成Apache跟PHP的运行环境,但是借助第三方的软件就能很好的搞定,一般这样的软件有很多, ...
- .Net Core WebApi(二)在Windows服务器上部署
上一篇学习到了如何简单的创建.Net Core Api和Swagger使用,既然写了接口,那么就需要部署到服务器上才能够正式使用.服务器主要用到了两种系统,Windows和Linux,.Net和Win ...
- (搬运)使用PHPstudy在Windows服务器下部署PHP系统
原帖地址:http://www.php.cn/php-weizijiaocheng-406175.html 这篇文章主要介绍了关于使用PHPstudy在Windows服务器下部署PHP系统,有着一定的 ...
- 【转载】阿里云Windows服务器快速部署PHP运行环境
PHP也是一种常用的网站脚本语言,时常用于网站应用程序的编写,PHP运行环境包含几个要素:PHP.Apache服务器.MySql数据库,此3个要素是Php网站运行的必要条件.在阿里云的Windows服 ...
- 使用nssm在windows服务器上部署nodejs
Linux上,可以轻松的使用forever或者pm2来部署nodejs应用.但是在windows下就麻烦了,pm2明确的说支持Linux & MacOS,forever在windows下貌似问 ...
- nssm在windows服务器上部署nodejs,coffee启动方式
本想用forever / pm2 来部署nodejs, 百度后发现只能在Linux系统上使用,window上没法使用,兜一圈后又转nssm了.... 在Linux上,可以轻松的使用forever或者p ...
- 谈谈我的windows服务器运维管理
我们开发的页游General War(http://gw.gamebox.com)上线运营也有半年多了,服务器的开发到运维基本都由我一手包办,在服务器上线之后我们又招了一个程序员接手后续功能的开发,而 ...
- (一)JAVA项目(非web项目)部署到windows服务器运行
[转]http://blog.csdn.net/tracy19880727/article/details/11205063 一般服务器运行的几乎都是web项目,今天遇到一个问题,把写好的Java项目 ...
- 部署AlwaysOn第一步:搭建Windows服务器故障转移集群
在Windows Server 2012 R2 DataCenter 环境中搭建集群之前,首先要对Windows服务器故障转移集群(Windows Server Failover Cluster,简称 ...
随机推荐
- 只要听说过电脑的人都能看懂的网上pdf全书获取项目
作者:周奇 最近我要获取<概统>的教材自学防挂科(线代已死),于是我看到 htt链ps:/链/max链.book接118接.com接/html/2018/0407/160495927.sh ...
- pywintypes.com_error: (-2147352567, '发生意外 解决方案
在使用win32com处理Excel的时候,遇到pywintypes.com_error: (-2147352567 错误. 百度.Google各种方法不得其解,和以下网页类似——http://blo ...
- Mysql高手系列 - 第22篇:深入理解mysql索引原理,连载中
Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能. 欢迎大家加我微信itsoku一起交流java.算法.数据库相关技术. 这是Mysql系列第22篇. 背景 使用mys ...
- 【JavaScript】 直接下载保存文件
//直接下载保存文件 function Download(filePath) { // 如果中间IFRAME不存在,则添加 if (!document.getElementById("_SA ...
- react16 路由按需加载、路由权限配置
1. 路由按需加载: 不做按需加载,代码全部打包在bundle.js 文件里,首屏渲染很慢,项目文件较多,会出现1分钟加载的可能性. import React, { Component } from ...
- Selenium+PhantomJS使用时报错原因
运行下面代码:'''PhantomJS运用''' from selenium import webdriverimport time # 通过keys模拟键盘from selenium.webdriv ...
- 刨ThreadLocal的坟
ThreadLocal是大家比较常用到的,在多线程下存储线程相关数据十分合适.可是很多时候我们并没有深入去了解它的原理. 首选提出几个问题,稍后再针对这些问题一一解答. 提到ThreadLocal,大 ...
- Django-admin站点管理的详细使用
使用Django的管理模块,需要按照如下步骤操作: 管理界面本地化 创建管理员 注册模型类 自定义管理页面 1 管理界面本地化 在settings.py中设置语言和时区 LANGUAGE_CODE = ...
- 基于 Web 端 3D 地铁站可视化系统
前言 工业互联网,物联网,可视化等名词在我们现在信息化的大背景下已经是耳熟能详,日常生活的交通,出行,吃穿等可能都可以用信息化的方式来为我们表达,在传统的可视化监控领域,一般都是基于 Web SCAD ...
- 从源码的角度彻底搞懂 HandlerMapping 和 HandlerAdapter
彻底搞懂 HandlerMapping和HandlerAdapter 知识点的回顾: 当Tomcat接收到请求后会回调Servlet的service方法,一开始入门Servlet时,我们会让自己的Se ...