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 相关文章推荐
JSON 编辑器实现代码
Dec 06 Javascript
Jquery Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用
Mar 18 Javascript
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
Apr 25 Javascript
javascript动态改变img的src属性图片不显示的解决方法
Oct 20 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
Sep 05 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
Jun 12 Javascript
通过命令行生成vue项目框架的方法
Jul 12 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
Feb 28 Javascript
浅谈对于react-thunk中间件的简单理解
May 01 Javascript
详解Vue底部导航栏组件
May 02 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
Jan 07 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
May 20 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
php将时间差转换为字符串提示
2011/09/07 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
juqery 学习之六 CSS--css、位置、宽高
2011/02/11 Javascript
js选取多个或单个元素的实现代码(用class)
2012/08/22 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
JavaScript实现关键字高亮功能
2014/11/12 Javascript
JavaScript中document对象使用详解
2015/01/06 Javascript
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
JavaScript解八皇后问题的方法总结
2016/06/12 Javascript
简单的渐变轮播插件
2017/01/12 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
2018/12/30 Javascript
微信小程序bindinput与bindsubmit的区别实例分析
2019/04/17 Javascript
vue+ElementUI 关闭对话框清空验证,清除form表单的操作
2020/08/06 Javascript
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
[42:20]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
解决python使用open打开文件中文乱码的问题
2017/12/29 Python
pandas获取groupby分组里最大值所在的行方法
2018/04/20 Python
Python 实现还原已撤回的微信消息
2019/06/18 Python
解决pyqt5中QToolButton无法使用的问题
2019/06/21 Python
python破解bilibili滑动验证码登录功能
2019/09/11 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
2019/11/26 Python
PyCharm刷新项目(文件)目录的实现
2020/02/14 Python
Python 读取有公式cell的结果内容实例方法
2020/02/17 Python
详解python安装matplotlib库三种失败情况
2020/07/28 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
2021/02/22 Python
英文求职信写作小建议
2014/02/16 职场文书
银行办公室岗位职责
2014/03/10 职场文书
关于安全演讲稿
2014/05/09 职场文书
学习实践科学发展观心得体会
2014/09/10 职场文书
乡镇领导班子四风对照检查材料
2014/09/27 职场文书
群众路线教育实践活动自我剖析思想汇报
2014/10/04 职场文书
工程安全生产协议书
2014/11/21 职场文书
闪闪红星观后感
2015/06/08 职场文书