在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
确保你的防火墙允许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项目:
sudo mkdir -p /var/www/myapp
cd /var/www/myapp
如果你还没有初始化你的Node.js项目,可以使用以下命令:
npm init -y
将你的项目代码复制到/var/www/myapp
目录下,然后安装项目依赖:
npm install
安装并配置Nginx来反向代理你的Node.js应用:
sudo yum install -y nginx
编辑Nginx配置文件:
sudo vi /etc/nginx/nginx.conf
在server
块中添加以下内容:
server {
listen 80;
server_name your_domain.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;
}
}
保存并退出编辑器,然后重启Nginx:
sudo systemctl restart nginx
你可以使用pm2
来管理你的Node.js应用,确保它在后台运行:
sudo npm install -g pm2
pm2 start app.js --name myapp
为了确保你的Node.js应用在系统重启后自动启动,可以使用以下命令:
pm2 startup
pm2 save
如果你需要为你的网站配置SSL,可以使用Let’s Encrypt:
sudo yum install -y certbot python2-certbot-nginx
sudo certbot --nginx -d your_domain.com
按照提示完成SSL证书的安装和配置。
打开浏览器,访问你的域名,确保你的Node.js应用正常运行。
通过以上步骤,你应该能够在CentOS系统中成功部署你的Node.js项目。