在CentOS上部署Node.js项目涉及几个步骤,包括安装Node.js、设置环境变量、上传项目文件、安装依赖项以及启动项目。以下是一个详细的步骤指南:
你可以使用多种方法在CentOS上安装Node.js,包括使用NodeSource二进制分发库或使用包管理器。
添加NodeSource仓库:
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
安装Node.js和npm:
sudo yum install -y nodejs
验证安装:
node -v
npm -v
安装Node.js:
sudo yum install -y nodejs
验证安装:
node -v
npm -v
确保Node.js和npm的路径在你的环境变量中。通常情况下,安装Node.js时会自动设置这些路径,但你可以手动检查和设置。
echo $PATH
如果路径中没有包含Node.js和npm的路径,可以将其添加到~/.bashrc或/etc/profile中:
export PATH=$PATH:/usr/local/bin/node:/usr/local/bin/npm
source ~/.bashrc
将你的Node.js项目文件上传到CentOS服务器。你可以使用scp、rsync或其他文件传输工具。
例如,使用scp:
scp -r /path/to/your/project user@your_server_ip:/path/to/destination
进入项目目录并安装依赖项:
cd /path/to/your/project
npm install
为了更好地处理HTTP请求和静态文件,你可以配置Nginx作为反向代理。
安装Nginx:
sudo yum install -y nginx
启动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_or_ip;
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 restart nginx
你可以使用pm2来管理Node.js应用的启动和监控。
安装pm2:
sudo npm install -g pm2
启动应用:
pm2 start app.js --name your-app-name
查看应用状态:
pm2 status
设置开机自启动:
pm2 startup
pm2 save
确保你的防火墙允许HTTP和HTTPS流量。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
完成以上步骤后,你的Node.js项目应该已经在CentOS上成功部署并可以访问了。