在CentOS上部署Node.js应用可以分为几个步骤。以下是一个基本的指南:
1. 安装Node.js
首先,你需要在CentOS上安装Node.js。你可以使用NodeSource的安装脚本来安装特定版本的Node.js。
使用NodeSource安装Node.js
-
添加NodeSource仓库:
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash - -
安装Node.js:
sudo yum install -y nodejs -
验证安装:
node -v npm -v
2. 创建Node.js应用
假设你已经有一个Node.js应用,如果没有,你可以创建一个简单的示例应用。
-
创建项目目录:
mkdir myapp cd myapp -
初始化npm项目:
npm init -y -
安装依赖:
npm install express -
创建应用文件: 创建一个
app.js文件,并添加以下内容:const express = require('express'); const app = express(); const port = 3000; app.get('/', (req, res) => { res.send('Hello World!'); }); app.listen(port, () => { console.log(`App listening at http://localhost:${port}`); });
3. 配置Nginx作为反向代理
为了使你的Node.js应用可以通过HTTP/HTTPS访问,你需要配置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.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
4. 配置防火墙
确保你的防火墙允许HTTP和HTTPS流量。
- 打开端口80和443:
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
5. 启动Node.js应用
你可以使用pm2来管理你的Node.js应用,使其在后台运行并自动重启。
-
安装pm2:
sudo npm install -g pm2 -
启动应用:
pm2 start app.js --name myapp -
设置pm2开机自启动:
pm2 startup pm2 save
6. 配置SSL(可选)
为了提高安全性,你可以配置SSL证书。
-
安装Certbot:
sudo yum install -y certbot python2-certbot-nginx -
获取并安装SSL证书:
sudo certbot --nginx -d your_domain.com
按照提示完成SSL证书的安装和配置。
总结
通过以上步骤,你可以在CentOS上成功部署一个Node.js应用,并使用Nginx作为反向代理,配置防火墙和SSL证书以提高安全性和可靠性。
以上就是关于“在CentOS上如何部署Node.js应用”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm