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的完整集成,覆蓋從環境搭建到生產部署的全流程。