在 CentOS 上部署 Node.js 项目通常涉及以下几个步骤:
安装 Node.js: 首先,你需要在 CentOS 系统上安装 Node.js。你可以使用 NodeSource 提供的 Node.js 二进制分发库来安装特定版本的 Node.js。
# 导入 NodeSource 仓库的 GPG 密钥
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
# 安装 Node.js
sudo yum install -y nodejs
请将 setup_14.x
替换为你想要安装的 Node.js 版本,例如 setup_16.x
。
上传项目: 使用 SCP、SFTP 或其他文件传输方法将你的 Node.js 项目上传到 CentOS 服务器上。
安装依赖: 在项目目录中,运行以下命令来安装项目的 npm 依赖:
npm install
配置环境变量(可选):
如果你的项目需要特定的环境变量,比如数据库连接字符串或其他敏感信息,你应该在服务器上设置这些环境变量。你可以在 ~/.bashrc
或 /etc/profile.d/
下创建一个 .sh
文件来设置环境变量。
export NODE_ENV=production
export DATABASE_URL=mongodb://user:password@localhost:27017/mydatabase
然后,使环境变量生效:
source ~/.bashrc
启动项目:
使用 npm start
命令启动你的 Node.js 应用程序。你也可以使用进程管理器如 PM2 来管理你的应用,这样可以确保应用在后台运行,并且在出现故障时自动重启。
# 使用 pm2 启动应用
pm2 start app.js --name "my-app"
# 查看应用状态
pm2 status
# 查看日志
pm2 logs my-app
配置反向代理(可选): 如果你打算通过 HTTP/HTTPS 访问你的 Node.js 应用,你可能需要配置一个反向代理服务器,如 Nginx 或 Apache。这样可以在 Node.js 应用和客户端之间提供一个中间层,处理静态文件、SSL 加密、负载均衡等。
以下是一个简单的 Nginx 配置示例,用于将流量代理到 Node.js 应用:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:3000;
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;
}
}
将 example.com
替换为你的域名,并将 localhost:3000
替换为你的 Node.js 应用监听的地址和端口。
设置防火墙规则(可选): 如果你的服务器启用了防火墙,确保开放了 Node.js 应用监听的端口。
sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp
sudo firewall-cmd --reload
将 3000
替换为你的 Node.js 应用实际监听的端口。
完成以上步骤后,你的 Node.js 应用应该已经在 CentOS 上部署并运行了。记得定期检查应用的日志和性能,并根据需要进行维护和更新。