在CentOS系统上部署Node.js应用,可以按照以下步骤进行:
首先,你需要在CentOS上安装Node.js。你可以使用NodeSource的Node.js二进制分发库来安装特定版本的Node.js。
添加NodeSource仓库:
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
这里的14.x是你想要安装的Node.js版本。你可以根据需要更改版本号。
安装Node.js和npm:
sudo yum install -y nodejs
验证安装:
node -v
npm -v
假设你已经有一个Node.js应用,并且你的应用代码在一个目录中,例如/var/www/myapp。
进入应用目录:
cd /var/www/myapp
安装依赖:
npm install
配置环境变量(可选):
如果你的应用需要特定的环境变量,可以在应用目录中创建一个.env文件,并在其中定义这些变量。然后,你可以使用dotenv包来加载这些变量。
npm install dotenv
在你的应用入口文件(例如app.js或index.js)中添加:
require('dotenv').config();
启动应用:
node app.js
或者,如果你希望应用在后台运行,可以使用nohup和&:
nohup node app.js &
设置反向代理(可选): 为了更好地管理流量和提高安全性,你可以使用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 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 restart nginx
PM2是一个进程管理器,可以帮助你管理和监控Node.js应用。
sudo npm install -g pm2
pm2 start app.js --name myapp
pm2 status
pm2 logs myapp
通过以上步骤,你可以在CentOS系统上成功部署Node.js应用。