在CentOS上部署Node.js RESTful API涉及几个步骤,包括安装Node.js、设置环境、部署代码和配置Nginx(或其他Web服务器)。以下是一个详细的步骤指南:
首先,你需要在CentOS上安装Node.js。你可以使用NodeSource的二进制分发库来安装特定版本的Node.js。
# 添加NodeSource库
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
# 安装Node.js和npm
sudo yum install -y nodejs
确保你的Node.js和npm版本是最新的。
# 更新Node.js和npm
sudo yum update nodejs npm
假设你已经有一个Node.js RESTful API项目,并且你的代码已经托管在Git仓库中。
# 克隆你的项目代码
git clone https://github.com/your-repo/your-api-project.git
cd your-api-project
# 安装项目依赖
npm install
Nginx将作为反向代理服务器来处理HTTP请求并将它们转发到你的Node.js应用程序。
# 安装Nginx
sudo yum install -y nginx
编辑Nginx配置文件以设置反向代理。
# 编辑Nginx配置文件
sudo vi /etc/nginx/nginx.conf
在server
块中添加以下内容:
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost:3000; # 假设你的Node.js应用运行在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;
}
}
# 启动Nginx
sudo systemctl start nginx
# 设置Nginx开机自启动
sudo systemctl enable nginx
你可以使用pm2
来管理你的Node.js应用程序,确保它在后台运行并且自动重启。
# 安装pm2
sudo npm install -g pm2
# 使用pm2启动你的Node.js应用程序
pm2 start app.js --name your-api-app
# 设置pm2开机自启动
pm2 startup
pm2 save
确保你的防火墙允许HTTP和HTTPS流量。
# 允许HTTP和HTTPS流量
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
打开浏览器并访问你的域名(例如 http://yourdomain.com
),你应该能够看到你的Node.js RESTful API的响应。
通过以上步骤,你已经成功在CentOS上部署了一个Node.js RESTful API。