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 相关文章推荐
Table冻结表头示例代码
Aug 20 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
Sep 10 Javascript
js闭包实例汇总
Nov 09 Javascript
javascript使用输出语句实现网页特效代码
Aug 06 Javascript
js调用webservice构造SOAP进行身份验证
Apr 27 Javascript
angular.js分页代码的实例
Jul 27 Javascript
js改变html的原有内容实现方法
Oct 05 Javascript
从零学习node.js之模块规范(一)
Feb 21 Javascript
代码详解Vuejs响应式原理
Dec 20 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
Mar 28 Javascript
微信小程序实现带缩略图轮播效果
Nov 04 Javascript
微信小程序实现pdf、word等格式文件上传的方法
Sep 10 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 smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
PHP函数学习之PHP函数点评
2012/07/05 PHP
js异或加解密效果代码
2008/06/25 Javascript
JavaScript 调试器简介
2009/02/21 Javascript
div移动 输入框不能输入的问题
2009/11/19 Javascript
JavaScript类和继承 constructor属性
2010/03/04 Javascript
基于jquery的tab切换 js原理
2010/04/01 Javascript
jquery mobile changepage的三种传参方法介绍
2013/09/13 Javascript
如何在node的express中使用socket.io
2014/12/15 Javascript
javascript对象的创建和访问
2016/03/08 Javascript
深入理解vue.js中的v-if和v-show
2017/06/22 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
vue数据传递--我有特殊的实现技巧
2018/03/20 Javascript
webstorm中vue语法的支持详解
2018/05/09 Javascript
小程序转发探索示例
2019/02/19 Javascript
Vuex实现数据增加和删除功能
2019/11/11 Javascript
node使用mysql获取数据库数据中文乱码问题的解决
2019/12/02 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
Python的Django框架中的Context使用
2015/07/15 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
Python中import机制详解
2017/11/14 Python
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
2018/05/04 Python
Python 多线程其他属性以及继承Thread类详解
2019/08/28 Python
python实现门限回归方式
2020/02/29 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
2020/03/02 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
马来西亚在线时尚女装商店:KEI MAG
2017/09/28 全球购物
澳大利亚家具和家居用品在线:BROSA
2017/11/02 全球购物
实习销售业务员自我鉴定
2013/09/21 职场文书
初二政治教学反思
2014/01/12 职场文书
《李广射虎》教学反思
2014/04/27 职场文书
学校火灾防控方案
2014/06/09 职场文书
小学捐书活动总结
2014/07/05 职场文书
致青春观后感
2015/06/09 职场文书
Python Matplotlib绘制动画的代码详解
2022/05/30 Python