一、环境部署

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证书)的更多相关文章

  1. Linux服务器上Tomcat的Web工程部署

    Linux服务器上Tomcat的Web工程部署 部署Web应用到Tomcat服务器就是将开放好的JavaWeb应用打包成war包,然后发布到tomcat服务器的webapps目录下: 步骤1,先进入t ...

  2. 在linux服务器上搭建Struts2项目运行环境

    服务器上工作: 首先要先装java https://www.cnblogs.com/lamp01/p/8932740.html 然后装好tomcat https://www.cnblogs.com/y ...

  3. Linux服务器上搭建web项目环境

    一.下载并安装jdk 去官网下载linux系统上jdk的安装包jdk-8u181-linux-x64.tar.gz,在Linux的/usr目录下新建文件夹java,可以使用命令:cd /usr    ...

  4. jenkins+svn完整打包并上传到linux服务器上

    因为公司用的是svn版本管理工具并且部署在了windows服务器上,所以测试环使用jenkins需要部署两套环境, 一套是在本地windows服务器,jenkins从svn下载代码完成打包并上传到li ...

  5. Django项目在Linux服务器上部署和躺过的坑

    引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...

  6. linux服务器上部署项目,同时运行两个或多个tomcat

    在阿里云服务器上部署项目的时候,想使用阿里云提供的负载均衡服务并创建两个监听(如图), 但需要一台服务器提供两个端口,于是就请教前辈并查询资料,得知: 一台服务器提供两个端口,有两种方式: 1.一个t ...

  7. 把 web 项目部署到 Linux 服务器上

    1.打开 eclipse,在已经完成的 web 项目上面点击右键,选择 export,然后选择导出成 war 包. 以部署 SMBMS 项目为例   2.项目打包成 war ,选择项目导出到的位置. ...

  8. linux服务器上部署springboot项目,并让他持续运行到后台

    我们知道在运行springboot 项目只需要java -jar + 项目的war包(jar包)名. 但是只要终端已停止那么服务就会被关闭,也就无法访问到我们的项目了.所以我们可以使用守护进程的方式来 ...

  9. 阿里云服务器linux系统上 安装node环境

    今天将阿里云服务器重windows系统重置成了linux系统, 点击上面的实例名称,进入到 点击  更换系统盘   选择linux 的centos版本(操作前需要  停止实例) 弄好后,启动实例 下面 ...

随机推荐

  1. javascript原型继承---constructor篇

    很多人对constructor的理解是指向对象的构造函数,今天才发现这种理解是有偏差的... 其实, constructor指向的不是实例化实例的构造函数,而是实例化该对象的构造函数的原型的构造函数 ...

  2. 149. Best Time to Buy and Sell Stock【medium】

    Say you have an array for which the ith element is the price of a given stock on day i. If you were ...

  3. 终端模拟工具:Xshell 4

    终端模拟工具:Xshell 4 2016-09-20 目录 1 安装 2 配置 3 命令 Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Window ...

  4. (Python mysql驱动的解决)_mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h':问题的解决

    在win7下安装了Python后,想安装python-MySQL,使用pip安装出现如下问题: >pip install MySQL-python _mysql.c(42) : fatal er ...

  5. Codeforces Round #257 (Div. 2) E题:Jzzhu and Apples 模拟

    E. Jzzhu and Apples time limit per test 1 second memory limit per test 256 megabytes input standard ...

  6. 【Unity笔记】Behaviour Designer的使用方法

    Tasks列表 -- Composites选项 Sequence:图标是“箭头”,相当于And逻辑.下接多个子任务,它们从左到右依次执行.所有子任务执行成功,则Sequence返回成功:任一子任务执行 ...

  7. R-tree 一种空间搜索的动态索引结构

    译林:R-tree 一种空间搜索的动态索引结构Antonm Guttman 摘要为了有效地处理空间数据,正如在计算机辅助设计和地理数据应用中所要求的那样,数据库需要一种索引机制能根据它们的空间位置快速 ...

  8. 测试markdown编辑器

    标题1 标题2 +++ 第一件事 +++ 第二件事 +++ 第三件事 |head|头|头栏| |body|body|body|

  9. Log4j,Log4j2,logback,slf4j日志学习

    日志学习笔记 Log4j Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.数据库等:我们也可以控制每一条日志的输出格式:通过定义每一条 ...

  10. (四)Qt实现自定义模型基于QAbstractTableModel (一般)

    Qt实现自定义模型基于QAbstractTableModel 两个例子 例子1代码 Main.cpp #include <QtGui> #include "currencymod ...