NodeJs Web App测试完成后,要怎么部署呢?介绍两个不错的方案

已知以下情景:

  1. 我要为 「kenniu」这个项目做配置

  2. 它的入口文件在 「/path/to/entry.js」

  3. 运行的User和Group都是 MrKen

  4. node安装在了 /usr/bin/node

  5. 监听端口是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的更多相关文章

  1. 使用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 ...

  2. Linux CentOS下部署Java Web项目

    本文讲解如何在Linux CentOS下部署Java Web项目的步骤. 一.环境准备: (1)Linux CentOS (2)apache-tomcat-9.0.10 (3)XShell 二.启动t ...

  3. java部署系列:CentOS下部署Java7/Java8

    一.前言 1.本文主要内容 CentOS下部署OracleJDK CentOS下部署OpenJDK 2.适用范围与本篇环境 适用范围 1.CentOS 6+2.Java 7+ 本篇环境 1.CentO ...

  4. 阿里云服务器centos下安装配置svn服务器

      阿里云服务器centos下安装配置svn服务器 1.安装svn服务器端yum install subversion      从镜像下载安装svn服务器端中间会提示是否ok,输入y,确认安装成功提 ...

  5. CentOS 下部署Nginx+Gunicorn+Supervisor部署Flask项目

    原本之前有一部分东西是在Windows Server,但是由于Gunicorn不支持Windows部署起来颇为麻烦.最近转战CentOS,折腾一段时间,终于简单部署成功.CentOS新手,作为一个总结 ...

  6. Centos下部署Flask

    尝试在Centos6.5下部署Flask应用并成功,记录一下步骤,参数为什么这样配置还需要再研究uwsgi和Nginx才能回答. Python版本升级2.7 测试机器centos6.5默认自带的pyt ...

  7. [傻瓜式一步到位] 阿里云服务器Centos上部署一个Flask项目

    网络上关于flask部署Centos的教程有挺多,不过也很杂乱. 在我第一次将flask上传到centos服务器中遇到了不少问题,也费了挺大的劲. 在参考了一些教程,并综合了几个教程之后才将flask ...

  8. 在Centos下对高并发web框架Tornado的性能进行测试

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_89 在之前的一篇文章中,我们在1g1核的惨淡硬件环境下,对 uwsgi + django 和 gunicorn+ django 的 ...

  9. 玩nginx部署不同的web app

    需求:一台服务器上部署多个应用 ,比如www.host.com/app 映射到 www.host.com:8081 实现方法:1. nginx 使用把路径访问映射到端口上.但是遇到一个问题是web a ...

随机推荐

  1. 邻接表无向图(二)之 C++详解

    本章是通过C++实现邻接表无向图. 目录 1. 邻接表无向图的介绍 2. 邻接表无向图的代码说明 3. 邻接表无向图的完整源码 转载请注明出处:http://www.cnblogs.com/skywa ...

  2. .Net Request.Form含有危险字符的处理办法

    今天我们的网站遇到一个问题,下标就类似于化学分子式这样的是需要用"<sub></sub>"这个标签括起来的,当时没有转义,有部分标签就显示不出来了, 后来我 ...

  3. 理解 angular2 基础概念和结构 ----angular2系列(二)

    前言: angular2官方将框架按以下结构划分: Module Component Template Metadata Data Binding Directive Service Dependen ...

  4. 补充$.extend()

    这里多谢某童鞋的提醒!说我的上篇随笔jquery插件开发的方式一还还可用于合并参数和深clone,虽然方式二中用了方式一做参数合并,但并未详细介绍,所以今天在此处做点补充! 一.合并参数 jquery ...

  5. [SDK2.2]Windows Azure Virtual Network (2) 创建简单的Virtual Network

    <Windows Azure Platform 系列文章目录> 本章笔者将介绍如何创建一个简单的 Virtual Network. 1.首先我们登陆Windows Azure管理界面 ht ...

  6. 博客已经迁移至http://www.xuechenlei.com

    博客园是个非常好的公共平台,这里总有我想找的东西,本着人生在于折腾的精神和一些个性化的定制,将博客内容迁移到www.xuechenlei.com,时而同步分享到这里,欢迎访问关注:

  7. ios基础之 view的frame 与 bounds 的区别 (转)

    前言: 学习ios开发有一段时间了,项目也做了两个了,今天看视频,突然发现view的frame和bound两个属性,发现bound怎么也想不明白,好像饶你了死胡同里,经过一番尝试和思考,终于弄明白bo ...

  8. win10系统下点击关机却自动重启的问题解决思路

    第一步.进入win10系统后,我们点击开始菜单上鼠标右键,选择控制面板   第二步.找到电源选项,点击进去(如何没发现,点击右上角查看方式,更换为小图标)   第三步.点击选择关闭盖子的功能   第四 ...

  9. 暴力枚举 + 24点 --- hnu : Cracking the Safe

    Cracking the Safe Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit u ...

  10. Android ADB 命令大全

    1 cpu号: 文件在: /proc/cpuinfo 通过Adb shell 查看: adb shell cat /proc/cpuinfo 2 mac 地址 文件路径 /sys/class/net/ ...