標籤(空格分隔): nginx 享學
= 全匹配
^~ 字首匹配
~ 正則匹配
~* 正則不區分大小寫匹配
空格字首匹配。這種匹配和^~
匹配方式一樣,但是它是在正則之後匹配
location /taobao
location /
我理解的虛擬主機就和iis的虛擬主機差不多,可以讓nginx監聽多個埠。同時也可以配置通過不同的server_name
過來的資料能夠獨立處理
虛擬主機可以單獨配置到不同的檔案中。然後在nginx.conf
裡面引用
一般配置路徑是:/etc/nginx/con.d
引用:include /etc/nginx/con.d/*.conf
root與alias主要區別在於nginx如何解釋location後面的uri,這會使兩者分別以不同的方式將請求對映到伺服器檔案上。
root的處理結果是:root路徑+location路徑
alias的處理結果是:使用alias路徑替換location路徑
alias是乙個目錄別名的定義,root則是最上層目錄的定義。
還有乙個重要的區別是alias後面必須要用「/」結束,否則會找不到檔案的。。。而root則可有可無~~
注意:使用alias時,目錄名後面一定要加"/"。
alias在使用正則匹配時,必須捕捉要匹配的內容並在指定的內容處使用。
alias只能位於location塊中。(root可以不放在location中)
都是對預置變數rootpath賦值
參考文章[ ]
rewrite regex replacement [flag]
location /
rewrite就是重定向的意思,從上面的示例可以看到有1個關鍵字和3個引數
引數說明
regex
表示匹配url的正規表示式,不包含ip和埠那部分。
replacement
表示跳轉後的位址,$1表示正則匹配的第乙個值,如果不需要引數,上面的正則可以寫為^/
flag
這個值總共有四個選項,如果為空,則類似於last
,但是會將rewrite執行完
就是賦值
set $a 32;
反向**就是將請求的位址**到其它位址去,瀏覽器位址會發生變化。 [ ]
location /proxy/
另外路徑裡面的/proxy/
後面的斜槓也會影響匹配結果
複雜的**裡面還可以通過正則獲取url裡面的內容並拼裝為新的url進行**
location ~* /wap/(\d+)/(.+)
1.在http節點下,加入upstream節點。
upstream linuxidc
2.將server節點下的location節點中的proxy_pass配置為:http:// + upstream名稱,即「http://linuxidc」.
location /
預設是輪詢,每個ip訪問一次。
3.注意
rewrite階段
access階段
content階段
其他階段
location=/
上面的**將輸出2個64。這裡就涉及到nginx的執行階段問題了。
示例
location /
這裡的index是根據url匹配,如果url的結尾不是/
,那麼就不會去匹配index,因為此時會被當作檔案,因此不需要預設檔案
if語句沒有else
-f, !-f:判斷指定的路徑是否為存在且為檔案;
-d, !-d:判斷指定的路徑是否為存在且為目錄;
-e, !-e:判斷指定的路徑是否存在,檔案或目錄均可;
-x, !-x:判斷指定路徑的檔案是否存在且可執行;
}
location ^~ /qq.png
首先把服務的定義**貼出來
server
}
通過./sbin/nginx -v
檢視是否安裝https模組
--with-http_ssl_module
代表安裝了的
執行四步生成ssl上面的server.crt和erver_nopass.key檔案
1.openssl genrsa -des3 -out server.key 1024提示輸入密碼,就輸入123456。會再次確認密碼
2.openssl req -new -key server.key -out server.csr
提示輸入密碼就輸入:123456,輸入國家:cn,輸入省份:cq,其它的直接按回車
3.openssl rsa -in server.key -out server_nopass.key
提示輸入密碼就輸入:123456
4.openssl x509 -req -days 365 -in server.csr -signkey server_nopass.key -out server.crt
就按上面的服務配置就可以了
可以把keepalived和nginx當作獨立的兩個程式。keepalived主要是用來提供乙個虛擬的ip位址,我們把這個ip稱為vip。當主伺服器掛了的時候,從伺服器就自動暴露乙個vip出來。
首先需要安裝keepalived
peter老師提到的,根據url進行分割,然後通過location判斷命中和未命中的path。根據最後的/
去決定是否將命中的路徑加進去。
同時對於root
和alias
也適用這種方式。
高可用、高併發。死了還能用就是高可用
keepalived也可以和tomcat實現高可用
有時間研究一下:
學到第三課了(09-18)
java thread自學筆記
執行緒有多種寫法。第一種是實現runnable介面。第二種是繼承thread類。第三種是直接寫runnable的實現方法。public class threadtest thread t new thread r t.run output foo t.start output foo try cat...
OC自學筆記
變數資料修飾 auto register extern static 預設auto int i 0 等於 auto int i 0 register高效變數 register int i 0 分配數量有限,跟系統有關,可能會降為auto extern全域性變數 extern int i 0 相同專案...
GEF自學筆記
gef模型 控制器完美分離模型跟檢視。但是控制器負擔重。於是gef通過請求和編輯策略及命令模式很好的解決了控制器的負擔。使每一部分保持最小的依賴。gef命令請求及響應流程如下。1.接收使用者操作,轉換成相應請求 2.控制器接收請求並把請求交由相應的編輯策略管理器處理 3.編輯策略管理器根據請求的請求...