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 相关文章推荐
通用JS事件写法实现代码
Jan 07 Javascript
javascript实现跳转菜单的具体方法
Jul 05 Javascript
利用javascript判断文件是否存在
Dec 31 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
Oct 14 Javascript
javascript跨域请求包装函数与用法示例
Nov 03 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
Jan 24 Javascript
JS实现复制内容到剪贴板功能
Feb 05 Javascript
js判断手机系统是android还是ios
Mar 07 Javascript
在node中如何使用 ES6
Apr 22 Javascript
JS实现随机抽选获奖者
Nov 07 Javascript
vue实现购物车结算功能
Jun 18 Javascript
浅谈JavaScript节流和防抖函数
Aug 25 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
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
2017/05/29 PHP
PHP PDOStatement::errorCode讲解
2019/01/31 PHP
php5对象复制、clone、浅复制与深复制实例详解
2019/08/14 PHP
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
JS实现浏览器状态栏文字从右向左弹出效果代码
2015/10/27 Javascript
JavaScript获取IP获取的是IPV6 如何校验
2016/06/12 Javascript
详解Node.js串行化流程控制
2017/05/04 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
基于 D3.js 绘制动态进度条的实例详解
2018/02/26 Javascript
浅谈React的最大亮点之虚拟DOM
2018/05/29 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
2018/12/14 Javascript
[03:40]2014DOTA2国际邀请赛 B神专访:躲箭真的很难
2014/07/13 DOTA
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
使用Python获取Linux系统的各种信息
2014/07/10 Python
用Python的Flask框架结合MySQL写一个内存监控程序
2015/11/07 Python
Python数据结构与算法之使用队列解决小猫钓鱼问题
2017/12/14 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
2018/10/11 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
Python grpc超时机制代码示例
2020/09/14 Python
HTML5-WebSocket实现聊天室示例
2016/12/15 HTML / CSS
亚马逊新加坡官方网站:Amazon.sg
2020/03/25 全球购物
文秘专业毕业生就业推荐信
2013/11/08 职场文书
优秀少先队大队辅导员事迹材料
2014/05/04 职场文书
小学社团活动总结
2014/06/27 职场文书
国际语言毕业生求职信
2014/07/08 职场文书
4s店活动策划方案
2014/08/25 职场文书
新学期红领巾广播稿
2014/10/04 职场文书
2014年保育员工作总结
2014/12/02 职场文书
写作指导:怎么书写竞聘演讲稿?
2019/07/04 职场文书
详解Django中 render() 函数的使用方法
2021/04/22 Python
解决Pytorch修改预训练模型时遇到key不匹配的情况
2021/06/05 Python
各国货币符号大全
2022/02/17 杂记