導航:首頁 > 文件管理 > 前端不能讀配置文件嗎

前端不能讀配置文件嗎

發布時間:2025-06-22 11:53:03

A. nginx前端頁面配置(nginx代理前端頁面)

【nginx】前後端代理配置

代理單個前端時,以下eg1、eg2代理的是同一個文件,不用的是url

細心地讀者發現還有第三個代理eg3、它的不同在於19行,是以alias開頭的代理。那麼他有什麼不同呢,按照上面代理文件的路徑,test1與test0是一樣的,也就是說eg1和eg3是一樣的代理。

簡單的分析出:

root:root+location為實際文件路徑

alias:鎮告alias為實際文件路徑(ps:必須是以/結尾,因為御搭明代理的東西在此目錄下)

當代理多個靜態文件時,容易發生404問題。

若把單個配置成location/時,又沒有問題,那麼你需要參考以下配置。

ps:一般根路徑用root,其他為alias代理。

有關^~請看FAQ

12行最後的/api/;分號前面的/問題請看FAQ

因為微信公眾號的回調只能調用https,有些時候可能會用到。

這里需要自己了解一下https,簡而言之需要證書,針對某一個url,這里展示一個代理示例

簡單測試了一下,若是僅僅前枝消端代理,是沒有影響的,無論是root還是alias

那區別是什麼呢,當代理的內容為地址時,

url尾部的/表示目錄,沒有/表示文件,是否需要加,根據情況選擇

使用^~當做前綴,正則匹配然後代理

關於nginx你可能不知道的秘密----nginx地址重寫以及錯誤頁面配置

Rewrite對稱URLRewrite,即URL重寫,就是把傳入Web的請求重定向到其他URL的過程。

rewrite**指令根據表達式來重定向URI,或者修改字元串。可以應用於server,location,if環境下每行rewrite指令稿攔最後跟一個flag標記,支持的flag標記有:

redirect和permanent區別則是返回的不同方式的重定向,對於客戶端來說一般狀態下是沒有區別的。余首而對於搜索引擎,相對來說301的重定向更加友好,如果我們把一個地址採用301跳轉方式跳轉的話,搜索引擎會把老地址的相關信息帶到新地址,同時在搜索引擎索引庫中徹底廢棄掉原先的老地址。使用302重定向時,搜索引擎(特別是google)有時會查看跳轉前後哪個網址更直觀,然後決定顯示哪個,如果它覺的跳轉前的URL更好的話,也許地址欄不會更改。

首先我們需要在windows上進行本地解析,打開C:WindowsSystem32driversetc下面的hosts文件並添加

192.168.13.128

訪問

nginx錯誤頁麵包括404403500502503504等頁面,只需鍵毀胡要在server中增加以下配置即可:

注意:

/usr/local/nginx/html/路徑下必須有404.html這個文件!!!

但是404.html上如果引用其他文件的png或css就會有問題,顯示不出來,因為其他文件的訪問也要做配置;為了簡單,可以將css嵌入文件中,圖片用base編碼嵌入;如下:

訪問(ip地址/404.html)

nginx部署前端純頁面

1.進入nginx配置文件vim.../nginx-1.9.12/conf/nginx.conf。

如上圖所示:第一個紅框中的內容就是應用伺服器的地址;第二個紅框中的內容就是前端包的位置。

此時,配置文世明件已經准備完畢。這個包和埠可以存在多個。

2.進入.../nginx-1.9.12/sbin找到nginx的啟動程序

nginx-c../nginx-1.9.12/conf/nginx.conf??啟動nginx程序,並指定配置文件。

3.如果要替換包,則直接替換就行,nginx為熱載入自動更新的。但是以防陪粗有緩存之類的存在,可以使用nginx-sreload命令進行重載一次。

追加一:

如果前端包的構造如下圖

則location配置依然如下圖

但是訪問地址則需要指定到具體的html文件上。。

綁定:

成功:

失敗:

追加二:

同一個埠部署多個頁面:

一個server下,多個location。

