在CentOS系统上部署Node.js项目,可以按照以下步骤进行:
首先,确保你的CentOS系统上已经安装了Node.js和npm。你可以使用以下命令来安装它们:
# 使用NodeSource二进制分发库安装Node.js和npm
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
sudo yum install -y nodejs
将你的Node.js项目文件上传到CentOS服务器上。你可以使用scp命令或者FTP工具来上传文件。
# 使用scp命令上传文件
scp -r /path/to/your/project user@your_server_ip:/path/to/destination
进入项目目录并安装项目依赖:
cd /path/to/destination/project
npm install
如果你的项目需要特定的环境变量,可以在项目根目录下创建一个.env文件,并在其中配置这些变量。然后,你可以使用dotenv包来加载这些变量。
# 安装dotenv包
npm install dotenv
# 在项目入口文件(如app.js或index.js)中加载环境变量
require('dotenv').config();
使用pm2来管理Node.js进程,这样可以更方便地进行进程管理和监控。
# 全局安装pm2
sudo npm install -g pm2
# 使用pm2启动项目
pm2 start app.js --name your_project_name
# 查看项目状态
pm2 status
# 查看日志
pm2 logs your_project_name
为了提高性能和安全性,你可以使用Nginx作为反向代理服务器。
sudo yum install -y epel-release
sudo yum install -y 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;
}
}
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来启动和管理你的Node.js应用,并监控其运行状态。
pm2 start app.js --name your_project_name
pm2 monit
通过以上步骤,你应该能够在CentOS系统上成功部署你的Node.js项目。