在CentOS上部署Node.js集群可以提高应用程序的性能和可靠性。以下是一个基本的步骤指南,帮助你在CentOS上设置Node.js集群。
你可以使用NodeSource来安装Node.js。以下是安装Node.js 14.x的示例:
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
sudo yum install -y nodejs
PM2是一个非常流行的Node.js进程管理器,可以帮助你管理和监控你的Node.js应用程序。
sudo npm install pm2 -g
假设你已经有一个Node.js应用程序,或者你可以创建一个简单的示例应用程序。
// app.js
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
});
server.listen(3000, () => {
console.log('Server running at http://localhost:3000/');
});
你可以使用PM2的start
命令来启动一个集群。以下是一个示例:
pm2 start app.js -i max
-i max
参数告诉PM2根据CPU核心数来启动相应数量的实例。
你可以进一步配置PM2集群模式,例如设置环境变量、日志管理等。
pm2 start app.js -i max --name my-app
你可以使用PM2的命令行工具来监控和管理你的集群。
# 查看所有进程
pm2 list
# 查看特定进程的详细信息
pm2 show <app_name>
# 停止进程
pm2 stop <app_name>
# 重启进程
pm2 restart <app_name>
# 删除进程
pm2 delete <app_name>
为了更好地处理HTTP请求和负载均衡,你可以配置Nginx作为反向代理。
首先,安装Nginx:
sudo yum install nginx -y
然后,编辑Nginx配置文件(通常位于/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
):
http {
upstream my-app {
server 127.0.0.1:3000;
server 127.0.0.1:3001;
server 127.0.0.1:3002;
}
server {
listen 80;
location / {
proxy_pass http://my-app;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
}
重启Nginx以应用配置:
sudo systemctl restart nginx
通过以上步骤,你可以在CentOS上成功部署一个Node.js集群,并使用PM2进行管理和监控。Nginx作为反向代理可以进一步提高应用程序的性能和可靠性。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: CentOS VNC服务如何安装