Nginx 虛擬主機 VirtualHost 配置

2021-07-11 16:20:47 字數 2869 閱讀 5055

nginx 是乙個輕量級高效能的 web 伺服器, 併發處理能力強, 對資源消耗小, 無論是靜態伺服器還是小**, nginx 表現更加出色, 作為 apache 的補充和替代使用率越來越高.

我在《apache 虛擬主機 virtualhost 配置》介紹了在不同作業系統上使用 apahce 虛擬主機的方法, 還有那麼些朋友想知道 nginx 虛擬主機配置方法, 本文作為補充也介紹如何 nginx 上新增虛擬主機.

絕大多數的 nginx 執行在 linux 機器上, 雖然有 windows 移植版, 但我也沒搭建過. 所以本文將以 linux 為例講解, 而 mac os 或其他 unix like 機器上的操作應該是一樣的.

這裡假設大家的 nginx 伺服器已經安裝好, 不懂的請閱讀各 linux 發行版的官方文件或者 lnmp 的安裝說明. 配置 virtual host 步驟如下:

1. 進入 /usr/local/nginx/conf/vhost 目錄, 建立虛擬主機配置檔案 demo.neoease.com.conf (.conf).

2. 開啟配置檔案, 新增服務如下:

server
3. 開啟 nginx 配置檔案 /usr/local/nginx/conf/nginx.conf, 在http範圍引入虛擬主機配置檔案如下:

include vhost/*.conf;

4. 重啟 nginx 服務, 執行以下語句.

service nginx restart
在前面第 2 步的虛擬主機服務對應的目錄加入對 php 的支援, 這裡使用的是 fastcgi, 修改如下.

}作為重要的耗流量大的靜態資源, 可能**主並不希望其他**直接引用, nginx 可以通過 referer 來防止外站盜鏈.

}如果將 wordpress 的鏈結結構設定為/%postname%/,/%postname%.html等格式時, 需要 rewrite url, wordpress 提供 apache 的 .htaccess 修改建議, 但沒告知 nginx 該如何修改. 我們可以將 wordpress 的虛擬主機配置修改如下:

}lnmp 套件在提供了 wordpress 為靜態配置檔案 /usr/local/nginx/conf/wordpress.conf, 在虛擬主機配置的 server 範圍引用如下即可.

include wordpress.conf;

如果你使用 lnmp 套件, 進入 wordpress 後台發現會出現 404 頁面, wp-admin 後面缺少了斜桿/, 請在 wordpress.conf 最後新增以下語句:

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

一直以來, 我主要在用 apache, 自從去年從 mt 搬家到 linode vps 之後, 發現伺服器壓力很大, 每隔幾天就要宕機一次, 在胡戈戈的協助下轉成了 nginx, 大半年了一直很穩定.

相對 apache, nignx 有更加強大的併發能力, 而因為他對程序管理耗用資源也比較少. 而 apache 比 nginx 有更多更成熟的可用模組, bug 也比較少. 賣主機的 idc 選擇 nignx, 因為高併發允許他們建立更多虛擬主機空間更來錢; **也因此改造 nignx (tengine) 作為 cdn 伺服器, 可承受更大壓力.

「前端那些事兒」,帶你探索前端的奧秘。

nginx虛擬主機

利用虛擬主機,不同為每個要執行的 提供一台單獨的nginx伺服器或單獨執行一組nginx程序。虛擬主機提供了在同一臺伺服器 同一組nginx程序上執行多個 的功能。在nginx配置檔案nginx.conf中,乙個最簡化的虛擬主機配置 如下 server 可以在一塊物理網絡卡上繫結多個lp位址。這樣就...

nginx虛擬主機

虛擬主機 有的 訪問量大,需要負載均衡。然而並不是所有 都如此出色,有的 由於訪問量太小,需要節省成本,將多個 部署在同一臺伺服器上。例如將www.aaa.com和www.bbb.com兩個 部署在同一臺伺服器上,兩個網域名稱解析到同乙個ip位址,但是使用者通過兩個網域名稱卻可以開啟兩個完全不同的 ...

Nginx虛擬主機

1 實現兩個基於網域名稱的虛擬主機,網域名稱分別為www.tarena.com和bbs.tarena.com 2 網域名稱為bbs.tarena.com的web服務僅允許192.168.4.205訪問 3 對網域名稱為bbs.tarena.com的站點進行使用者認證,使用者名稱稱為tom,密碼為12...