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 函数惰性载入的实现及其优点介绍
Aug 12 Javascript
JavaScript如何从listbox里同时删除多个项目
Oct 12 Javascript
javascript实现yield的方法
Nov 06 Javascript
JQuery中$.ajax()方法参数详解及应用
Dec 12 Javascript
jQuery实现图片预加载效果
Nov 27 Javascript
JavaScipt选取文档元素的方法(推荐)
Aug 05 Javascript
JS 设置Cookie 有效期 检测cookie
Jun 15 Javascript
Vue学习笔记之表单输入控件绑定
Sep 05 Javascript
详解webpack2异步加载套路
Sep 14 Javascript
vue 实现setInterval 创建和销毁实例
Jul 21 Javascript
JavaScript 监听组合按键思路及代码实现
Jul 28 Javascript
vue.js 使用原生js实现轮播图
Apr 26 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来处理多个提交任务
2006/10/09 PHP
php生成略缩图代码
2012/07/16 PHP
JoshChen_web格式编码UTF8-无BOM的小细节分析
2013/08/16 PHP
php实现的发送带附件邮件类实例
2014/09/22 PHP
浅析Laravel5中队列的配置及使用
2016/08/04 PHP
php实现微信企业转账功能
2018/10/02 PHP
php实现登录页面的简单实例
2019/09/29 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
JavaScript 保存数组到Cookie的代码
2010/04/14 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
js在IE与firefox的差异集锦
2014/11/11 Javascript
JQuery实现简单的图片滑动切换特效
2015/11/22 Javascript
Bootstrap每天必学之表格
2015/11/23 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
全面解析Bootstrap中form、navbar的使用方法
2016/05/30 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
JS创建对象的写法示例
2016/11/04 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
深入浅析ES6 Class 中的 super 关键字
2017/10/20 Javascript
js实现一个简单的MVVM框架示例
2018/01/15 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
2019/02/21 Javascript
es6中new.target的作用和使用场景简单示例分析
2020/03/14 Javascript
基于python if 判断选择结构的实例详解
2019/05/06 Python
使用python分析统计自己微信朋友的信息
2019/07/19 Python
HTML5 Canvas 旋转风车绘制
2017/08/18 HTML / CSS
公关关系专员的自我评价分享
2013/11/20 职场文书
24岁生日感言
2014/01/13 职场文书
烟台的海导游词
2015/02/02 职场文书
上帝也疯狂观后感
2015/06/09 职场文书
《爬天都峰》教学反思
2016/02/23 职场文书
如何写好一份优秀的工作总结?
2019/06/21 职场文书
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers
SpringCloud项目如何解决log4j2漏洞
2022/04/10 Java/Android
MySQL如何使备份得数据保持一致
2022/05/02 MySQL