node项目发布+域名及其二级域名配置+nginx反向代理+pm2
学习node的时候也写了一些demo。但是只是限于本地测试,从来没有发布。今天尝试发布项目。
需要准备的东西
- node 项目:为了突出重点,说明主要问题。我只是拿express 写了很简单的demo。
- 服务器:阿里云或者其他的服务器
- lnmp 点击查看简介
- pm2 pm2 是一个带有负载均衡功能的Node应用的进程管理器.
发布步骤
1. 项目准备
共计两个文件
- index.js
- package.json
/**
* index.js
* 启动: node index.js
* app 跨域访问测试
* @type {[type]}
*/
var express = require('express');
//Post方式请求参数放在请求体里面,需引用body-parser解析body
var bodyParser = require("body-parser");
var app = express();
// 引用
app.use(bodyParser.urlencoded({
extended: false
}));
//设置跨域访问
app.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By", ' 3.2.1');
res.header("Content-Type", "application/json;charset=utf-8");
res.header("Content-Type", "application/json;charset=utf-8");
next();
});
//json数据
var data = {
"name": "Test",
"age": "19"
};
app.get('/', function(req, res) {
console.log('get..........');
console.log(req.query);
if (req.query && req.query.callback) {
var str = req.query.callback + "(" + JSON.stringify(data) + ")"; //jsonp
console.log('jsonp: ' + str);
res.end(str);
} else {
console.log('json: ' + JSON.stringify(data));
res.end(JSON.stringify(data));
}
});
app.post('/', function(req, res) {
console.log('post............');
console.log(req.body);
console.log('json: ' + JSON.stringify(data));
res.end(JSON.stringify(data));
});
app.listen(8085, function() {
console.log('Listening on port 8085...');
});
2. 服务器安装 lnmp
登录服务器,在根目录下可以安装。
- 打开lnmp-install
- 参考 下载并安装LNMP一键安装包: 复制
wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp运行。估计20 分钟。
3. 上传项目
我们采用手动上传(当然你可以使用git).
我用的是Mac,使用的工具是Cyberduck。我们上传的位置是/home/wwwroot/default/LHAAPP

这是我配置好的文件,此时目录应该只用index.js 和 package.json(不用理会index.html)
我们要安装package,json里面的包文件。必须在服务器安装node 我使用的centos系统
yum -y install nodejs
此时可以 npm i,项目配置好了。
3. 配置域名
我们发布的项目肯定是需要别人访问,就需要域名。现在我们来配置域名。
解析域名,找到要解析的域名

进入之后点击 添加解析

4. 二级域名配置
我以下的域名,都使用example.com 代替
www.example.com 已经被占用了。我们需要一个二级域名,二级域名是app.example.com
在服务器下运行lnmp vhost add

