溫馨提示×

CentOS與Node.js的集成方法是什么

小樊
40
2025-09-18 03:56:20
欄目: 編程語言

CentOS與Node.js的集成主要圍繞 安裝配置、進程管理、生產環境優化(如反向代理、防火墻設置)三個核心環節展開,以下是具體方法:

一、安裝Node.js:選擇合適的方式

1. 使用NodeSource倉庫安裝(推薦,支持特定版本)

NodeSource提供CentOS兼容的二進制分發庫,可安裝最新或指定版本的Node.js(如LTS版本)。步驟如下:

  • 卸載系統自帶舊版本(若有):sudo yum remove nodejs npm
  • 安裝依賴工具:sudo yum install -y curl gcc-c++ make
  • 下載并運行NodeSource安裝腳本(以18.x為例):curl -sL https://rpm.nodesource.com/setup_18.x | sudo bash -
  • 通過yum安裝Node.js:sudo yum install -y nodejs
  • 驗證安裝:node -v(顯示版本號)、npm -v(顯示npm版本)。

2. 使用NVM(Node Version Manager)管理多版本

適合需要切換不同Node.js版本的開發或測試環境。步驟如下:

  • 安裝NVM:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
  • 加載NVM到當前shell:source ~/.bashrc(或~/.zshrc,根據shell類型調整)
  • 安裝最新穩定版Node.js:nvm install node(或指定版本,如nvm install 18.16.0
  • 設置默認版本:nvm alias default node
  • 驗證:node -v。

3. 通過包管理器安裝(簡單但版本較舊)

若無需特定版本,可直接用CentOS默認倉庫安裝(版本可能滯后):

  • 更新系統:sudo yum update
  • 安裝EPEL倉庫(增強軟件包):sudo yum install epel-release
  • 安裝Node.js及npm:sudo yum install -y nodejs npm
  • 驗證:node -v、npm -v。

二、部署Node.js應用

1. 上傳應用代碼

將本地項目上傳至服務器,常用方式:

  • SCP命令scp -r ./local_project user@server_ip:/var/www/
  • Git克隆git clone your_app_git_address /var/www/myapp。

2. 安裝依賴與啟動應用

  • 進入項目目錄:cd /var/www/myapp
  • 安裝npm依賴:npm install(若項目有package-lock.json,建議用npm ci確保一致性)
  • 啟動應用:
    • 直接運行(前臺模式,終端關閉后停止):node app.jsapp.js為入口文件)
    • 推薦用PM2守護進程(保持應用后臺運行、自動重啟):
      • 全局安裝PM2:sudo npm install pm2 -g
      • 啟動應用:pm2 start app.js --name "my-app"--name指定應用名稱)
      • 設置開機自啟:pm2 startup(按提示運行生成的命令)
      • 保存當前進程列表:pm2 save。

三、生產環境優化

1. 配置防火墻放行端口

若應用需對外提供服務,需開放對應端口(如3000、8080):

  • 放行端口:sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent
  • 重載防火墻:sudo firewall-cmd --reload
  • 驗證端口是否開放:sudo firewall-cmd --list-ports。

2. 使用Nginx反向代理(提升性能與安全性)

Nginx可作為前端代理,處理靜態文件、負載均衡及SSL加密。步驟如下:

  • 安裝Nginx:sudo yum install -y nginx
  • 啟動Nginx:sudo 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;
        }
    }
    
  • 重啟Nginx:sudo systemctl restart nginx。

通過以上步驟,可實現CentOS與Node.js的完整集成,覆蓋從環境搭建到生產部署的全流程。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女