location的作用就是是否有後綴,並且這個後綴會去拼接root後的地址。

比如第二個location/sis/。

則在訪問127.0.0.1:8080/sis時,會去自動尋找/apps/svr/nginx-1.9.12/pagefile/0921/sis這個包。?(Ps:location後的地址一定要用/關閉,比如location/sis/,不然訪問127.0.0.1:8080/sis時,會報錯,只有用127.0.0.1:8080/sis/才行。)

這樣就部署好了一個埠支持多個頁面蘆返鎮。

nginx配置前端,需要幾台什麼樣的伺服器。什麼樣的系統,什麼樣的配置

兩種前端架構:

lvs-nginx前端代理-squid緩存

lvs-squid前端緩存-nginx中層代理

squid在前面的優點:

Squid作純代理比較穩當

前端少一級代理,響應速度會快,出問題的可能性要小

功能有限,不會常被調整

容易為人接受,只是為了擴充功能而增加中層代理

一般的配置簡便,比如增加一個二級域名,只需配置一個指向。

增加的nginx可擴展功能,增加對應用服務的負載均衡告緩等。

squid在前面的缺點:

squid支持的負載均衡配置復雜

容災問題

更新緩存要遍歷所有機器

squid只支持單cpu,所以浪費cpu

nginx在前面的優點:

分流、負載均衡功能強大,可以細致定義

可精細定製access_log

nginx的錯告指誤日誌更詳細

可讓squid只緩存無壓縮版本,由nginx壓縮,這樣可優化squid緩存容量

nginx可分擔襪友模部分無實時性要求的緩存

nginx在前面的優點:

nginx目前還有部分bug。

功能強,所以可能經常被調整

nginx代理用的短鏈接方式

單機上安裝nginx+squid的cpu消耗比純squid和純nginx之和要大一倍,但也不算高

容易遭到質疑,不易被接受。

nginx如何配置靜態頁面

首先nginx安裝好之後的預設配置文件:nginx/conf/nginx.conf

這里定義的root地址是相對於nginx的根路徑的;那麼當用戶通過瀏覽器訪問根地址:;hostname:port時,nginx試圖返回的頁面就是:nginx/html/index.html。

當然這里root也可以寫全路徑,例如/home/username/tools/nginx/html,效果是一樣的。

這里我們要討論如何把一個靜態頁面配置到nginx裡面。

假設靜態頁面內容放在文件夾/app/testapp/www下面(同時假設/app/testapp/www/index.html也存在),我們如何配置nginx使得;hostname:port/做握亂testapp能夠訪問到這些靜態頁面內容呢。

結果:404NotFound

查看nginx日誌(nginx/logs/error.log):

原來nginx試圖訪問的文件路徑是:/app/testapp/www/testapp,這個路徑是」root「的內容再拼上location的值組成的;那我們給修改location和root的值:純檔

然後通過地址;hostname:port/www就可以訪問了;但是這里location必須用」www「不能用」皮喊testapp「,這就非常不可接受了,解決的辦法可以是修改靜態頁面的地址,再加一層testapp路徑,例如:"/app/testapp/www/testapp",然後再配置:

這樣是可以的。另一個方法是採用alias取代root。

保留今天頁面的地址"/app/testapp/www",配置nginx的配置文件:

關於alias和root的區別,請查閱nginx文檔或者自行google,這里不再重復貼了。

nginx前端常用配置

nginx現在幾乎是眾多大型網站的必用技術,大多數情況下,我們不需要親自去配置它,但是了解它在應用程序中所擔任的角色,以及如何解決這些問題是非常必要的。

下面我將從nginx在企業中的真實應用來解釋nginx在應用程序中起到的作用。

為了便於理解,首先先來了解一下一些基礎知識,nginx是一個高性能的反向代理伺服器那麼什麼是反向代理呢?

代理是在伺服器和客戶端之間假設的一層伺服器,代理將接收客戶端的請求並將它轉發給伺服器,然後將服務端的響應轉發給客戶端。

