使用 Debian、Docker 和 Nginx 部署 Web 應用

前言

本文將介紹基於 Debian 的系統上使用 Docker 和 Nginx 進行 Web 應用部署的過程。着重介紹了 Debian、Docker 和 Nginx 的安裝和配置。

第 1 步:更新和升級 Debian 系統

  1. 通過 SSH 連接到服務器。
  2. 更新軟件包列表:sudo apt update
  3. 升級已安裝的軟件包:sudo apt upgrade

第 2 步:安裝 Docker

sudo apt install docker.io

第 3 步:安裝 Nginx

sudo apt install nginx

第4步:爲 Web 應用配置 Nginx

1. 爲 Web 應用創建一個新的 Nginx 配置文件:

sudo nano /etc/nginx/sites-available/app.conf

2. 將以下內容添加到配置文件中,將 app.example.com 替換爲域名,將 app_container 替換爲 Docker 容器的訪問地址:

server {
    listen 80;
    server_name app.example.com;

    location / {
        proxy_pass http://app_container:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

3. 創建軟鏈接以啓用站點:

sudo ln -s /etc/nginx/sites-available/app.conf /etc/nginx/sites-enabled/

4. 測試 Nginx 配置:

sudo nginx -t

5. 如果配置有效,請重新加載 Nginx:

sudo systemctl reload nginx

第 5 步:使用 Docker 部署 Web 應用

  1. 拉取 Web 應用的 Docker 鏡像或在本地構建。
  2. 使用適當的端口映射和環境變量運行新的 Docker 容器:
docker run -d --name app_container -p 8080:80 app_image

app_image 替換爲 Web 應用的 Docker 鏡像名稱。

第 6 步:檢查防火牆設置

Debian 系統上,可以使用 ufw(Uncomplicated Firewall)來管理防火牆規則。要檢查當前規則,運行:

sudo ufw status

確保允許必要的端口(例如,HTTP 和 HTTPS 分別需要 80 和 443 端口,以及後端服務所需的其他端口)。

如果需要打開特定端口,使用以下命令:

sudo ufw allow [port_number]/tcp

[port_number] 替換爲要打開的實際端口數字。

第 7 步:配置 DNS

騰訊雲 DNSPod

  1. 登錄雲服務商賬戶並進入「DNS 解析 DNSPod」。
  2. 選擇域名對應的「解析」。
  3. 單擊「添加記錄」以添加新的 DNS 記錄。
  4. 將記錄類型設置爲「A」。
  5. 在主機記錄字段輸入子域名,例如 app
  6. 在記錄值字段輸入服務器的 IP 地址,例如 233.233.233.233
  7. 點擊「確認」完成配置。

騰訊雲 DNSPod

Cloudflare[可選]

  1. 登錄 Cloudflare 帳戶並選擇域名,例如 app.example.com
  2. 轉到 Cloudflare 儀表板中的「DNS」選項卡。
  3. 單擊「+ Add record」以添加新的 DNS 記錄。
  4. 將記錄類型設置爲「A」。
  5. 在「Name」字段中輸入子域名,例如 app
  6. 在「IPv4 address」字段中輸入服務器的 IP 地址,例如 233.233.233.233
  7. 選擇所需的「TTL」值或將其保留爲「Auto」。
  8. 將「Proxy status」設置爲「Proxied」以使用 Cloudflare 的 CDN 和安全功能,或將其設置爲「DNS only」僅用於 DNS 管理。
  9. 單擊「Save」添加記錄。

現在,通過在 Nginx 配置文件中配置的域名訪問 Web 應用了。

版權聲明

本博客所有的原創文章,作者皆保留版權。轉載必須包含本聲明,保持本文完整,並以超鏈接形式註明作者後除和本文原始地址:https://blog.mazey.net/3629.html

(完)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章