在 nginx 中,可以通過為不同域名創建虛擬主機來實現同一端口配置多個網站。步驟如下:創建配置文件。指定服務器塊,并指定端口、域名和根目錄。測試配置。驗證配置。其他配置選項:location、rewrite 和 proxy_pass 指令。
Nginx 為不同域名配置同一端口
在 Nginx 中,可以為綁定到同一端口的不同域名配置虛擬主機,從而允許同一 IP 地址托管多個網站。要實現這一點,請按照以下步驟操作:
1. 創建配置文件
在 Nginx 配置目錄中創建一個新的配置文件,例如:/etc/nginx/conf.d/example.com.conf。
2. 指定服務器塊
在配置文件中指定一個新的服務器塊,如下所示:
server { listen 80; # 指定端口為 80 server_name example.com www.example.com; # 指定域名 root /var/www/example.com; # 指定網站根目錄 index index.php index.html; # 指定默認索引文件 }
登錄后復制
對于其他域名,請創建類似的服務器塊,但更新 server_name 和 root 設置。
3. 測試配置
保存配置文件并重新啟動 Nginx 以應用更改:
sudo systemctl restart nginx
登錄后復制
4. 驗證配置
使用 cURL 工具測試配置:
curl -I http://example.com
登錄后復制
這應該返回網站的 HTTP 頭信息。
5. 其他配置選項
location 指令:可以用于指定特定 URI 路徑的配置,例如為某些目錄啟用 SSL。
rewrite 指令:可以用于重寫 URL,例如將 www 前綴從域名中刪除。
proxy_pass 指令:可以用于將請求代理到不同的服務器或端口。
通過使用這些配置選項,可以在 Nginx 上為不同域名配置一個端口,從而允許在一個服務器上托管多個網站。