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的2种继承方式详解
Mar 04 Javascript
浅谈jquery回调函数callback的使用
Jan 30 Javascript
jquery实现漫天雪花飞舞的圣诞祝福雪花效果代码分享
Aug 20 Javascript
jquery解析json格式数据的方法(对象、字符串)
Nov 24 Javascript
JavaScript中循环遍历Array与Map的方法小结
Mar 12 Javascript
AngularJS中实现动画效果的方法
Jul 28 Javascript
Bootstrap基本组件学习笔记之分页(12)
Dec 08 Javascript
详解vue2.0组件通信各种情况总结与实例分析
Mar 22 Javascript
webpack 从指定入口文件中提取公共文件的方法
Nov 13 Javascript
React精髓!一篇全概括小结(急速)
May 23 Javascript
微信小程序环境下将文件上传到OSS的方法步骤
May 31 Javascript
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
Oct 26 jQuery
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
thinkphp判断访客为手机端或PC端的方法
2014/11/24 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
文本框根据输入内容自适应高度的代码
2011/10/24 Javascript
jQuery中$.fn的用法示例介绍
2013/11/05 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
JavaScript中的原型和继承详解(图文)
2014/07/18 Javascript
javascript检测是否联网的实现代码
2014/09/28 Javascript
js实现鼠标滚轮控制图片缩放效果的方法
2015/02/20 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
vue.js指令v-for使用以及下标索引的获取
2019/01/31 Javascript
Jquery动态列功能完整实例
2019/08/30 jQuery
nest.js 使用express需要提供多个静态目录的操作方法
2019/10/24 Javascript
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
python更新列表的方法
2015/07/28 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
2018/01/20 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
在python中使用nohup命令说明
2020/04/16 Python
Django url 路由匹配过程详解
2021/01/22 Python
纯CSS3实现给头像加个光芒四射且旋转的背景动画效果
2014/05/07 HTML / CSS
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
美国真皮手袋品牌:GiGi New York
2017/03/10 全球购物
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
军训自我鉴定范文
2014/02/13 职场文书
应届毕业生求职信范文
2014/07/07 职场文书
办公室岗位职责
2015/02/04 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
护士业务学习心得体会
2016/01/25 职场文书
浅谈Golang 嵌套 interface 的赋值问题
2021/04/29 Golang
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript
Python中字符串对象语法分享
2022/02/24 Python
css弧边选项卡的项目实践
2023/05/07 HTML / CSS