溫馨提示×

如何在CentOS上部署Node.js應用

小樊
57
2025-03-13 12:28:36
欄目: 編程語言

在CentOS上部署Node.js應用涉及幾個步驟,包括安裝Node.js、設置環境變量、上傳應用代碼、安裝依賴項、配置Nginx反向代理等。以下是一個詳細的步驟指南:

1. 安裝Node.js

首先,你需要安裝Node.js。你可以使用NodeSource提供的Node.js二進制分發庫來安裝特定版本的Node.js。

使用NodeSource安裝Node.js

  1. 添加NodeSource倉庫:

    curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
    
  2. 安裝Node.js:

    sudo yum install -y nodejs
    
  3. 驗證安裝:

    node -v
    npm -v
    

2. 設置環境變量

為了確保Node.js應用能夠正常運行,你可能需要設置一些環境變量。你可以在/etc/profile.d/目錄下創建一個新的腳本來設置這些變量。

  1. 創建一個新的環境變量腳本:

    sudo vi /etc/profile.d/node.sh
    
  2. 添加以下內容:

    export NODE_ENV=production
    export PATH=$PATH:/usr/local/bin/node
    
  3. 使環境變量生效:

    source /etc/profile.d/node.sh
    

3. 上傳應用代碼

你可以使用scp、rsync或其他文件傳輸工具將你的Node.js應用代碼上傳到CentOS服務器。

使用scp上傳文件

scp -r /path/to/your/nodejs-app user@your-server-ip:/path/to/deploy

4. 安裝依賴項

進入你的應用目錄并安裝依賴項:

cd /path/to/deploy/nodejs-app
npm install

5. 配置Nginx反向代理

為了使你的Node.js應用可以通過HTTP/HTTPS訪問,你需要配置Nginx作為反向代理。

  1. 安裝Nginx:

    sudo yum install -y nginx
    
  2. 啟動Nginx:

    sudo systemctl start nginx
    sudo systemctl enable nginx
    
  3. 配置Nginx反向代理: 編輯Nginx配置文件(通常位于/etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf):

    sudo vi /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;
        }
    }
    
  4. 重新加載Nginx配置:

    sudo systemctl reload nginx
    

6. 啟動Node.js應用

你可以使用pm2來管理你的Node.js應用,使其在后臺運行并自動重啟。

  1. 安裝pm2

    sudo npm install -g pm2
    
  2. 使用pm2啟動你的應用:

    pm2 start app.js --name your-app-name
    
  3. 設置pm2開機自啟動:

    pm2 startup
    pm2 save
    

7. 配置防火墻

確保你的防火墻允許HTTP和HTTPS流量:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

8. 驗證部署

打開瀏覽器并訪問你的域名或服務器IP地址,你應該能夠看到你的Node.js應用。

通過以上步驟,你應該能夠在CentOS上成功部署你的Node.js應用。如果有任何問題,請檢查日志文件以獲取更多信息。

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