目錄
引言
一、TOMCAT基礎功能
(一)自動解壓war包
(二)狀態頁
1.登錄狀態頁
2.遠程登錄
(三)服務管理界面
(四)Host虛擬主機
1.設置虛擬主機
2.建立站點目錄與文件
二、實現動靜分離與負載均衡
(一)配置nginx代理服務器
(二)建立訪問數據文件
(三)使用客戶機進行訪問
三、使用tomcat搭建博客
(一)安裝mysql
1.修改mysql密碼
2.建立數據庫用戶并授予權限
(二)建立博客
引言
在互聯網世界中,網站的性能優化和架構設計至關重要,特別是對于內容驅動型的個人博客而言,合理的資源分配和請求處理策略能夠顯著提升用戶體驗。其中,“動靜分離”是一種常見的服務器部署策略,它將動態內容(如PHP、Java Servlet等生成的內容)和靜態內容(如HTML、CSS、JavaScript、圖片等文件)分由不同的服務器或服務進行處理,從而提高整體性能。本文將詳細介紹如何使用Apache Tomcat與Nginx配合,實現動靜分離,并搭建一個高性能的個人博客系統。
一、TOMCAT基礎功能
(一)自動解壓war包
在配置文件中講到,當接受到請求后,會匹配符合要求的Host,在配置文件中的Host只有一個,且規定了自動解壓war包
自動解壓war包
.war:WebApp打包,類zip格式文件,通常包括一個應用的所有資源,比如jsp,html,配置文件等
.jar:EJB類文件的打包壓縮類zip格式文件,,包括很多的class文件, 網景公司發明
.rar:資源適配器類打包文件,目前已不常用
.ear:企業級WebApp打包,目前已不常用
傳統應用開發測試后,通常打包為war格式,這種文件部署到Tomcat的webapps目錄下,并默認會自動
建立兩個文件,使用jar命令,壓縮文件,并且以.war結尾
移動到該目錄下后,會自動解壓,形成目錄文件
這個主站點目錄比較特殊,在訪問的URL沒有任何上下文的情況下,默認以webapps/ROOT目錄文主站點,如果有其它目錄則以具體URL為主
例如,如果直接訪問your_sever/,則它的默認路徑為webapps/ROOT/idnex文件
如果指定訪問目錄的話,如data,那么它的訪問路徑為webapps/data/*
同在webapps目錄下的兩個目錄下的訪問資源文件內容不一樣
(二)狀態頁
tomcat狀態頁是Apache Tomcat服務器提供的一個管理界面,通過這個頁面可以查看和監控Tomcat運行時的狀態信息。
狀態頁的相關文件也存放在webapps目錄下
可以使用瀏覽器來訪問進行查看
也可以直接輸入/manager/status進行查看。但是會被拒絕訪問
1.登錄狀態頁
需要去修改配置文件,打開conf目錄下tomcat-users.xml文件,并跳轉到最后
?
#這些為注釋的信息。它定義了Tomcat服務器中的角色(roles)和用戶(users),以及這些
#用戶所歸屬的角色。(角色的含義相當于用戶組)<role rolename="tomcat"/>
#定義了一個名為 "tomcat" 的角色,這個角色可以對應于Tomcat服務器預定義的一些權限,比如
#訪問管理界面或部署應用等。<role rolename="role1"/>
#定義了一個名為 "role1" 的自定義角色,可以根據實際需求賦予特定權限。<user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
#定義了一個用戶名為 "tomcat" 的用戶,并設置了初始密碼(這里需要在實際使用時替換為強密碼)
#該用戶歸屬于 "tomcat" 角色,因此擁有與該角色關聯的所有權限。<user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
#定義了一個用戶名為 "both" 的用戶,同樣設置了初始密碼。這個用戶同時屬于 "tomcat"
#和 "role1" 兩個角色,因此擁有這兩個角色合并后的所有權限。<user username="role1" password="<must-be-changed>" roles="role1"/>
#定義了一個僅屬于 "role1" 角色的用戶。
了解這些信息后,將從拒絕界面復制的信息粘貼到配置文件的末尾,而后重啟服務,使配置文件生效
這個時候,就可以使用虛擬機本機的瀏覽器去訪問回環地址登錄狀態頁
登錄之后,就可以看到java虛擬機(JVM)的一些狀態信息
PS Eden Space
'這是年輕代(Young Generation)的一部分,主要用于存儲新創建的對象。當前已使用的內
存大小為210.02 MB,占其總容量(225.50 MB)的約93%。'PS Old Gen
'這是老年代(Old Generation),存放長期存活或晉升過來的對象。當前已使用的內存大小
為25.57 MB,占其總容量(629.50 MB)的4%。'PS Survivor Space
'同樣是年輕代的一部分,用于保存在年輕代中經歷過一次GC但尚未被回收的對象。當前已使用的
內存大小為7.54 MB,占其總容量(45.00 MB)的16%。'Code Cache
'非堆內存區域,用于存儲JIT編譯后的機器碼。當前已使用的內存大小為12.97 MB,占其最大可
擴展容量(240.00 MB)的5%。'Compressed Class Space
'另一個非堆內存區域,當類空間過大時,經過壓縮的類會被存放到此區域以節省內存。當前已使
用的內存大小為6.58 MB,占其最大容量(1024.00 MB)的0%,這里的“0%”可能是顯示錯誤,因
為已經使用了6.58 MB的空間。'Metaspace
'從Java 8開始取代了永久代(PermGen),用于存儲類元數據信息。這里顯示的最大容量為“-0.00 MB”,
這意味著Metaspace的大小可以動態調整,不受固定上限限制;當前已使用的內存大小為54.99 MB'
2.遠程登錄
修改完上面的配置文件后,只能使用本機去登錄回環地址才可以訪問,這也是在配置文件里就已經規定的,想要使用IP地址登錄,還需要去修改manager目錄下的META-INF/context.xml文件
在配置文件中,添加允許通過的字段,修改完畢后重新啟動服務
比如允許192.168.83段的地址去登錄查看狀態頁,就在allow后面加上192.168.83.\d(點前面
的"\表示轉義符)
這個時候再去使用該網段的地址去登錄就可以了
由于狀態頁比較重要,在設置登錄權限時需要注意哪些地址可以訪問,一般不建議開啟遠程登錄
(三)服務管理界面
Apache Tomcat的Manager App界面是一個基于Web的管理工具,用于管理和監控部署在Tomcat服務器上的Web應用程序。訪問路徑為/manager/html
通過Manager App,管理員可以執行以下操作:
-
部署應用:上傳WAR文件到Tomcat服務器,并部署為新的Web應用程序。
-
重新加載應用:無需停止整個服務器或卸載再部署,即可更新已部署應用的內容。
-
啟動和停止應用:控制單個Web應用的啟動與停止狀態。
-
刪除應用:從Tomcat服務器中移除已經部署的Web應用程序。
-
查看應用列表和狀態:列出所有部署在Tomcat服務器上的Web應用程序及其當前運行狀態(如是否正在運行、部署路徑等信息)
(四)Host虛擬主機
Apache Tomcat中的虛擬主機(Virtual Hosts)是指在同一臺物理服務器上通過不同的域名或IP地址來運行多個獨立的Web應用程序。這種方式使得一個Tomcat實例可以為多個網站提供服務,每個網站對應一個虛擬主機。
1.設置虛擬主機
需要在配置文件(conf/server.xml)中添加Host信息
2.建立站點目錄與文件
使用客戶端進行訪問
二、實現動靜分離與負載均衡
準備五臺服務器與一臺客戶機
客戶機 | 192.168.83.1 |
NGINX代理服務器 | 192.168.83.50 |
NGINXweb服務器1 | 192.168.83.30 |
NGINXweb服務器2 | 192.168.83.40 |
TOMCAT應用服務器1 | 192.168.83.60 |
TOMCAT應用服務器2 | 192.168.83.100 |
(一)配置nginx代理服務器
1.首先定義好地址池
默認輪詢權重為1:1
2.區分不同類型的文件進行代理
(二)建立訪問數據文件
tomcat服務默認訪問的界面為安裝路徑下的/webapps/ROOT/的index.jsp文件,為了區分,自定義一個index.jsp文件內容
(三)使用客戶機進行訪問
三、使用tomcat搭建博客
(一)安裝mysql
安裝好tomcat后安裝mysql數據庫,由于本地yum的mysql安裝包版本比較老舊,所以不推薦直接使用yum安裝,可以自己搭建一個yum倉庫
而后再使用yum安裝,需要注意安裝包的名字不要輸錯:
yum -y install mysql-community-server
1.修改mysql密碼
在之前介紹LNAP的時候,就將講解過如何修改密碼,但是之前是編譯安裝,只是安裝一些基礎功能,一些安全環境與優化,沒有yum做的全,比如初始密碼,編譯安裝的時候初始密碼為空,而yum安裝是有初始密碼的
可以使用grep過濾錯誤日志中的關鍵字進行查看
這個密碼是隨機生成的,有時候會有一些特殊字符,在使用該密碼登錄的時候,需要使用引號,將密碼引起來
登錄進去之后,可以修改密碼,或者直接使用mysqladmin -u root -p password修改密碼
但在修改密碼前需要了解validate_password_policy 和 validate_password_length這兩個參數
validate_password_policy:?這個參數用于指定密碼驗證策略的嚴格程度。其可選值包括0、1和2,默認值根據MySQL版本的不同可能會有所變化。值的含義如下:
0:只檢查密碼長度。
1(默認):檢查密碼長度以及字符種類(數字、小寫字母、大寫字母和特殊字符)。
2:最嚴格的策略,除了長度和字符種類外,還增加了其他復雜度要求,例如禁止使用常見密碼。
validate_password_length 設置全局密碼最小長度
2.建立數據庫用戶并授予權限
(二)建立博客
需要將博客系統的壓縮包放在tomcat服務默認的站點目錄下
此時就可以使用瀏覽器去訪問博客系統了
輸入創建的數據庫、用戶及密碼
設置網站名稱信息與創建管理員用戶
登錄管理員賬號
這個時候就可以進行編輯管理文章等一些列操作了