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 相关文章推荐
Mootools 1.2教程 定时器和哈希简介
Sep 15 Javascript
关于extjs4如何获取grid修改后的数据的问题
Aug 07 Javascript
firefox下jquery ajax返回object XMLDocument处理方法
Jan 26 Javascript
js中通过父级进行查找定位元素
Jun 15 Javascript
深入分析javascript中的错误处理机制
Jul 17 Javascript
node.js实现的装饰者模式示例
Sep 06 Javascript
nuxt+axios解决前后端分离SSR的示例代码
Oct 24 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
Nov 10 Javascript
vue项目中常见问题及解决方案(推荐)
Oct 21 Javascript
vue获取form表单的值示例
Oct 29 Javascript
微信小程序语音同步智能识别的实现案例代码解析
May 29 Javascript
vue编写简单的购物车功能
Jan 08 Vue.js
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
PHP IE中下载附件问题解决方法
2014/01/07 PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
2014/05/15 PHP
ThinkPHP空模块和空操作详解
2014/06/30 PHP
PHP魔术方法的使用示例
2015/06/23 PHP
Laravel中如何轻松容易的输出完整的SQL语句
2020/07/26 PHP
关于viewport,Ext.panel和Ext.form.panel的关系
2009/05/07 Javascript
jquery 新浪网易的评论块制作
2010/07/01 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
解析JavaScript的ES6版本中的解构赋值
2015/07/28 Javascript
JavaScript模块规范之AMD规范和CMD规范
2015/10/27 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
2017/07/11 Javascript
Python使用Beautiful Soup包编写爬虫时的一些关键点
2016/01/20 Python
python实现感知器算法(批处理)
2019/01/18 Python
对python3中, print横向输出的方法详解
2019/01/28 Python
在python中实现同行输入/接收多个数据的示例
2019/07/20 Python
Python中typing模块与类型注解的使用方法
2019/08/05 Python
关于阿里云oss获取sts凭证 app直传 python的实例
2019/08/20 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
微信小程序实现可实时改变转速的css3旋转动画实例代码
2018/09/11 HTML / CSS
用canvas实现图片滤镜效果附演示
2013/11/05 HTML / CSS
SISLEY希思黎官方旗舰店:享誉全球的奢华植物美容品牌
2018/04/25 全球购物
Grow Gorgeous美国官网:只要八天,体验唤醒毛囊后新生的茂密秀发
2018/06/04 全球购物
群胜软件Java笔试题
2012/09/29 面试题
电大毕业生自我鉴定
2013/11/10 职场文书
毕业典礼演讲稿
2014/05/13 职场文书
会计工作岗位职责
2015/02/03 职场文书
2015年监理工作总结范文
2015/04/07 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
银行中层干部培训心得体会
2016/01/11 职场文书
党员心得体会范文2016
2016/01/23 职场文书
原来实习报告是这样写的呀!
2019/07/03 职场文书
「玫瑰之王的葬礼」舞台剧主视觉图公开
2022/03/21 日漫