CentOS与Node.js的集成主要围绕 安装配置、进程管理、生产环境优化(如反向代理、防火墙设置)三个核心环节展开,以下是具体方法:
NodeSource提供CentOS兼容的二进制分发库,可安装最新或指定版本的Node.js(如LTS版本)。步骤如下:
sudo yum remove nodejs npmsudo yum install -y curl gcc-c++ makecurl -sL https://rpm.nodesource.com/setup_18.x | sudo bash -sudo yum install -y nodejsnode -v(显示版本号)、npm -v(显示npm版本)。适合需要切换不同Node.js版本的开发或测试环境。步骤如下:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bashsource ~/.bashrc(或~/.zshrc,根据shell类型调整)nvm install node(或指定版本,如nvm install 18.16.0)nvm alias default nodenode -v。若无需特定版本,可直接用CentOS默认仓库安装(版本可能滞后):
sudo yum updatesudo yum install epel-releasesudo yum install -y nodejs npmnode -v、npm -v。将本地项目上传至服务器,常用方式:
scp -r ./local_project user@server_ip:/var/www/git clone your_app_git_address /var/www/myapp。cd /var/www/myappnpm install(若项目有package-lock.json,建议用npm ci确保一致性)node app.js(app.js为入口文件)sudo npm install pm2 -gpm2 start app.js --name "my-app"(--name指定应用名称)pm2 startup(按提示运行生成的命令)pm2 save。若应用需对外提供服务,需开放对应端口(如3000、8080):
sudo firewall-cmd --zone=public --add-port=3000/tcp --permanentsudo firewall-cmd --reloadsudo firewall-cmd --list-ports。Nginx可作为前端代理,处理静态文件、负载均衡及SSL加密。步骤如下:
sudo yum install -y nginxsudo systemctl start nginx/etc/nginx/conf.d/my-app.conf):server {
listen 80;
server_name yourdomain.com; # 替换为域名或公网IP
location / {
proxy_pass http://localhost:3000; # 转发至Node.js应用端口
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;
}
}
sudo systemctl restart nginx。通过以上步骤,可实现CentOS与Node.js的完整集成,覆盖从环境搭建到生产部署的全流程。