您现在的位置:新闻首页>赛车直播

如何在Ubuntu上使用pm2和Nginx部署Node.js应用

2018-06-01 10:49编辑:优先级新闻网人气:


如何在Ubuntu上使用pm2和Nginx部署Node.js应用

pm2 是一个 Node.js 应用的进程管理器,它可以让你的应用程序保持运行,还有一个内建的负载均衡器。它非常简单而且强大,你可以零间断重启或重新加载你的 node 应用,它也允许你为你的 node 应用创建集群。

在这篇博文中,我会向你展示如何安装和配置 pm2 用于这个简单的 'Express' 应用,然后配置 Nginx 作为运行在 pm2 下的 node 应用的反向代理。

前提:

Ubuntu 16.04 - 64bit Root 权限

第一步 - 安装 Node.js LTS

在这篇指南中,我们会从零开始我们的实验。首先,我们需要在服务器上安装 Node.js。我会使用 Nodejs LTS 6.x 版本,它能从 nodesource 仓库中安装。

从 Ubuntu 仓库安装 python-software-properties 软件包并添加 “nodesource” Nodejs 仓库。

sudo apt-get install -y python-software-properties  curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - 

安装最新版本的 Nodejs LTS:

sudo apt-get install -y nodejs 

安装完成后,查看 node 和 npm 版本。

node -v npm -v 

检查 node.js 版本

检查 node.js 版本

第二步 - 生成 Express 示例 App

我会使用 express-generator 软件包生成的简单 web 应用框架进行示例安装。express-generator 可以使用 npm 命令安装。

用 npm安装 express-generator:

npm install express-generator -g 

-g : 在系统内部安装软件包。

我会以普通用户运行应用程序,而不是 root 或者超级用户。我们首先需要创建一个新的用户。

创建一个名为 yume 的用户:

useradd -m -s /bin/bash yume passwd yume 

使用 su 命令登录到新用户:

su - yume 

下一步,用 express 命令生成一个新的简单 web 应用程序:

express hakase-app 

命令会创建新项目目录 hakase-app。

用 express-generator 生成应用框架

用 express-generator 生成应用框架

进入到项目目录并安装应用需要的所有依赖。

cd hakase-app npm install 

然后用下面的命令测试并启动一个新的简单应用程序:

DEBUG=myapp:* npm start 

默认情况下,我们的 express 应用会运行在 3000 端口。现在访问服务器的 IP 地址:192.168.33.10:3000 :

express nodejs 运行在 3000 端口

express nodejs 运行在 3000 端口

这个简单 web 应用框架现在以 'yume' 用户运行在 3000 端口。

第三步 - 安装 pm2

pm2 是一个 node 软件包,可以使用 npm 命令安装。(用 root 权限,如果你仍然以 yume 用户登录,那么运行命令 exit 再次成为 root 用户):

npm install pm2 -g 

现在我们可以为我们的 web 应用使用 pm2 了。

进入应用目录 hakase-app:

su - yume cd ~/hakase-app/ 

这里你可以看到一个名为 package.json 的文件,用 cat 命令显示它的内容。

cat package.json 

配置 express nodejs 服务

配置 express nodejs 服务

你可以看到 start 行有一个 nodejs 用于启动 express 应用的命令。我们会和 pm2 进程管理器一起使用这个命令。

像下面这样使用 pm2 命令运行 express 应用:

pm2 start ./bin/www 

现在你可以看到像下面这样的结果:

使用 pm2 运行 nodejs app

使用 pm2 运行 nodejs app

我们的 express 应用正在 pm2 中运行,名称为 www,id 为 0。你可以用 show 选项 show nodeid|name 获取更多 pm2 下运行的应用的信息。

pm2 show www 

pm2 服务状态

 

pm2 服务状态

如果你想看我们应用的日志,你可以使用 logs 选项。它包括访问和错误日志,你还可以看到应用程序的 HTTP 状态。

pm2 logs www 

pm2 服务日志

pm2 服务日志

你可以看到我们的程序正在运行。现在,让我们来让它开机自启动。

pm2 startup systemd  systemd: Ubuntu 16 使用的是 systemd。
(来源:网络整理)

织梦二维码生成器
已推荐
0
  • 凡本网注明"来源:的所有作品,版权均属于中,转载请必须注明中,http://www.jsxwbxg.com。违反者本网将追究相关法律责任。
  • 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。






图说新闻

更多>>
新手专用车现代悦纳报价及图片悦纳怎么样

新手专用车现代悦纳报价及图片悦纳怎么样



返回首页