簡單來講,咱們的nginx服務器配置以下便可,除非要有特定的處理php
server { listen 80; server_name linuxidc.net www.linuxidc.net; root /data/www; location / { index index.html index.php; } location ~* \.(gif|jpg|png)$ { expires 30d; } location ~ \.php$ { fastcgi_pass localhost:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
要防止IP和惡意IP指向訪問 ,須要設置默認Serverhtml
若是不主動設置默認server,那麼第一個server就會被當作默認serverjava
server { listen 80 default; #表示默認匹配的端口(通常不會先匹配,等其餘Server配置項沒法匹配時自動轉移到該處) server_name _; #表示訪問網站時,排除其餘server項的全部域名和ip地址 return 500; }
固然改爲下面的更好
linux
server { listen 80 dufault; server_name _; rewrite ^(.*) http://www.yourdomain.com permanent; }
從0.8.21版本開始,使用default_server關鍵詞nginx
default_server
經過這樣的方式,咱們能夠以下配置web
server { listen 80 dufault; server_name _; rewrite ^(.*) http://www.domain.com permanent; } server { listen 80; server_name ~^(.+)?\.domain\.com$; index index.html; if ($host = domain.com){ rewrite ^ http://www.domain.com permanent; } root /data/wwwsite/domain.com/$1/; }
站點目錄服務器
站點的目錄結構應該以下:dom
/data/wwwsite/domain.com/www/
========================================================jsp
另一個問題,咱們可能須要用ip訪問某個目錄,但其餘目錄一切跳轉到主目錄工具
server { listen 80 default_server; server_name _; location /testdir{ stub_status on; access_log off; } location /{ rewrite ^ http://www.nginxs.com$request_uri?; } }
參考博客:
Nginx全局變量 http://www.jb51.net/article/24598.htm
Apache防止惡意指向 http://www.linuxidc.com/Linux/2011-06/37437.htm
------------------------------------------------------------
Nginx配置二級子域名
準備:須要泛域名 domain.com。
主機:www.domain.com 或 domain.com。
思路:將*.domain.com 解析到主機www.domain.com/*/ (*不能爲www或空)。
配置:
if ( $host ~* (\b(?!www\b)\w+)\.\w+\.\w+ ) { set $subdomain $1; } location / { root D:\www\domain.com\$subdomain; index index.html index.htm; }
具體來講,配置以下也是一種可行的方式
server { listen 80; server_name ~^(.+)?\.domain\.com$; index index.html; if ($host = domain.com){ rewrite ^ http://www.domain.com permanent; } root /data/wwwsite/domain.com/$1/; }
測試
環境:Window7 + Nginx1.1.15
ToDo:
一、安裝Nginx至:D:\nginx-1.1.15;安裝後路徑
二、修改nginx配置文件,見上;
三、新建web應用目錄:D:\www\;
四、新建domain.com項目目錄:D:\www\domain.com\;使用tree命令打印項目目錄部署以下:
D:\WWW └─domain.com │ index.html (Welcome to www.domain.com!) ├─a │ index.html (www.domain.com/a/index.html) │ test.html (www.domain.com/test.html) ├─b │ index.html (www.domain.com/b/index.html)
五、修改hosts文件:C:\Windows\System32\drivers\etc\hosts,新增以下行:
127.0.0.1 www.domain.com 127.0.0.1 domain.com 127.0.0.1 a.domain.com
六、啓動nginx。
用例:
訪問:http://www.domain.com/結果:Welcome to www.domain.com!
訪問:http://domain.com/ 結果:Welcome to www.domain.com!
訪問:http://a.domain.com/ 結果:www.domain.com/a/index.html
結果:http://a.domain.com/test.html結果:www.domain.com/a/test.html
結果:與用例相同!
補充:
請求參數做爲二級域名如何處理?Re:採用urlrewrite或相似url重寫的工具實現,步驟以下:www.domain.com/shop.jsp?shop_key=suning重寫成:www.domain.com/suning/注:前提是shop_key惟一。