pm2 部署 node的三种方法示例


Posted in Javascript onOctober 20, 2017

Node安装以及部署

去官网下载最新版本,分两种一种是源码,一种是编译后的文件。下面是官网下载地址: https://nodejs.org/en/download/current/  分不同的版本 win linux mac 下载对应版本

 以linux Windows为例

Linux 下安装:(方法一)

 1.1把下载的tar.gz压缩包文件解压

 1.2解压命令: tar -zxvf (压缩包的名字.tar.gz) 

1.3解压完成后就可以在bin文件中看见 node 和 npm 文件 在当前目录下执行./node可以执行node客户端

 1.4设置客户端:两条命令 node 和 npm 
(kun/mysofltware/node-v0.10.28-linux-x64/bin/node)node文件存放位置根据自己存放位置而定

ln -s /home/kun/mysofltware/node-v0.10.28-linux-x64/bin/node /usr/local/bin/node
ln -s /home/kun/mysofltware/node-v0.10.28-linux-x64/bin/npm /usr/local/bin/npm

1.5在node目录下执行pwd 获取node所在的目录,要把这个目录添加到PATH环境变量

1.6执行su 输入密码切换到root用户 执行命令:vi /etc/profile

1.7在vi 环境下 点击 i 进入插入状态,在export PATH的上一行添加如下内容 (环境变量中的内容 是以冒号分割的)

PATH=$PATH:/home/kun/mysofltware/node-v0.10.26-linux-x64/bin

编辑完成后按Esc键 然后输入 :wq 按回车保存退出。

1.8退出vi ,执行 source /etc/profile 可以让变量生效

1.9然后执行 echo $PATH ,看看输出内容是否包含自己添加的内容

 Linux 下安装:(方法二)

2.1把下载的source code源码解压

2.2  以此执行以下命令

cd node-v0.10
./configure
Make
Make install
cp /usr/local/bin/node /usr/sbin/

Linux 下安装:(方法三)【不推荐】

apt-get 方式

Sudo apt-get install node.js
Sudo apt-get install npm

Windows 下安装比较简单下载下一步(不赘述)

安装redis数据库

3.1 下载源码,解压缩后编译源码。

wget http://download.redis.io/releases/redis-2.8.3.tar.gz
tar xzf redis-2.8.3.tar.gz
cd redis-2.8.3
make

3.2编译完成后,在Src目录下,有四个可执行文件redis-server、redis-benchmark、    redis-cli和redis.conf。然后拷贝到一个目录下。

mkdir /usr/redis
cp redis-server /usr/redis
cp redis-benchmark /usr/redis
cp redis-cli /usr/redis
cp redis.conf /usr/redis
cd /usr/redis

3.3启动Redis服务

redis-server  redis.conf

3.4然后用客户端测试一下是否启动成功。

redis-cli
redis> set foo bar
OK
redis> get foo"bar"

代码上传

4.1打包:命令 (node_modules  .idea  .git ne.tar.gz 这些文件不打包减小压缩包大小)

$ tar cvzf ne.tar.gz ./ --exclude=node_modules --exclude=.idea --exclude=.git --exclude=ne.tar.gz

4.2上传:命令

$ scp ./ne.tar.gz  主机名@IP地址:文件夹的路径

4.3 执行命令登录远程主机  ssh 主机名@IP地址  然后会提示输入密码

4.4 cd  ls   进入上传压缩包所在的目录 执行 tar -zxvf ne.tar.gz 解压文件

4.5 npm 安装环境依赖  执行命令 npm install

部署前查询DNS 端口 root 权限下

5.1  命令:$ netstart -ntupl

关闭防火墙root权限下

6.1  firewall-cmd --zone=public --add-port=9010/tcp --permanent

6.2  firewall-cmd --reload

注:9010处为项目需要开启的端口号

安装pm2

7.1 su 获得 root 权限下下载pm2

命令: $ npm install pm2 -g

$ pm2 start www 启动进程

8.2 安装开机自启动 在root 权限下 执行如下命令

$ pm2 startup
$ pm2 save

9.3 一些常用pm2 命令

$ pm2 list 查看启动状况
$ pm2 restart 重启项目
$ pm2 stop  关闭

其他命令 可参考  https://www.npmjs.com/package/pm2

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
[推荐]javascript 面向对象技术基础教程
Mar 03 Javascript
JavaScript中SQL语句的应用实现
May 04 Javascript
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
Mar 05 Javascript
jQuery为iframe的body添加click事件的实现代码
Apr 07 Javascript
js滚动条回到顶部的代码
Dec 06 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
Apr 12 Javascript
JS结合bootstrap实现基本的增删改查功能
Jul 22 Javascript
使用 bootstrap modal遇到的问题小结
Nov 09 Javascript
原生js实现倒计时功能(多种格式调用)
Jan 12 Javascript
微信小程序icon组件使用详解
Jan 31 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
May 08 Javascript
Vue中父子组件通讯之todolist组件功能开发
May 21 Javascript
vue.js实例对象+组件树的详细介绍
Oct 20 #Javascript
dropload.js插件下拉刷新和上拉加载使用详解
Oct 20 #Javascript
JavaScript html5 canvas实现图片上画超链接
Oct 20 #Javascript
Validform验证时可以为空否则按照指定格式验证
Oct 20 #Javascript
jquery select插件异步实时搜索实例代码
Oct 20 #jQuery
移动端效果之IndexList详解
Oct 20 #Javascript
详解webpack性能优化——DLL
Oct 20 #Javascript
You might like
一个好用的分页函数
2006/11/16 PHP
php preg_filter执行一个正则表达式搜索和替换
2012/02/27 PHP
解析如何屏蔽php中的phpinfo()函数
2013/06/06 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
2013/08/10 PHP
destoon实现资讯信息前面调用它所属分类的方法
2014/07/15 PHP
yii使用activeFileField控件实现上传文件与图片的方法
2015/12/28 PHP
PHP magento后台无法登录问题解决方法
2016/11/24 PHP
某人初学javascript的时候写的学习笔记
2010/12/30 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
jquery使用append(content)方法注意事项分享
2014/01/06 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
BootStrap无限级分类(无限极分类封装版)
2016/08/26 Javascript
Bootstrap响应式侧边栏改进版
2016/09/17 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
2016/11/28 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
javascript+html5+css3自定义提示窗口
2017/06/21 Javascript
Vue基于NUXT的SSR详解
2017/10/24 Javascript
Vue集成Iframe页面的方法示例
2017/12/12 Javascript
Swiper自定义分页器使用详解
2017/12/28 Javascript
vue-cli+iview项目打包上线之后图标不显示问题及解决方法
2019/10/16 Javascript
js抽奖转盘实现方法分析
2020/05/16 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
python 中文乱码问题深入分析
2011/03/13 Python
Python3.x版本中新的字符串格式化方法
2015/04/24 Python
python 读取txt,json和hdf5文件的实例
2018/06/05 Python
python实现图片彩色转化为素描
2019/01/15 Python
python切片作为占位符使用实例讲解
2021/02/17 Python
canvas粒子动画背景的实现示例
2018/09/03 HTML / CSS
应届毕业生应聘自荐信
2013/12/07 职场文书
大学生学习2014年全国两会心得体会
2014/03/12 职场文书
卖房协议书样本
2014/10/30 职场文书
荆州古城导游词
2015/02/06 职场文书
技术支持岗位职责
2015/02/13 职场文书
2015年政教主任工作总结
2015/07/23 职场文书
干货干货!2019最新优秀创业计划书
2019/03/21 职场文书
Python Socket编程详解
2021/04/25 Python