根据提示填入信息
Please enter domain(example: www.lnmp.org): app.example.com
Enter more domain name(example: lnmp.org *.lnmp.org): enter
Default directory: /home/wwwroot/LHAAPP/(你自己的目录文件)
Allow Rewrite rule? (y/n) n
Allow access log? (y/n) y
Enter access log filename(Default:test.ibs-bj.com.log): enter
Create database and MySQL user with same name (y/n) n
Add SSL Certificate (y/n) n
要按两次enter
已经配置好了。我们测试一下,在LHAAPP 下配置一个index.html 测试一下。
5 反向代理
如果不明白反向代理请自行百度。
用vim 打开usr/local/nginx/conf/nginx.conf
输入
pstream app.example.com {
# Nodejs app upstream
server 127.0.0.1:8085;
keepalive 64;
}
server {
listen 80;
server_name app.example.com;
#charset koi8-r;
#access_log logs/host.access.log main;
保存,重新启动nginx
停止 nginx -s quit
启动 nginx -c /usr/local/nginx/conf/nginx.conf
5 pm2 发布
命令行进入 我们的项目目录
运行
pm2 start index.js

我们看到

参考文章
node项目发布+域名及其二级域名配置+nginx反向代理+pm2的更多相关文章
- 配置LANMP环境(7)-- 配置nginx反向代理,与配置apache虚拟主机
一.配置nginx反向代理 1.修改配置文件 vim /etc/nginx/nginx.conf 在35行http下添加一下内容: include /data/nginx/vhosts/*.conf; ...
- CentOS 7 学习(二) 配置Nginx反向代理
CentOS 7 学习(二) 配置Nginx反向代理 Nginx可以通过php-fpm来运行PHP程序,也可以转向apache,让apache调用php程序来运行. 不过对于Nginx来说,其反向代理 ...
- 为docker私有registry配置nginx反向代理
公司的Docker私有registry已经搭建好了,用官方的registry image很容易就搭建好了.现在就是要用nginx的反向代理把它放出来,以便在外网可以访问. 我的上一篇blog 讲了如何 ...
- 使用SSL配置Nginx反向代理的简单指南
反向代理是一个服务器,它接收通过Web发出的请求,即http和https,然后将它们发送到后端服务器(或服务器).后端服务器可以是单个或一组应用服务器,如Tomcat,wildfly或Jenkins等 ...
- [亲测]ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...
- [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...
- ASP.NET Core 2.0发布/部署到Ubuntu服务器并配置Nginx反向代理
原文链接https://www.linuxidc.com/Linux/2017-12/149557.htm ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用AS ...
- Centos 7.6配置nginx反向代理,直接yum安装
一,实验介绍 利用三台centos7虚拟机搭建简单的nginx反向代理负载集群, 三台虚拟机地址及功能介绍 192.168.2.76 nginx负载均衡器 192.168.2.82 web ...
- Linux 笔记 - 第二十章 配置 Nginx 反向代理和负载均衡
一.简介 由于 Nginx 的反向代理和负载均衡功能经常被提及,所以将这两个功能单独提出来进行讲解. Nginx 其实仅仅是作为 Nginx Proxy 反向代理使用的,因为这个反向代理功能表现的效果 ...
随机推荐
- Java匹马行天下之Java帝国的崛起(大结局)
Java匹马行天下之Java帝国的崛起大结局 前言: [博客*缘] 网络真情伴, 博客友谊连. 笑中藏泪暖中寒. 回想那些悲喜, 苦涩也缠绵. 往事难回首, 新篇染旧言. 世间多少梦能全. 感谢相牵, ...
- 浅谈Spring的事务隔离级别与传播性
浅谈Spring的事务隔离级别与传播性 这篇文章以一个问题开始,如果你知道答案的话就可以跳过不看啦@(o・ェ・)@ Q:在一个批量任务执行的过程中,调用多个子任务时,如果有一些子任务发生异常,只是回滚 ...
- 从壹开始学习NetCore 45 ║ 终于解决了事务问题
一.项目说明 哈喽,又来写文章了,原来放假可以这么爽,可以学习和分享,
- 容器技术----------->Docker
1. 虚拟化 1)什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种 实体资源,如服务器.网络.内存及存储等,予以抽象.转换后呈现出来,打破实体 ...
- Flask基础(17)-->防止 CSRF 攻击
CSRF CSRF全拼为Cross Site Request Forgery,译为跨站请求伪造. CSRF指攻击者盗用了你的身份,以你的名义发送恶意请求. 包括:以你名义发送邮件,发消息,盗取你的账号 ...
- .Net Core 商城微服务项目系列(十四):分布式部署携程Apollo构建配置中心
一.开场白 在系统设计里我们有很多配置希望独立于系统之外,而又能够被系统实时读取.但是在传统的系统设计里,配置信息通常是耦合在系统内的,比如.net里通常会放在App.config或者web.conf ...
- mkdir,rmdir
mkdir (选项)(参数) 创建文件夹-m:创建文件夹的同时,赋予其权限-p:若创建目录的上层不存在时,一并创建出来-v:显示创建的过程创建多个目录的时候,用空格隔开 rmdir (选项)(参数) ...
- 实现一个图片轮播-3d播放效果
前言:最近在做一个音乐播放器,首页要做一个图片轮播,看了bootstrap的carousel插件以及移动端的swipe.js库,都是平面图片轮播的效果,所以自己想着实现类似网易云app里那种3d图片轮 ...
- ieTESTER浏览器使用ie6崩溃问题
打开浏览器在选项--internet属性--连接--局域网设置--将自动检测设置的对勾勾掉就可以 重启下浏览器
- IDEA 学习笔记之 Maven项目开发
Maven项目开发: 配置Maven: 新建Maven项目: 选择webapp: 和eclipse一样,设置: 修改maven配置,添加一个新属性,可以加快项目创建速度: 完成: 新建java和tes ...