應用場景
- http服務器,使用nginx作靜態服務器、圖片服務器
- 虛擬主機配置,將一臺服務器拆分紅多個網站部署
- 反向代理,能夠隱藏真實的 ip 訪問地址
- 配建接口網關(解決跨域問題)
- 實現網站的動靜分離
- 防止DDos,防盜鏈
- 配置緩存
<!--more-->html
配置文件結構說明
僅僅有server,後面再進行補充nginx
# 內部建立服務器、監聽端口 server { #server 監聽的端口號 listen 80; #服務器name 配置域名 server_name solo.ning.com; #匹配全部url地址 location / { # 監聽攔截後 跳轉根目錄 資源目錄文件 html文件 root html # 默認首頁 index.html index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
Nginx虛擬主機配置
一、基於域名的虛擬主機,經過域名來區分虛擬主機——應用:外部網站跨域
二、基於端口的虛擬主機,經過端口來區分虛擬主機——應用:公司內部網站,外部網站的管理後臺瀏覽器
三、基於ip的虛擬主機,幾乎不用。緩存
基於虛擬主機配置域名
在hosts文件中添加 bbs.ning.com、www.ning.com 都映射到127.0.0.1上(下面默認,更改的話,會有說明)服務器
server { listen 80; server_name bbs.ning.com; location / { root data/bbs; # 在根目錄中建立,index的內容就一<h1>BBS</h1> index index.html index.htm; } } server { listen 80; server_name www.ning.com; location / { root data/www; # 在根目錄中建立,index的內容就一<h1>www</h1> index index.html index.htm; } }
效果分別爲網站
基於端口的虛擬主機
server { listen 8080; server_name bbs.ning.com; location / { root data/bbs; # 在根目錄中建立,index的內容就一<h1>BBS</h1> index index.html index.htm; } } server { listen 8081; server_name bbs.ning.com; #此處重複沒問題 location / { root data/www; # 在根目錄中建立,index的內容就一<h1>www</h1> index index.html index.htm; } }
效果:url
反向代理的配置
### 當客戶端訪問nginx 的時候,攔截域名訪問爲www.itmayiedu.com,監聽的端口號爲80,匹配全部url地址 ### 最終查找/data/www目錄文件地址 server { ## server 監聽的端口號 listen 80; ###服務name 配置域名,配置域名 server_name www.itmayiedu.com; # #charset koi8-r; #access_log logs/host.access.log main; ###location 匹配全部url地址 location / { ###nginx 反向代理轉發的真實ip地址 proxy_pass http://127.0.0.1:8080; index index.html index.htm; } }
訪問 www.itmayiedu.com 就給轉到 http://127.0.0.1:8080 上。在瀏覽器上輸入www.itmayiedu.com,其實也是有端口的,端口就是80,默認端口,只是省略了而已。spa