在Linux服务器上部署node项目(git部署,forever持续运行,配置SSL证书)
一、环境部署
1、下载安装包:
wget https://nodejs.org/dist/v9.9.0/node-v9.9.0-linux-x64.tar.xz
2、解压并进入目录:
xz -d node-v9.9.0-linux-x64.tar.xz
tar -xvf node-v9.9.0-linux-x64.tar
cd node-v9.9.0-linux-x64
3、建立软连接:
ln -s /opt/nodejs/node-v9.9.0-linux-x64/bin/node /usr/local/bin/node
ln -s /opt/nodejs/node-v9.9.0-linux-x64/bin/npm /usr/local/bin/npm
4、检查安装情况:
通过node-v,npm-v测试安装情况。
5、安装git:
yum install git-core
二、部署node项目:
1、clone项目代码到服务器;
2、进入项目根目录并安装依赖;
3、启动node项目,启动之后就可以通过公网ip访问了。
三、forever保证node项目持续运行:
在上一步中,启动项目之后,外网访问是没问题的,但是一旦断开与远程服务器多大连接,项目自动就停止运行了,这显然是不行的,我们需要的是持续运行。
// 全局安装forever
npm i -g forever
// 通过forever启动应用
forever start app.js
// 关闭应用
forever stop app.js
// 关闭所有应用
forever stopall
// 重启所有应用
forever restartall
// 显示所有运行的服务
forever list
forever还有很多功能,可以自行研究一下。
这样通过forever启动应用之后,再断开与远程服务器的连接,发现项目仍在运行。
三、配置SSL证书,使网站支持https协议访问:
1、申请免费SSL证书(当然也可以购买),跟着提示来就可以了,审核通过以后把证书下载到本地;



2.解压下载好的证书文件,复制nginx文件夹中的文件,在你的项目中新建一个https文件夹,并把你复制的文件放进去

let https = require('https');
let fs = require('fs');
let path = require('path');
let privateCrt = fs.readFileSync(path.join(process.cwd(), 'https/1_www.kakayang.cn_bundle.crt'), 'utf8');
let privateKey = fs.readFileSync(path.join(process.cwd(), 'https/2_www.kakayang.cn.key'), 'utf8');
const HTTPS_OPTOIN = {
key: privateKey,
cert: privateCrt
};
const SSL_PORT = 443;
const httpsServer = https.createServer(HTTPS_OPTOIN, app);
httpsServer.listen(SSL_PORT, () => {
console.log(`HTTPS Server is running on: https://localhost:${SSL_PORT}`);
});
3.重启项目,发现地址栏的变化了吗?

Tips:别忘记在腾讯云控制台的安全组设置中开放443端口。
在Linux服务器上部署node项目(git部署,forever持续运行,配置SSL证书)的更多相关文章
- Linux服务器上Tomcat的Web工程部署
Linux服务器上Tomcat的Web工程部署 部署Web应用到Tomcat服务器就是将开放好的JavaWeb应用打包成war包,然后发布到tomcat服务器的webapps目录下: 步骤1,先进入t ...
- 在linux服务器上搭建Struts2项目运行环境
服务器上工作: 首先要先装java https://www.cnblogs.com/lamp01/p/8932740.html 然后装好tomcat https://www.cnblogs.com/y ...
- Linux服务器上搭建web项目环境
一.下载并安装jdk 去官网下载linux系统上jdk的安装包jdk-8u181-linux-x64.tar.gz,在Linux的/usr目录下新建文件夹java,可以使用命令:cd /usr ...
- jenkins+svn完整打包并上传到linux服务器上
因为公司用的是svn版本管理工具并且部署在了windows服务器上,所以测试环使用jenkins需要部署两套环境, 一套是在本地windows服务器,jenkins从svn下载代码完成打包并上传到li ...
- Django项目在Linux服务器上部署和躺过的坑
引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...
- linux服务器上部署项目,同时运行两个或多个tomcat
在阿里云服务器上部署项目的时候,想使用阿里云提供的负载均衡服务并创建两个监听(如图), 但需要一台服务器提供两个端口,于是就请教前辈并查询资料,得知: 一台服务器提供两个端口,有两种方式: 1.一个t ...
- 把 web 项目部署到 Linux 服务器上
1.打开 eclipse,在已经完成的 web 项目上面点击右键,选择 export,然后选择导出成 war 包. 以部署 SMBMS 项目为例 2.项目打包成 war ,选择项目导出到的位置. ...
- linux服务器上部署springboot项目,并让他持续运行到后台
我们知道在运行springboot 项目只需要java -jar + 项目的war包(jar包)名. 但是只要终端已停止那么服务就会被关闭,也就无法访问到我们的项目了.所以我们可以使用守护进程的方式来 ...
- 阿里云服务器linux系统上 安装node环境
今天将阿里云服务器重windows系统重置成了linux系统, 点击上面的实例名称,进入到 点击 更换系统盘 选择linux 的centos版本(操作前需要 停止实例) 弄好后,启动实例 下面 ...
随机推荐
- laravel 拾遗 中间件
Problem You want to add middleware to your application but don't know where to begin. Solution C ...
- Oracle PLSQL Demo - 01.定义变量、打印信息
declare v_sal ) :; begin --if you could not see the output in console, you should set output on firs ...
- C_文件包含.h文件和包含.c文件总结
很多人对C语言中的 “文件包含”都不陌生了,文件包含处理在程序开发中会给我们的模块化程序设计带来很大的好处,通过文件包含的方法把程序中的各个功能模块联系起来是模块化程序设计中的一种非常有利的手段. 文 ...
- sqlalchemy多表联合查询(inner outer join 左右连接)详解
#按用户名摸糊查询trans_details.query.join(Uses).filter(Users.username.like('%xx%'))#select xxx from trans_de ...
- c++友元函数之---一种特殊的友情
类可以允许其他类或者函数访问它的私有成员,方法是令其他类或者函数成为它的友元.如果类想把一个函数或者类声明成它的友元,只需要增加一条以friend关键字开始的声明语句即可. 友元声明只能出现在类定义的 ...
- 在腾讯开发 QQ IM 的工作体验是怎样的?
转载 http://blog.csdn.net/kobejayandy/article/details/8685271 目录 一.引言 二.个人网站 三.Oracle/支付宝/旺旺 四.淘宝技术发展( ...
- git学习(三):git暂存区
回顾之前学过的命令: git init // 初始化一个项目 git add // 将文件交给工作区 git commit // 提交修改 查看提交日志: git log // 查看提交日志 git ...
- 各种不同的mq
目前业界有很多MQ产品,我们作如下对比: RabbitMQ 是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常重量 ...
- 你用过Spring中哪些功能?
核心容器: IOC:依赖注入 AOP:日志记录,性能统计,安全控制,事务处理,异常处理 Spring MVC: Spring profile:生产和日常配置的切换 Spring事件触发功能:比较简单, ...
- c#生成rsa公钥和私钥
c#生成rsa公钥和私钥的类库,包括加密解密,可以用在网站和winform项目 源码地址: http://download.csdn.net/detail/jine515073/8383809