如何在centos下部署Node环境

如何在centos下部署Node环境,第1张

下载并安装 Nodejs

下载最新的稳定版 v6103 到本地

wget >

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

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

前提:

Ubuntu 1604 - 64bit

Root 权限

第一步 - 安装 Nodejs LTS

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

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

sudo apt-get install -y python-software-properties

curl -sL >

安装最新版本的 Nodejs LTS:

sudo apt-get install -y nodejs

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

node -v

npm -v

检查 nodejs 版本

第二步 - 生成 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 生成应用框架

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

cd hakase-app

npm install

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

DEBUG=myapp: npm start

默认情况下,我们的 express 应用会运行在 3000 端口。现在访问服务器的 IP 地址:1921683310: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/

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

cat packagejson

配置 express nodejs 服务

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

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

pm2 start /bin/>

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

使用 pm2 运行 nodejs app

我们的 express 应用正在 pm2 中运行,名称为 >

pm2 show >

pm2 服务状态

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

pm2 logs >

pm2 服务日志

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

pm2 startup systemd

systemd: Ubuntu 16 使用的是 systemd。

你会看到要用 root 用户运行命令的信息。使用 exit 命令回到 root 用户然后运行命令。

sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u yume --hp /home/yume

它会为启动应用程序生成 systemd 配置文件。当你重启服务器的时候,应用程序就会自动运行。

pm2 添加服务到开机自启动

第四步 - 安装和配置 Nginx 作为反向代理

在这篇指南中,我们会使用 Nginx 作为 node 应用的反向代理。Ubuntu 仓库中有 Nginx,用 apt 命令安装它:

sudo apt-get install -y nginx

下一步,进入到 sites-available 目录并创建新的虚拟主机配置文件。

cd /etc/nginx/sites-available/

vim hakase-app

粘贴下面的配置:

upstream hakase-app {

# Nodejs app upstream

server 127001:3000;

keepalive 64;

}

# Server on port 80

server {

listen 80;

server_name hakase-nodeco;

root /home/yume/hakase-app;

location / {

# Proxy_pass configuration

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host $>

proxy_set_header X-NginX-Proxy true;

proxy_>

proxy_set_header Upgrade $>

proxy_set_header Connection "upgrade";

proxy_max_temp_file_size 0;

proxy_pass >

proxy_redirect off;

proxy_read_timeout 240s;

}

}

保存文件并退出 vim。

在配置中:

node 应用使用域名 hakase-nodeco 运行。

所有来自 nginx 的流量都会被转发到运行在 3000 端口的 node app。

测试 Nginx 配置确保没有错误。

nginx -t

启用 Nginx 并使其开机自启动。

systemctl start nginx

systemctl enable nginx

第五步 - 测试

打开你的 web 浏览器并访问域名(我的是):>

你可以看到 express 应用正在 Nginx web 服务器中运行。

Nodejs app 在 pm2 和 Nginx 中运行

下一步,重启你的服务器,确保你的 node app 能开机自启动:

pm2 save

sudo reboot

如果你再次登录到了你的服务器,检查 node app 进程。以 yume 用户运行下面的命令。

su - yume

pm2 status >

nodejs 在 pm2 下开机自启动

Node 应用在 pm2 中运行并使用 Nginx 作为反向代理。

NodeJS服务通过docker部署具有上下线便捷、容易扩展(批量部署)等优点;只需一次打包镜像文件,做到快速部署,秒启动。

该部署文件适用于Egg、midway等框架方案项目的打包部署

在项目的根目录下创建Dockerfile; (这里名字自定义)

-f 指向Dockerfile配置文件

-t 命名数据的镜像文件名称

后面有个 () 表示当前目录

express -ejs rty-server生成

重启node,访问服务器地址查看

用vue-cli初始化项目

把生成的dist文件中的indexhtml改名为indexejs放进服务器上node项目view目录(覆盖)

把static文件放进public目录

pm2 start /bin/>

通过输入域名访问部署在本机的nodejs服务器方法:

修改系统的hosts文件就可以了,比如(想用的域名为:myappcom,前面加上>

以上就是关于如何在centos下部署Node环境全部的内容,包括:如何在centos下部署Node环境、如何将网站部署到node服务器、如何在 Ubuntu 上使用 pm2 和 Nginx 部署 Node.js 应用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10090373.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存