在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端口。

posted @ 2018-11-02 17:32  罗知晏  阅读(1128)  评论(0编辑  收藏  举报