什么是 Nginx 虛擬主機? 通俗來說,虛擬主機是一種技術,它允許你通過一臺服務器(以及對應的 Nginx 實例),托管多個網站。Nginx 通過 Server Block 來實現這一功能。每個 Server Block 定義了一個獨立的網站配置,比如域名、根目錄、日志路徑等。
配置虛擬主機的步驟 1.創建網站目錄結構
為每個虛擬主機創建獨立的目錄,用于存放網站文件。假設需要配置兩個網站 example1.com
和 example2.com
,運行以下命令:
sudo mkdir -p /var/www/example1.com sudo mkdir -p /var/www/example2.com
將簡單的測試頁面添加到目錄中:
sudo sh -c 'echo "Welcome to example1.com!" > /var/www/example1.com/index.html' sudo sh -c 'echo "Welcome to example2.com!" > /var/www/example2.com/index.html'
2.編輯虛擬主機配置文件
在 /etc/nginx/sites-available/
目錄下,為每個網站創建配置文件。例如,為 example1.com
創建 example1.conf
:
sudo vim /etc/nginx/sites-available/example1.conf
在配置文件中填寫以下內容:
server { listen 80; server_name example1.com www.example1.com; root /var/www/example1.com; access_log /var/log/nginx/example1-access.log; error_log /var/log/nginx/example1-error.log; location / { index index.html; } }
為 example2.com
創建類似的文件 example2.conf
,更改對應的域名和根目錄。
3.啟用虛擬主機配置
Nginx 的虛擬主機配置需要從 sites-available
鏈接到 sites-enabled
目錄。執行以下命令:
sudo ln -s /etc/nginx/sites-available/example1.conf /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/example2.conf /etc/nginx/sites-enabled/
測試配置語法是否正確:
sudo nginx -t
如果輸出 syntax is ok
,說明配置無誤。
4.重啟 Nginx
最后,重新加載 Nginx 配置,讓修改生效:
sudo systemctl restart nginx
5.測試虛擬主機
在瀏覽器中訪問 example1.com
和 example2.com
,你應該能看到兩個獨立網站的測試頁面。如果本地測試,可以將域名添加到 /etc/hosts
:
127.0.0.1 example1.com 127.0.0.1 example2.com
保存后,用瀏覽器訪問 http://example1.com
。
?
虛擬主機是 Nginx 的核心功能之一。學會通過簡單的配置文件快速部署多個網站,不僅可以提高運維效率,還能幫助你構建強大的負載均衡和反向代理解決方案。掌握這項技能后,你將在運維路上更進一步。
該文章在 2025/7/30 9:30:58 編輯過