【服务器】CentOS下部署运行NodeJs Web App
NodeJs Web App测试完成后,要怎么部署呢?介绍两个不错的方案
已知以下情景:
我要为 「kenniu」这个项目做配置
它的入口文件在 「/path/to/entry.js」
运行的User和Group都是 MrKen
node安装在了 /usr/bin/node
监听端口是2589
接下分别看这两种方案。
壹 | Fisrt
方案一:配置System,24小时保持在线
cd /etc/systemd/system/
sudo vi kenniu.service 输入以下配置信息

- sudo chmod +x kenniu.service, 加上可执行权限
完成以上操作即可,非常简单。
启动:sudo systemctl start kenniu
除了start以外,可以stop、restart,以及status查看状态(出错时可查看)。此外,还可以 sudo systemctl enable kenniu 来使这项服务开机自动启动
亲测OK,很爽很好用!
优点:
配置简单,学习成本低
出错自动重启,24保持在线(如果频次太高也是会切断的,所以最靠谱的保障还是得靠监控)
通用,不但CentOS支持,其他版本的Linux也支持
缺点:
不太灵活
貳 | Second
方案二:编写Service init脚本
cd /etc/init.d/ 或 /etc/rc.d/init.d/
sudo vi kenniu,输入shell脚本(后面再细讲)
sudo chmod +x kenniu
sudo chkconfig --add kenniu
完成以上操作即可。
启动:sudo service start kenniu
除了start以外,可以stop、restart等。
亲测成功,也很爽!

方案二的脚本怎么写
到目前为止都很简单,就剩下最难的——脚本怎么写。
其大体的框架如以下伪代码,看注释。另外点击可以获取我的完整配置,根据你的情况把上边的变量值改一下即可用。

优点:
自已写脚本处理,非常灵活,包括各个步骤要输出什么提示语都可以自己掌控
缺点:
需要学些shell脚本
不太通用,貌似CentOS、RedHat等才支持,不甚清楚
此文是闲暇时,把之前公众号的文章搬过来的。

【服务器】CentOS下部署运行NodeJs Web App的更多相关文章
- 使用Jexus 5.8.2在Centos下部署运行Asp.net core
这里安装的Jexus不是独立版本,所以需要先安装Mono 系统版本:Cenos7,Mono版本:5.0.1 Stable (5.0.1.1) Mono官方doc:http://www.mono-p ...
- Linux CentOS下部署Java Web项目
本文讲解如何在Linux CentOS下部署Java Web项目的步骤. 一.环境准备: (1)Linux CentOS (2)apache-tomcat-9.0.10 (3)XShell 二.启动t ...
- java部署系列:CentOS下部署Java7/Java8
一.前言 1.本文主要内容 CentOS下部署OracleJDK CentOS下部署OpenJDK 2.适用范围与本篇环境 适用范围 1.CentOS 6+2.Java 7+ 本篇环境 1.CentO ...
- 阿里云服务器centos下安装配置svn服务器
阿里云服务器centos下安装配置svn服务器 1.安装svn服务器端yum install subversion 从镜像下载安装svn服务器端中间会提示是否ok,输入y,确认安装成功提 ...
- CentOS 下部署Nginx+Gunicorn+Supervisor部署Flask项目
原本之前有一部分东西是在Windows Server,但是由于Gunicorn不支持Windows部署起来颇为麻烦.最近转战CentOS,折腾一段时间,终于简单部署成功.CentOS新手,作为一个总结 ...
- Centos下部署Flask
尝试在Centos6.5下部署Flask应用并成功,记录一下步骤,参数为什么这样配置还需要再研究uwsgi和Nginx才能回答. Python版本升级2.7 测试机器centos6.5默认自带的pyt ...
- [傻瓜式一步到位] 阿里云服务器Centos上部署一个Flask项目
网络上关于flask部署Centos的教程有挺多,不过也很杂乱. 在我第一次将flask上传到centos服务器中遇到了不少问题,也费了挺大的劲. 在参考了一些教程,并综合了几个教程之后才将flask ...
- 在Centos下对高并发web框架Tornado的性能进行测试
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_89 在之前的一篇文章中,我们在1g1核的惨淡硬件环境下,对 uwsgi + django 和 gunicorn+ django 的 ...
- 玩nginx部署不同的web app
需求:一台服务器上部署多个应用 ,比如www.host.com/app 映射到 www.host.com:8081 实现方法:1. nginx 使用把路径访问映射到端口上.但是遇到一个问题是web a ...
随机推荐
- hdu Caocao's Bridges(无向图边双连通分量,找出权值最小的桥)
/* 题意:给出一个无向图,去掉一条权值最小边,使这个无向图不再连同! tm太坑了... 1,如果这个无向图开始就是一个非连通图,直接输出0 2,重边(两个节点存在多条边, 权值不一样) 3,如果找到 ...
- java中线程存活和线程执行的问题!
/* 下面的程序会出现下面的情况,当Thread-0, Thread-1, Thread-2都被wait的时候,可能会同时苏醒 Thread-0 put Thread-1 put Thread-2 p ...
- Request 接收参数乱码原理解析三:实例分析
通过前面两篇<Request 接收参数乱码原理解析一:服务器端解码原理>和<Request 接收参数乱码原理解析二:浏览器端编码原理>,了解了服务器和浏览器编码解码的原理,接下 ...
- 关于WEB Service&WCF&WebApi实现身份验证之WCF篇(1)
WCF身份验证一般常见的方式有:自定义用户名及密码验证.X509证书验证.ASP.NET成员资格(membership)验证.SOAP Header验证.Windows集成验证.WCF身份验证服务(A ...
- 四、BLE(中)
1.1 GATT Manager GATT MGR模块管理所有的GATT服务,同时也是连接GATT模块与GATT ServiceS模块的桥梁. 1.1.1 主要功能模块 先来看一张该 ...
- Maven提高篇系列之(六)——编写自己的Plugin(本系列完)
这是一个Maven提高篇的系列,包含有以下文章: Maven提高篇系列之(一)——多模块 vs 继承 Maven提高篇系列之(二)——配置Plugin到某个Phase(以Selenium集成测试为例) ...
- Python生成二维码脚本
简单的记录下二维码生成和解析的Python代码 依赖下面三个包: PIL(图像处理包,安装:pip install PIL) qrcode(二维码生成包,安装:pip install qrcode) ...
- Java 多线程下的单例模式
单例对象(Singleton)是一种常用的设计模式.在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在.正是由于这个特 点,单例对象通常作为程序中的存放配置信息的载体,因为它能保证 ...
- ASP.NET MVC的过滤器
APS.NET MVC中(以下简称“MVC”)的每一个请求,都会分配给相应的控制器和对应的行为方法去处理,而在这些处理的前前后后如果想再加一些额外的逻辑处理.这时候就用到了过滤器. MVC支持的过滤器 ...
- WinForm GDI+ 资料收集
UI(User Interface)编程在整个项目开发过程中是个颇为重要的环节,任何好的解决方案若没有良好的用户界面呈现给最终用户,那么就算包含了最先进的技术也不能算是好程序.UI编程体现在两个方面, ...