一、nginx的基本功能
基本Http服務,可以作為Http代理服務器和反向代理服務器,支持通過緩存加速訪問,可以完成簡單的負載均衡和容錯,支持包過濾功能,支持SSL
高級Http服務,可以進行自定義配置,支持虛擬主機,支持URL重定向,支持網絡監控,支持流媒體傳輸等
郵件代理服務器,支持IMAP/POP3代理服務功能,支持內部SMTP代理服務功能
二、nginx的具體應用
1、nginx的虛擬主機:經過對nginx配置文件的配置,生成虛擬主機;實現不同的域名訪問不同的頁面。
虛擬主機技術:主要應用與http服務;將一台服務器的某項或多個服務內容邏輯划分為多個服務單位,對外表現為多個服務器,從而可以充分利用服務器的硬件資源。具體配置如下
1)修改nginx配置文件
2)在根目錄下建立www1和www2目錄,並編輯index.html默認發布文件。並啟動nginx服務
3)在物理機中做解析。
---> vim /etc/hosts
server6 www.xniu.com www.linux.org
4)在真機中測試結果如下:
2、nginx實現https加密
1)編輯nginx配置文件
---> /usr/local/lnmp/nginx/sbin/nginx -t # 沒有認證的鎖和鑰匙

2)生成鎖和鑰匙
---> cd /etc/pki/tls/certs
---> make cert.pem # 基本信息自己填寫
---> mv cert.pem /usr/local/lnmp/nginx/conf/
3)重新加載nginx配置文件,就ok了。
4)在瀏覽器中進行測試


3、 重定向
3-1、將www.xniu.com和xniu.com重定向到https://www.xniu.com。nginx配置如下:(重定向到443)

3-2、將www.xniu.com重定向到bbs.xniu.com;即重定向到其他訪問目錄 。配置如下:
在物理機中添加解析: 172.25.2.6 bbs.xniu.com;並在server6中創建bbs.xniu.com對應的發布目錄和文件。最終結果為:

3-3、將www.xniu.com/bbs/index.html 重定向到 bbs.xniu.com/index.html

3-4、反向重定向:當訪問bbs.xniu.com的時候,重定向到https://www.xniu.com/bbs
4、限制客戶的訪問並發量和下載速率
1)限制客戶端的並發數
#在html目錄下建立download目錄,並放置一張圖片用來訪問(注意圖片的權限)。然后在物理機中模擬客戶端的並發請求,結果如下:
---> ab -c1 -n 10 http://www.xniu.com/download/test.jpg # 發送10個請求,並發為1。(此時所有請求均正常接收)

# 在nginx的日志中查看訪問記錄。我們可以看到訪問都是正常的,返回值為200.
---> tail -n 10 /usr/local/lnmp/nginx/logs/access.log
如果並發量為大與1的時候,就會有1個錯誤請求。我們可以在日志在查看到十個請求只有一個被正常響應了。
---> ab -c10 -n 10 http://www.xniu.com/download/test.jpg

# 查看日志接收的情況:
---> tail -n 10 /usr/local/lnmp/nginx/logs/access.log
2)限制客戶端下載速率為50kb
5、用戶訪問控制
1)只允許172.25.2.250的主句訪問
# 使用主機172.25.2.1來訪問server6,會出現430訪問禁止情況:

2)允許特定網段的主機訪問
# 此時172.25.2.1主機就可以訪問了

3)當所有主機訪問默認頁面時,設置為500報錯或進行重定向

6、nginx中的亂碼問題。(默認是不能識別漢語)
7、去掉沒必要的日志
8、防盜鏈機制:在其他主機上訪問server6中的文件
# 在一台含有apache的主機的默認發布目錄下,添加如下內容
# 在server6中nginx的配置文件添加防盜鏈的訪問權限

# 此時403在頁面為圖片的時候不會有提示;我們可以將顯示頁面進行重定向(實現人機交互),編輯ngxin配置文件:
