nginx最簡單的反向代理配置+動靜分離方法

前言

衆所周知,nginx有三大特性,反向代理,負載均衡和動靜分離。
正向代理是代理客戶端,反向代理就是代理服務器。客戶端只需要將請求發給nginx服務器所監聽的端口就可以了。
負載均衡是將負載分攤到多個單位上進行。
動靜分離是靜態資源文件在nginx上處理,動態內容在具體服務上處理。
這裏不細說概念,重點在實戰配置,接下來就做一個最基本的反向代理配置。

反向代理

server {
        listen       80;
        server_name  localhost;

        location / {
            proxy_pass   http://127.0.0.1:8080;
        }
        
	}

修改的是nginx的配置文件:nginx.conf。
配置如上,listen後面是監聽的端口,這裏server_name是路徑的名稱。這裏我們默認是localhost,如果需要改成自定義,是需要修改host文件的。
下面的location是匹配規則,location / 表示匹配所有路徑。
proxy_pass是代理的地址,這裏選擇的是127.0.0.1即localhost本機,端口是8080,是我springcloud項目gateway的地址,填寫自己項目相應的端口號即可。
這樣配置之後,若原訪問路徑爲localhost:8080/xxx/xxx,現在訪問localhost/xxx/xxx,或localhost:80/xxx/xxx,若能訪問到相應頁面,說明配置成功。

動靜分離

動靜分離顧名思義也就是靜態資源文件要從nginx上獲取,不需要再去具體的服務中請求,具體配置如下:

server {
        listen       80;
        server_name  localhost;

        location / {
            proxy_pass   http://127.0.0.1:8080;
        }
		
		location ~* \.(js|css)$ {
			root D:\static;
		}
	}

可以看到比之前的配置多了一個location,這裏location~*表示正則匹配,不區分大小寫,後面的js|css是匹配後綴爲js和css的訪問請求,因此可以將所有js和css文件的訪問請求匹配到,之後這些請求的路徑就不是之前反向代理的路徑了,而是我們這裏自定義的root路徑。
這樣配置好後,將相應的靜態資源文件放入D:\static(是可以自己定義的),就可以從nginx獲取到相應的靜態資源了。
這裏注意下static文件夾下具體的路徑與項目的架構有關,如果返回404就去查看日誌,再nginx文件夾下的log文件夾中,根據具體日誌中的路徑進行相應的調整即可。

後記

這裏只是說一下最簡單的配置,可以說是nginx最基礎的配置。這樣配置後,這兩個功能就可以在我們的機器上實現了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章