這里,我們試圖搞清楚幾個概念:web服務器、nginx、代理、反向代理、靜態資源
如何獲取服務器上的資源
現在我們知道了
互聯網其實沒有什么神秘的
就是客戶端向服務器請求資源
服務器按照要求返回,僅此而已
如果我現在有一台具有公網ip的centos服務器
假設我知道在該服務器上有如下路徑:/ststics
我如何去獲取上面的資源呢?
就像打開網站一樣
我們試着在瀏覽器輸入ip/ststics
不出意外的話
你會看到上面的拒絕連接返回
是的,因為服務器不知道該干什么
web 服務器
上面我們雖然有了一台物理的機器
但是這台機器目前還無法理解瀏覽器發過來的資源請求
於是,出現了這樣一種軟件
安裝在服務器上,可以監聽特定的端口
並對特定的請求作出相應回應
這種軟件就叫做web服務器
常見的:nginx、apache
我們試着再次通過瀏覽器訪問安裝了web服務器的服務器
服務器返回了一個html文件,上面說當前目錄不能訪問
至少,服務器知道我們在干啥,並且有反應了
代理?反向代理?
現在我們知道了
web服務器就是物理服務器的庫管員
所有來自客戶端的請求都會先經過web服務器
web服務器從物理機器上獲取資源后再返回給客戶端
在客戶端看起來就好像是在跟web服務器打交道
於是web服務器就是客戶端的代理,代表客戶端去物理機器上取資源
同時,web服務器也是物理服務器的反向代理,代理物理服務器響應客戶端的請求
代理和反向代理,就是兩個名詞而已
一個庫管員的自我修養
作為一個庫管員,最重要的,我們要知道每種資源的位置,以及,如果這不是一個簡單的拿貨,而是要加工處理一個零件,應該找誰
我們會有這樣一個文件,上面寫着所有問題的答案
他被業內稱為《庫管員的自我修養》
也叫配置文件,我們以nginx為例
籃筐中寫着只監聽80端口的請求,其他端口不理他
黃框中寫着,如果訪問的是根目錄,則去根目錄下找index.php等文件
紅框中寫着,如果請求的是xx.php文件,則轉給本地的9000端口上的人,並告9000端口上的人,用他那的index.php來找xx.php並按照他們那兒方式來處理
綠框中寫着,如果請求的是js、css或者其他的靜態資源,則去相應的路徑下尋找
比如,我們的html文件中寫着<link href="js/iCheck/skins/minimal/minimal.css" rel="stylesheet">
那么,就去/usr/share/nginx/html/value/application/views/admin/下面的js/iCheck/skins/minimal/minimal.css找
這就是nginx的靜態資源反向代理
對了,上面9000端口上的人是誰呢?
php-fpm呀!
還不止一個呢!是一個工作小組!