場景
Nginx入門簡介和反向代理、負載均衡、動靜分離理解:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102790862
Ubuntu Server 16.04 LTS上怎樣安裝下載安裝Nginx並啟動:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102828075
什么是動靜分離
Nginx 動靜分離簡單來說就是把動態跟靜態請求分開,不能理解成只是單純的把動態頁面和靜態頁面物理分離。嚴格意義上說應該是動態請求跟靜態請求分開,可以理解成使用Nginx 處理靜態頁面,Tomcat處理動態頁面。動靜分離從目前實現角度來講大致分為兩種, 一種是純粹把靜態文件獨立成單獨的域名,放在獨立的服務器上,也是目前主流推崇的方案; 另外一種方法就是動態跟靜態文件混合在一起發布,通過 nginx 來分開。 通過 location 指定不同的后綴名實現不同的請求轉發。通過 expires 參數設置,可以使瀏覽器緩存過期時間,減少與服務器之前的請求和流量。具體 Expires 定義:是給一個資源設定一個過期時間,也就是說無需去服務端驗證,直接通過瀏覽器自身確認是否過期即可,所以不會產生額外的流量。此種方法非常適合不經常變動的資源。(如果經常更新的文件,不建議使用 Expires 來緩存),我這里設置 3d,表示在這 3 天之內訪問這個 URL,發送一個請求,比對服務器該文件最后更新時間沒有變化,則不會從服務器抓取,返回狀態碼 304,如果有修改,則直接從服務器重新下載,返回狀態碼 200。
下面實現第一種動靜分離的方式
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。
實現
在上面搭建好Ubuntu Server 以及安裝Nginx后,在Ubuntu 中根目錄下新建resource目錄,用於存放靜態資源。
然后在此目錄下新建html目錄,並在下面傳送一個1.html
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>Document</title> </head> <body> <h1>公眾號:霸道的程序猿</h1> </body> </html>
然后再在resource下新建image目錄並傳送一個badao.jpg圖片資源。
然后在Nginx的默認安裝目錄下找到其配置文件並編輯
將配置文件以下兩個地方修改。
其中server_name 對應的是Ubuntu 的ip。
下面兩個location對應兩個路徑映射,與上面的新建的資源路徑相對應。
第二個autoindex on;的作用是能自動列出文件,具體效果見下面
然后將配置文件保存,回到sbin目錄下啟動nginx。
打開瀏覽器輸入:
可以看到自動列出所有文件
后面加上具體的image的文件名后
同理訪問html下的靜態資源文件
http://192.168.208.134/html/1.html