首頁 >運維 >Nginx >如何利用NGINX和PM2建置安全的VPS環境

如何利用NGINX和PM2建置安全的VPS環境

王林
王林原創
2023-09-27 08:01:22869瀏覽

如何利用NGINX和PM2建置安全的VPS環境

如何利用NGINX和PM2建立安全的VPS環境

#隨著網路的普及,VPS(Virtual Private Server)已成為許多網站和應用程式的首選部署環境。然而,隨之而來的安全問題也日益重要。在本文中,我們將討論如何使用NGINX和PM2來建立安全的VPS環境,並提供具體的程式碼範例。

NGINX是一種快速、高效能的HTTP和反向代理伺服器,可以幫助我們實現負載平衡和保護伺服器免受惡意攻擊。而PM2是一個現代化的Node.js應用程式進程管理器,可以確保我們的Node.js應用程式在伺服器上始終穩定運行。

以下是建置安全VPS環境的特定步驟:

  1. 安裝NGINX
    首先,我們需要在VPS上安裝NGINX。具體安裝步驟可以參考NGINX官方文件。安裝完成後,我們需要透過編輯NGINX設定檔來設定安全參數。
  2. 配置HTTPS
    HTTPS協定可以確保網站和應用程式之間的安全通訊。我們可以使用免費的Let's Encrypt證書來實現HTTPS。首先,我們需要安裝Certbot工具,並透過它申請和續約證書。

    sudo apt-get install certbot 
    sudo certbot certonly --nginx

    此指令將使用NGINX外掛程式自動設定憑證。

  3. 配置反向代理
    反向代理可以提供額外的安全性和效能優勢。我們可以使用NGINX作為反向代理伺服器,將請求轉發給PM2運行的Node.js應用程式。以下是一個範例的NGINX設定檔:

    server {
        listen 80;
        server_name example.com;
    
        location / {
            proxy_pass http://localhost:3000;  # 此处的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;
        }
    }

    此設定檔將所有來自example.com的請求轉送到執行在本機上的Node.js應用程式。

  4. 設定防火牆
    防火牆是保護伺服器免受惡意攻擊的關鍵部分。我們可以使用UFW(Uncomplicated Firewall)來配置防火牆規則。

    sudo ufw allow OpenSSH  # 允许SSH访问
    sudo ufw allow 'Nginx HTTP'  # 允许HTTP访问
    sudo ufw enable  # 启用防火墙

    使用上述命令,我們可以允許SSH和HTTP訪問,並啟用防火牆來過濾和阻止其他不良連接。

  5. 使用PM2管理Node.js應用程式
    PM2可以確保我們的Node.js應用程式在伺服器上始終穩定運行,並自動啟動和監控應用程式。以下是使用PM2管理應用程式的範例命令:

    pm2 start app.js --name myapp  # 启动应用程序
    pm2 list  # 查看当前运行的应用程序
    pm2 restart myapp  # 重启应用程序

    PM2提供了更多命令和功能,可以根據需要進行更改和自訂。

透過上述步驟,我們可以利用NGINX和PM2建構一個安全的VPS環境。當然,這只是一個基本的配置範例,你可以根據你的特定需求進行修改和完善。在實際使用時,請確保仔細閱讀相關文檔,並遵循最佳的安全實務。

以上是如何利用NGINX和PM2建置安全的VPS環境的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn