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 相关文章推荐
用js实现层随着内容大小动态渐变改变 推荐
Dec 19 Javascript
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
Apr 08 Javascript
jquery的相对父元素和相对文档定位示例代码
Aug 02 Javascript
jquery的attr方法禁用表单元素禁用输入内容
Jun 23 Javascript
DOM操作一些常用的属性汇总
Mar 13 Javascript
javascript设计简单的秒表计时器
Sep 05 Javascript
简单实现js选项卡切换效果
Feb 03 Javascript
JS DOM实现鼠标滑动图片效果
Sep 17 Javascript
基于BootStrap的文本编辑器组件Summernote
Oct 27 Javascript
JS实现的数组去除重复数据算法小结
Nov 17 Javascript
vue路由拦截器和请求拦截器知识点总结
Nov 08 Javascript
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
Jun 09 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之require/include顺序 推荐
2011/01/02 PHP
PHP中uploaded_files函数使用方法详解
2011/03/09 PHP
php后门URL的防范
2013/11/12 PHP
php 如何设置一个严格控制过期时间的session
2017/05/05 PHP
两个DIV等高的JS的实现代码
2007/12/23 Javascript
JavaScript之引用类型介绍
2012/08/10 Javascript
使用firebug进行调试javascript的示例
2013/12/16 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
2014/11/24 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
JavaScript入门基础
2015/08/12 Javascript
jquery拖拽效果完整实例(附demo源码下载)
2016/01/14 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
详解webpack + vue + node 打造单页面(入门篇)
2017/09/23 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
2017/10/24 Javascript
vue移动端UI框架实现QQ侧边菜单组件
2018/03/09 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
2018/08/10 Javascript
JavaScript创建防篡改对象的方法分析
2018/12/30 Javascript
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
Linux下python与C++使用dlib实现人脸检测
2018/06/29 Python
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
Django中间件拦截未登录url实例详解
2019/09/03 Python
python实现智能语音天气预报
2019/12/02 Python
Django自带的加密算法及加密模块详解
2019/12/03 Python
将数据集制作成VOC数据集格式的实例
2020/02/17 Python
python简单实现最大似然估计&scipy库的使用详解
2020/04/15 Python
摩托车和ATV零件、配件和服装的首选在线零售商:MotoSport
2017/12/22 全球购物
美国羊皮公司:Overland
2018/01/15 全球购物
MySQL面试题目集锦
2016/04/14 面试题
专升本自我鉴定
2013/10/10 职场文书
应届毕业生个人求职自荐信
2014/01/06 职场文书
村官学习十八大感想
2014/01/15 职场文书
小学校园活动策划
2014/01/30 职场文书
中国入世承诺
2014/04/01 职场文书
运动会3000米加油稿
2015/07/21 职场文书
Nginx工作原理和优化总结。
2021/04/02 Servers