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的商品展示放大镜
Aug 07 Javascript
JQuery右键菜单插件ContextMenu使用指南
Dec 19 Javascript
Jquery中map函数的用法
Jun 03 Javascript
AngularJS通过$sce输出html的方法
Sep 22 Javascript
半个小时学json(json传递示例)
Dec 25 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
Nov 09 jQuery
mongoose更新对象的两种方法示例比较
Dec 19 Javascript
详解javascript常用工具类的封装
Jan 30 Javascript
解决vue动态为数据添加新属性遇到的问题
Sep 18 Javascript
zepto.js 实时监听输入框的方法
Dec 04 Javascript
微信小程序中显示倒计时代码实例
May 09 Javascript
layui 富文本赋值,取值,取纯文本值的实例
Sep 18 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
Ajax PHP分页演示
2007/01/02 PHP
php简单静态页生成过程
2008/03/27 PHP
php 输出双引号"与单引号'的方法
2010/05/09 PHP
php计算两个文件相对路径的方法
2015/03/14 PHP
twig里使用js变量的方法
2016/02/05 PHP
Laravel5.1 框架表单验证操作实例详解
2020/01/07 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
jQuery asp.net 用json格式返回自定义对象
2010/04/07 Javascript
6款经典实用的jQuery小插件及源码(对话框/提示工具等等)
2013/02/04 Javascript
简介JavaScript中strike()方法的使用
2015/06/08 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
jquery弹出遮掩层效果【附实例代码】
2016/04/28 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
详解webpack 配合babel 将es6转成es5 超简单实例
2017/05/02 Javascript
js实现文字列表无缝滚动效果
2017/06/23 Javascript
jQuery中extend函数简单用法示例
2017/10/11 jQuery
vue+webpack 打包文件 404 页面空白的解决方法
2018/02/28 Javascript
vue如何进行动画的封装
2018/09/26 Javascript
JS图片懒加载的优点及实现原理
2020/01/10 Javascript
es6函数之箭头函数用法实例详解
2020/04/25 Javascript
在Webpack中用url-loader处理图片和字体的问题
2020/04/28 Javascript
在elementui中Notification组件添加点击事件实例
2020/11/11 Javascript
python多进程间通信代码实例
2019/09/30 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
python中pop()函数的语法与实例
2020/12/01 Python
Python 实现RSA加解密文本文件
2020/12/30 Python
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
校园公益广告语
2014/03/13 职场文书
2015年财政局工作总结
2015/05/21 职场文书
python 命令行传参方法总结
2021/05/25 Python
纯CSS3实现div按照顺序出入效果
2021/07/15 HTML / CSS
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL
68行Python代码实现带难度升级的贪吃蛇
2022/01/18 Python