不管是正向代理還是反向代理,實現的都是上面的功能。

正向代理是為我們服務的,即為客戶端拆逗雀服務的,客戶端可以根據正向代理訪問到它本身無法訪問到的伺服器資源。

正向代理對我們是透明的,對服務端是非透明的,即旅早服務端並不知道自己收到的是來自代理的訪問還是來自真實客戶端的訪問。

反向代理是為服務端服務的,反向代理可以幫助伺服器接收來自客戶端的請求,幫助伺服器做請求轉發,負載均衡等。

反向代理對服務端是透明的,對我們是非透明的,即我們並不知道自己訪問的是代理伺服器,而伺服器知道反向代理在為他服務。

下面是一個nginx配置文件的基本結構:

下面是nginx一些配置中常用的內置全局變數,你可以在配置的任何位置使用它們。

|變數名|功能||------|------||$host|請求信息中的Host,如果請求中沒有Host行,則等於設置的伺服器名||$request_method|客戶端請求類型,如GET、POST|$remote_addr|客戶端的IP地址||$args|請求中的參數||$content_length|請求頭中的Content-length欄位||$http_user_agent|客戶端agent信息||$http_cookie|客戶端cookie信息||$remote_addr|客戶端的IP地址||$remote_port|客戶端的埠||$server_protocol|請求使用的協議,如HTTP/1.0、·HTTP/1.1||server_name|伺服器名稱||$server_port`|伺服器的埠號|

先追本溯源以下,跨域究竟是怎麼回事。

同源策略限制了從同一個源載入的文檔或腳本如何與來自另一個源的資源進行交互。這是一個用於隔離潛在惡意文件的重要安全機制。通常不允許不同源間的讀操作。

如果兩個頁面的協議,埠(如果有指定)和域名都相同,則兩個頁面具有相同的源。

例如:

現在我在fe.server.com對dev.server.com發起請求一定會出現跨域。

現在我們只需要啟動一個nginx伺服器,將server_name設置為fe.server.com,然後設置相應的location以攔截前端需要跨域的請求,最後將請求代理回dev.server.com。如下面的配置:

這樣可以完美繞過瀏覽器的同源策略:fe.server.com訪問nginx的fe.server.com屬於同源訪問,而nginx對服務端轉發的請求不會觸發瀏覽器的同源策略。

根據狀態碼過濾

根據URL名稱過濾,精準匹配URL,不匹配的URL全部重定向到主頁。

根據請求類型過濾。

GZIP是規定的三種標指廳准HTTP壓縮格式之一。目前絕大多數的網站都在使用GZIP傳輸HTML、CSS、JavaScript等資源文件。

對於文本文件,GZip的效果非常明顯,開啟後傳輸所需流量大約會降至1/4~1/3。

並不是每個瀏覽器都支持gzip的,如何知道客戶端是否支持gzip呢,請求頭中的Accept-Encoding來標識對壓縮的支持。

啟用gzip同時需要客戶端和服務端的支持,如果客戶端支持gzip的解析,那麼只要服務端能夠返回gzip的文件就可以啟用gzip了,我們可以通過nginx的配置來讓服務端支持gzip。下面的respone中content-encoding:gzip,指服務端開啟了gzip的壓縮方式。

這里為什麼默認版本不是1.0呢?

HTTP運行在TCP連接之上,自然也有著跟TCP一樣的三次握手、慢啟動等特性。

啟用持久連接情況下,伺服器發出響應後讓TCP連接繼續打開著。同一對客戶/伺服器之間的後續請求和響應可以通過這個連接發送。

為了盡可能的提高HTTP性能,使用持久連接就顯得尤為重要了。

HTTP/1.1默認支持TCP持久連接,HTTP/1.0也可以通過顯式指定Connection:keep-alive來啟用持久連接。對於TCP持久連接上的HTTP報文,客戶端需要一種機制來准確判斷結束位置,而在HTTP/1.0中,這種機制只有Content-Length。而在HTTP/1.1中新增的Transfer-Encoding:chunked所對應的分塊傳輸機制可以完美解決這類問題。

nginx同樣有著配置chunked的屬性chunked_transfer_encoding,這個屬性是默認開啟的。

Nginx在啟用了GZip的情況下,不會等文件GZip完成再返回響應,而是邊壓縮邊響應,這樣可以顯著提高TTFB(TimeToFirstByte,首位元組時間,WEB性能優化重要指標)。這樣唯一的問題是,Nginx開始返回響應時,它無法知道將要傳輸的文件最終有多大,也就是無法給出Content-Length這個響應頭部。

所以,在HTTP1.0中如果利用Nginx啟用了GZip,是無法獲得Content-Length的,這導致HTTP1.0中開啟持久鏈接和使用GZip只能二選一,所以在這里gzip_http_version默認設置為1.1。

如上面的圖,前面是眾多的服務窗口,下面有很多用戶需要服務,我們需要一個工具或策略來幫助我們將如此多的用戶分配到每個窗口,來達到資源的充分利用以及更少的排隊時間。

把前面的服務窗口想像成我們的後端伺服器,而後面終端的人則是無數個客戶端正在發起請求。負載均衡就是用來幫助我們將眾多的客戶端請求合理的分配到各個伺服器,以達到服務端資源的充分利用和更少的請求時間。

Upstream指定後端伺服器地址列表

在server中攔截響應請求,並將請求轉發到Upstream中配置的伺服器列表。

上面的配置只是指定了nginx需要轉發的服務端列表,並沒有指定分配策略。

輪詢策略

默認情況下採用的策略,將所有客戶端請求輪詢分配給服務端。這種策略是可以正常工作的,但是如果其中某一台伺服器壓力太大,出現延遲,會影響所有分配在這台伺服器下的用戶。

最小連接數策略

將請求優先分配給壓力較小的伺服器,它可以平衡每個隊列的長度,並避免向壓力大的伺服器添加更多的請求。

最快響應時間策略

依賴於NGINXPlus,優先分配給響應時間最短的伺服器。

客戶端ip綁定

來自同一個ip的請求永遠只分配一台伺服器,有效解決了動態網頁存在的session共享問題。

匹配以png|gif|jpg|jpeg為結尾的請求,並將請求轉發到本地路徑,root中指定的路徑即nginx本地路徑。同時也可以進行一些緩存的設置。

nginx的功能非常強大,還有很多需要探索,上面的一些配置都是公司配置的真實應用(精簡過了),如果您有什麼意見或者建議,歡迎在下方留言...

B. 原來前端部署這么簡單

前端部署並不簡單,但遵循一定步驟可以完成。以下是從零開始部署前端項目的全過程:

  1. 環境搭建

    • 伺服器:可以通過遠程工具連接到已有的伺服器,或者通過VMWare軟體搭建虛擬機作為伺服器。
    • 虛擬機設置:在VMWare中新建虛擬機,並按照提示設置用戶名和密碼。注意,如果啟動過程中出現Intel VTx禁用的提示,需要進入BIOS設置開啟對應選項。
  2. 網路配置

    • 打開虛擬機的虛擬網路編輯器,查詢並配置IP,確保子網IP和網關IP的網段與本地電腦一致。
    • 選擇設置了Nat模式的網卡,通過命令行查看虛擬機的IP地址。
  3. 遠程連接

    • 使用遠程工具通過IP地址、用戶名和密碼連接到虛擬機。
  4. 資源部署

    • 將打包好的前端資源上傳到伺服器的指定路徑。
  5. nginx配置

    • 安裝nginx並啟動。
    • 修改nginx的配置文件,主要配置location路徑,將其映射到前端資源路徑。
    • 修改完成後重啟nginx。
  6. 訪問驗證

    • 通過瀏覽器訪問虛擬機的IP地址,驗證前端項目是否成功部署。

重點內容環境搭建是部署前端項目的基礎,包括伺服器和虛擬機的設置。 網路配置需要確保虛擬機與本地電腦的網路環境一致,以便進行遠程連接和資源訪問。 nginx配置是實現前端資源映射的關鍵步驟,需要正確配置location路徑。

遵循以上步驟,可以完成前端項目的部署。但需要注意的是,每個步驟都可能遇到各種問題,需要具備一定的技術能力和耐心去解決。因此,前端部署並不簡單,需要認真對待。

C. 《若依ruoyi》第五章:Ruoyi系統spring boot啟動配置文件說明

《若依ruoyi》第五章:Ruoyi系統spring boot啟動配置文件說明

  • 配置文件概述

    • 默認配置文件:構建完Spring Boot項目後,默認會在resources目錄下提供application.properties文件,該文件通常為空,因為Spring Boot底層已自動配置所有設置。
    • 文件名與格式:文件名可以固定為application.properties,亦可改為application.yml。兩者在本質上相同,僅語法略有差異。application.yml文件採用YAML語言編寫,更適合作為配置文件。
  • 啟動類與自動裝配

    • 啟動類位置:啟動類RuoYiApplication位於com.ruoyi包中。
    • 自動掃描與裝配:Spring Boot啟動時會自動掃描com.ruoyi及其子包中的註解,實現自動裝配。
  • 配置文件讀取與web設置

    • 配置文件讀取:Spring Boot啟動後,首先讀取配置文件application.yml。
    • web監聽埠:配置文件中包含設置啟動的web監聽埠的片段。
    • web容器配置:配置使用web容器,並指定使用tomcat作為容器啟動。
  • 環境配置分離

    • profiles:active參數:配置文件中包含profiles:active參數,用於生產環境和測試環境的配置分離。
    • 附加配置文件讀取:Spring Boot除了讀取application.yml文件,還會根據profiles:active值讀取對應的附加配置文件,如applicationdruid.yml。
  • redis配置

    • redis用途:若依系統使用redis作為登錄會話緩存。
    • redis部署與指向:需部署redis,並在配置文件中指向部署的redis伺服器。
  • token配置

    • token用途:涉及前端與後端通信過程中的用戶登錄信息唯一標識。
    • token業務流程:包括用戶前端登錄、介面服務驗證賬號密碼、token寫入redis並返回、前端存儲token等步驟。
    • token存儲與有效期:token存儲在header的Authorization欄位內,有效期為30分鍾,過期需重新登錄。
  • MyBatis配置

    • typeAliasesPackage:允許通過全類名指定mapper.xml文件中的resultType或paramterType返回的自定義實體。通過typealiasespackage指定實體掃描包,MyBatis會自動掃描自定義實體。
    • mapperLocations:用於配置MyBatis掃描的目錄,掃描該目錄下的所有xml文件。
  • 數據源配置

    • 數據源配置文件:位於applicationdruid.yml。
    • 資料庫賬號與密碼:需根據實際需求修改資料庫賬號和密碼。
閱讀全文

與前端不能讀配置文件嗎相關的資料

熱點內容
pe如何壓縮文件 瀏覽:926
labview如何生成exe文件 瀏覽:545
如何做機要文件保密工作 瀏覽:300
每天固定時間網路延遲 瀏覽:710
大數據營商環境是什麼 瀏覽:597
jsp定義輸入框 瀏覽:562
地球帝國升級時代條件 瀏覽:493
電腦本地配置文件位置 瀏覽:410
如何設置筆記本上無線網路 瀏覽:811
app為何要與銀行卡號 瀏覽:510
上初中如何在網路上報名 瀏覽:602
如何將內存卡文件打開 瀏覽:217
word記憶庫里的文件在哪裡 瀏覽:342
蘋果6plus64g金色報價 瀏覽:18
一個文件系統中有一個20mb 瀏覽:820
java生日計算年齡 瀏覽:598
qnap默認密碼 瀏覽:705
蘋果7是2k屏嗎 瀏覽:796
日本網站怎麼填寫中國郵政 瀏覽:943
java獲取html標簽 瀏覽:149

友情鏈接