Nginx
Nginx 指向不同的子域
我有一個域(example.com),我正在嘗試使用子域來顯示應用程序的不同部分。現在全部託管在 AWS 中。
這是我正在嘗試的設置。
sbx.example.com trn.example.com office.example.com
我現在的 nginx 配置如下:
server { listen 80; root /var/www/html/apt-front/dist; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; server_name example.com www.example.com; location / { try_files $uri $uri/ /index.php$is_args$args; } location /api{ alias "/var/www/html/api/public"; try_files $uri $uri/ @api; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME /var/www/html/mint-api/public/index.php; } } location @api { rewrite /api/(.*)$ /api/index.php?/$1 last; } include /etc/nginx/sites-available/*.conf; }
我知道在 AWS 中我需要為域創建一個記錄,我相信這將是一個帶有子域名稱的 NS 記錄(例如 sbx.example.com)。我想做的是創建另一個儲存庫(複製),其中包含我需要為 SBX 進行的更改,創建另一個伺服器塊並在伺服器名稱下更改子域?想法?
不難,但有幾個步驟
- 創建您的 Route53 託管區域
- 註冊您的域,輸入 R53 名稱伺服器
- 為主域創建一條記錄
- 為每個子域創建 CNAME 記錄,指向主域
- Nginx 被配置為響應每個域。它們是子域與 Nginx 無關。
我知道在 AWS 中我需要為域創建記錄
是的,在任何 DNS 中您都必須這樣做。
我相信這將是一個帶有子域名稱的 NS 記錄
這將是一個“A”記錄。這會將您的名稱(域)指向您的主機(IP)。“NS”代表“名稱伺服器”。
(例如 sbx.example.com)
確切地。像這樣:
sbx.example.com. 1800 IN A 127.0.0.172
然後只需將子域的請求重定向到您需要的文件夾(或 URI)。