在CentOS环境下部署Node.js应用程序,可以按照以下步骤进行:
首先,你需要在CentOS上安装Node.js。你可以使用NodeSource提供的Node.js二进制分发库来安装特定版本的Node.js。
添加NodeSource仓库:
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
安装Node.js:
sudo yum install -y nodejs
验证安装:
node -v
npm -v
PM2是一个进程管理器,可以帮助你管理和保持Node.js应用程序在线。
安装PM2:
sudo npm install pm2 -g
验证安装:
pm2 -v
假设你已经有一个Node.js应用程序,你可以使用PM2来启动和管理它。
进入你的项目目录:
cd /path/to/your/nodejs-app
安装项目依赖:
npm install
使用PM2启动应用程序:
pm2 start app.js --name your-app-name
这里的app.js
是你的入口文件,your-app-name
是你给应用程序起的名字。
查看应用程序状态:
pm2 status
查看日志:
pm2 logs your-app-name
为了提高性能和安全性,你可以使用Nginx作为反向代理。
安装Nginx:
sudo yum install nginx -y
启动并启用Nginx:
sudo systemctl start nginx
sudo systemctl enable nginx
配置Nginx:
编辑Nginx配置文件,通常位于/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
。
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:3000; # 你的Node.js应用程序监听的端口
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
确保你的防火墙允许HTTP和HTTPS流量。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
使用PM2的监控功能来保持应用程序的稳定运行。
查看实时日志:
pm2 logs
监控系统资源:
pm2 monit
通过以上步骤,你可以在CentOS环境下成功部署和管理Node.js应用程序。