142、【JavaEE】【Nginx】動(dòng)靜分離

1、概述

  • “動(dòng)靜分離”目前是一個(gè)常見(jiàn)并且成熟的開(kāi)發(fā)模式。將靜態(tài)資源比如說(shuō)圖片、音頻、視頻等放在一個(gè)(或多個(gè))獨(dú)立的服務(wù)器中,與部署代碼的服務(wù)器分離。
    比如說(shuō)“簡(jiǎn)書”,“簡(jiǎn)書”將用戶所上傳的圖片均保存至域名為https://upload-images.jianshu.io服務(wù)器中。

  • 分離包括硬件(物理)上的分離以及軟件上的分離:
    物理上:部署在相互獨(dú)立的物理機(jī)器上,每個(gè)機(jī)器上有對(duì)應(yīng)的服務(wù)器軟件。
    軟件上:類似于虛擬主機(jī)的概念,只有一個(gè)物理機(jī)器,但可以通過(guò)使用服務(wù)器軟件使得動(dòng)靜兩者分離,比如一個(gè)物理機(jī)器上部署了 Tomcat 與 Apache,其中 Apache 作為靜態(tài)資源服務(wù)器軟件。

  • 通過(guò) Nginx 實(shí)現(xiàn)動(dòng)靜分離的常見(jiàn)方案有下面幾種:

1、Nginx 本身就可以作為 Web 服務(wù)器軟件使用,即 Nginx 可以作為靜態(tài)服務(wù)器軟件,所以 Nginx 所部署的主機(jī)就可以成為靜態(tài)資源服務(wù)器。

Nginx-44

2、Nginx 通過(guò)“虛擬主機(jī)”或“反向代理”,指向部署了服務(wù)器軟件(比如 Apache、Tomcat、Nginx 等),作為靜態(tài)資源服務(wù)器的主機(jī)。

Nginx-45

3、靜態(tài)資源與代碼部署在一起(比如說(shuō)都部署在一個(gè) Tomcat 中),但通過(guò) Nginx 將其嚴(yán)格區(qū)分。

Nginx-46

方案1和方案2最為常見(jiàn),因?yàn)檫@樣不管是物理上還是軟件上的分離,是實(shí)現(xiàn)了一種靜態(tài)資源相對(duì)獨(dú)立。方案3的“動(dòng)靜分離”就不算十分明顯。

  • 云靜態(tài)資源服務(wù)器有很多。

2、舉例

  • Nginx 作為服務(wù)器軟件,部署 Nginx 的主機(jī)作為靜態(tài)資源服務(wù)器

  • 1、在 Nginx 目錄下創(chuàng)建目錄/www/image,用于保存靜態(tài)圖片資源。為了后續(xù)的一些效果,可以上傳一些圖片到這個(gè)目錄下。

Nginx-47
  • 2、Nginx 配置文件:
worker_processes  1;


events {
        worker_connections  1024;
}


http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;

        server {
                listen       80;
                server_name  localhost;

                location /image {
                        root www/;
                        autoindex on; # 開(kāi)啟索引,效果見(jiàn)圖
                }
        }
}
  • 3、啟動(dòng) Nginx 或已啟動(dòng)重新加載配置文件。瀏覽器訪問(wèn)http://192.168.3.42/image,看到:
Nginx-48

3、注意

Nginx-49
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容