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 相关文章推荐
使用jQuery的将桌面应用程序引入浏览器
Nov 19 Javascript
两个数组去重的JS代码
Dec 04 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
Dec 25 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
Jan 07 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
Feb 04 Javascript
IE下双击checkbox反应延迟问题的解决方法
Mar 27 Javascript
js对象的复制继承实例
Jan 10 Javascript
AngularJS入门教程之服务(Service)
Jul 27 Javascript
微信js-sdk上传与下载图片接口用法示例
Oct 12 Javascript
微信小程序 蓝牙的实现实例代码
Jun 27 Javascript
vue 使用v-for进行循环的实例代码详解
Feb 19 Javascript
微信小程序实现购物车小功能
Dec 30 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/12/06 PHP
PHP5 面向对象(学习记录)
2009/12/02 PHP
php 输出双引号"与单引号'的方法
2010/05/09 PHP
PHP分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
关于shopex同步ucenter的redirect问题,导致script不运行
2013/04/10 PHP
PHP之uniqid()函数用法
2014/11/03 PHP
php实现多维数组中每个单元值(数字)翻倍的方法
2015/02/16 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
ThinkPHP模型详解
2015/07/27 PHP
PHP获取真实客户端的真实IP
2017/03/07 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
2017/05/02 PHP
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
js关闭当前页面(窗口)的几种方式总结
2013/03/05 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
2014/09/01 Javascript
jquery滚动特效集锦
2015/06/03 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
原生js实现tab选项卡切换
2020/03/23 Javascript
AngularJS extend用法详解及实例代码
2016/11/15 Javascript
jQuery实现发送验证码并60秒倒计时功能
2016/11/25 Javascript
js控制按钮,防止频繁点击响应的实例
2017/02/15 Javascript
JS代码实现电脑配置检测功能
2018/03/21 Javascript
Vue父子组建的简单通信之控制开关Switch的实现
2018/06/04 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
vscode中Vue别名路径提示的实现
2020/07/31 Javascript
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
用纯CSS3实现网页中常见的小箭头
2017/10/16 HTML / CSS
HTML5实现一个能够移动的小坦克示例代码
2013/09/02 HTML / CSS
Urban Outfitters德国官网:美国跨国生活方式零售公司
2018/05/21 全球购物
高中毕业自我鉴定
2013/12/13 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
2015年党员公开承诺事项
2015/04/27 职场文书
修辞手法有哪些?
2019/08/29 职场文书
如何利用 CSS Overview 面板重构优化你的网站
2021/10/24 HTML / CSS