Linux運維day47_二階段_tomcat和jsp部署站點

一.JVM基本介紹

JAVA編譯型 ---> 編譯

C 編譯型--->

linux --->編譯一次

windows? ? --->編譯一次

macos

ubuntu

跨平臺? 移值型差

只需要將源代碼進行一次編譯? war,能夠在多處運行楚堤。

jvm虛擬機

windows? jvm? ? --->war

linux? ? jvm? ? --->war

mac? ? ? jvm? ? --->war

jvm 如何安裝?

jvm 需要? jre? java運行環(huán)境

環(huán)境:

jre:? java運行環(huán)境? 包含 jvm

jdk:? java開發(fā)環(huán)境? 包含 jre

只想運行java代碼,只需要jre即可

既想要運行環(huán)境,開發(fā)環(huán)境? jdk

二.Tomcat與Nginx區(qū)別

tomcat

基于java開發(fā)一個web服務(wù)器軟件, 和nginx類似.

tomcat能直接解析jsp代碼,以及靜態(tài)資源.

nginx + tomcat

三.Tomcat安裝配置啟動

yum:

[root@web01 ~]# yum install java -y

二進制安裝tomcat

[root@web01 ~]# mkdir /soft && cd /soft

[root@web01 soft]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.26/bin/apache-tomcat-9.0.26.tar.gz

[root@web01 soft]# tar xf apache-tomcat-9.0.26.tar.gz

[root@web01 soft]# ln -s /soft/apache-tomcat-9.0.26 /soft/tomcat

[root@web01 soft]# /soft/tomcat/bin/startup.sh

[root@web01 soft]# netstat -lntp|grep java

tcp6? ? ? 0? ? ? 0 :::8009? ? ? ? ? ? :::*? ? ? ? LISTEN? ? ? 8500/java? ? ? ? ?

tcp6? ? ? 0? ? ? 0 :::8080? ? ? ? ? ? :::*? ? ? ? LISTEN? ? ? 8500/java? ? ? ? ?

tcp6? ? ? 0? ? ? 0 127.0.0.1:8005? ? :::*? ? ? ? LISTEN? ? ? 8500/java? ?

二進制:

jdk使用二進制

tomcat使用二進制

[root@es-node1 ~]# mkdir /soft/

[root@es-node1 ~]# tar xf jdk-8u60-linux-x64.tar.gz -C /app/

[root@es-node1 ~]# ln -s /soft/jdk1.8.0_60 /soft/jdk

[root@es-node1 ~]# vim /etc/profile

#...最后面添加...

export JAVA_HOME=/app/jdk

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

[root@es-node1 ~]# tar xf apache-tomcat-9.0.26.tar.gz -C /soft

[root@es-node1 ~]# /soft/apache-tomcat-9.0.26/bin/startup.sh

四.Tomcat配置文件詳解

一個server表示一個tomcat實例

一個server中包含多個Connector連接器本涕,Connector的主要功能是接受讲婚、響應(yīng)用戶請求。

service的作用是:將connector關(guān)聯(lián)至engine(catalina引擎)

一個host就是一個站點,類似于nginx的多站點

context類似于nginx中l(wèi)ocation的概念

五.Tomcat配置虛擬主機 ---> 一臺服務(wù)器運行多個站點

<!--tomcat虛擬主機-->

<Host name="tomcat1.oldxu.com"? appBase="/code1"

unpackWARs="true" autoDeploy="true">

<!--類似于nginx的location? path是訪問的路徑 ->映射 docBase是真實的路徑-->

<Context docBase="/code1/admin" path="/test" reloadable="true"/>

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

prefix="tomcat1_access_log" suffix=".txt"

pattern="%h %l %u %t &quot;%r&quot; %s %b" />

</Host>

無法啟動:

1.替換配置文件:? pkill java? 然后在啟動

2.配置文件寫錯?

3.虛擬主機是添加,不要修改

4.context如果寫了,一定要有對應(yīng)的目錄,不然整體就報錯

/soft/tomcat/logs/catalina.out

六.Tomcat部署博客項目zrlog

域名: zrlog.oldxu.com:8080

站點目錄:? /code/zrlog? ? ? <--ROOT

10.0.0.7? tomcat? 端口 8080 10.0.0.51 mysql? ? 端口 3306

1.配置server.xml文件 ,新增在 engline

[root@web01 ~]# vim /soft/tomcat/conf/server.xml

<!--zrlog站點-->

? ? <Host name="zrlog.oldxu.com"? appBase="/code/zrlog"

? ? ? ? ? unpackWARs="true" autoDeploy="true">

? ? ? <Va0lve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

? ? ? ? ? ? prefix="zrlog_access_log" suffix=".txt"

? ? ? ? ? ? pattern="%h %l %u %t &quot;%r&quot; %s %b" />

? ? </Host>

2.創(chuàng)建站點目錄,上傳zrlog的war包

[root@web01 ~]# mkdir /code/zrlog

[root@web01 ~]# cd /code/zrlog/

[root@web01 zrlog]# rz ROOT.war? ? <---這個是zrlog的war包,名稱就叫ROOT

3.重啟Tomcat服務(wù)

[root@web01 zrlog]# /soft/tomcat/bin/shutdown.sh && /soft/tomcat/bin/startup.sh && tail -f /soft/tomcat/logs/catalina.out

4.配置域名劫持

5.在172.16.1.51的數(shù)據(jù)庫上,創(chuàng)建一個zrlog的庫,配置授權(quán)訪問用戶

[root@db01 ~]# mysql -uroot -poldxu.com

MariaDB [(none)]> create database zrlog charset utf8;

<---此前配置過all用戶,可以復(fù)用

MariaDB [(none)]> grant all privileges on *.* to 'all'@'%' identified by 'oldxu.com';

jeesns? --社交

jpress? --博客 (群里-->新增Host -->新增站點目錄--->jpress.war修改為ROOT.war)

zrlog? --博客


源碼包-->jar包--war包的關(guān)系?

源碼包? -->? 由開發(fā)人員編寫的

maven

jar? ? -->? 源碼包編譯

無法獨立運行, 需要被某個程序所依賴? ? mysql連接

可以獨立運行, java -jar xx.jar 啟動

https://gitee.com/chejiangyi/dingding-sonar

war -->? 源碼包編譯, 可以直接放在tomcat中進行部署? (這種類型居多)

源碼-->maven編譯-->jar或者war包

war包直接放入tomcat即可運行, war在運行過程中需要依賴 jar包

jar包 分為兩種,? 可獨立運行(對外提供服務(wù)),? ? 不可獨立運行(被war依賴)

1.配置conf/server.xml 增加一個Host

? ? ? ? <!--jpress站點-->

? ? ? <Host name="jpress.oldxu.com"? appBase="/code/jpress"

? ? ? ? ? ? unpackWARs="true" autoDeploy="true">

? ? ? ? <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

? ? ? ? ? ? ? prefix="jpress_access_log" suffix=".txt"

? ? ? ? ? ? ? pattern="%h %l %u %t &quot;%r&quot; %s %b" />

? ? ? </Host>

2.上傳代碼

[root@web01 ~]# mkdir /code/jpress && cd /code/jpress

[root@web01 jpress]# rz jpress.war

[root@web01 jpress]# mv jpress.war ROOT.war

3.重啟Tomcat

[root@web01 jpress]# /soft/tomcat/bin/shutdown.sh && /soft/tomcat/bin/startup.sh && tail -f /soft/tomcat/logs/catalina.out

七.Tomcat配置基礎(chǔ)認(rèn)證 ---> 了解

如何開啟 Server Status? Host Manager頁面

1.配置conf/tomcat-users.xml

<role rolename="manager-gui"/>

<user username="tomcat" password="123456" roles="manager-gui"/>

2.如果訪問還是403,是因為tomcat默認(rèn)僅運行本地訪問該管理頁面,需要允許同網(wǎng)段主機訪問

[root@web01 ~]# ll /soft/tomcat/webapps/manager/

[root@web01 ~]# ll /soft/tomcat/webapps/host-manager/

[root@es-node1 tomcat]# vim 項目目錄下/META-INF/context.xml

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

#修改為

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|10\.0\.0\.\d+" />

--------------------------------------------------------------------------

3.啟用zrlog的基礎(chǔ)認(rèn)證 ---> zrlog.oldxu.com/admin? ? 了解? 使用Nginx替代

--------------------------------------------------------------------------

[root@es-node1 tomcat]# vim /code/zrlog/ROOT/WEB-INF/web.xml

<web-app>

...

? ? <security-constraint>

? ? ? ? <web-resource-collection>

? ? ? ? ? ? <web-resource-name>zrlog</web-resource-name>

? ? ? ? ? ? <url-pattern>/admin/*</url-pattern>

? ? ? ? </web-resource-collection>


? ? ? ? <auth-constraint>

? ? ? ? ? ? <role-name>zrlog_role</role-name>

? ? ? ? </auth-constraint>

? ? </security-constraint>


? ? <login-config>

? ? ? ? <auth-method>BASIC</auth-method>

? ? ? ? <realm-name>Default</realm-name>

? ? </login-config>

...

</web-app>

#配置用戶名密碼匾嘱,關(guān)聯(lián)對應(yīng)的角色(多個role不要使用相同用戶)

[root@es-node1 tomcat]# vim /soft/tomcat/conf/tomcat-users.xml

<role rolename="zrlog_role"/>

<user username="tomcat" password="123456" roles="zrlog_role"/>

#重啟tomcat

[root@es-node1 ~]# /soft/tomcat/bin/shutdown.sh && /soft/tomcat/bin/startup.sh

------------------------------------------------------------------------------------

八.部署多節(jié)點Tomcat-->mysql

10.0.0.7? ---> 10.0.0.51

10.0.0.8? ---> 10.0.0.51

------------------------------------------------------------------------------------

1.安裝jdk

[root@web02 ~]# yum install java -y

2.安裝tomcat? 部署代碼? (scp)

在web01上操作

[root@web01 ~]# scp -rp /soft root@172.16.1.8:/

[root@web01 ~]# scp -rp /code/zrlog root@172.16.1.8:/code/

在web02上操作

[root@web02 soft]# rm -rf /soft/tomcat/

[root@web02 soft]# ln -s /soft/apache-tomcat-9.0.26 /soft/tomcat

[root@web02 soft]# /soft/tomcat/bin/startup.sh

3.修改域名解析


------------------------------------------------------------------------------------

八.部署多節(jié)點Tomcat-->NFS

10.0.0.7? ---> 10.0.0.51

10.0.0.8? ---> 10.0.0.51

10.0.0.31

------------------------------------------------------------------------------------

1.安裝NFS

[root@nfs ~]# groupadd -g 666 www

[root@nfs ~]# useradd -u666 -g666 www

[root@nfs ~]# yum install nfs-utils -y

[root@nfs ~]# cat /etc/exports

/data/zrlog 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)

[root@nfs ~]# mkdir /data/zrlog

[root@nfs ~]# systemctl restart nfs

2.找到圖片資源? 推送圖片資源至NFS

[root@web01 ~]# scp -rp /code/zrlog/ROOT/attached/* root@172.16.1.31:/data/zrlog/

[root@nfs ~]# chown -R www.www /data/zrlog/ #重新授權(quán)

3.多節(jié)點掛載?

# mount -t nfs 172.16.1.31:/data/zrlog/ /code/zrlog/ROOT/attached/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市早抠,隨后出現(xiàn)的幾起案子霎烙,更是在濱河造成了極大的恐慌,老刑警劉巖蕊连,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件悬垃,死亡現(xiàn)場離奇詭異,居然都是意外死亡咪奖,警方通過查閱死者的電腦和手機盗忱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來羊赵,“玉大人趟佃,你說我怎么就攤上這事∶两荩” “怎么了闲昭?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長靡挥。 經(jīng)常有香客問我序矩,道長,這世上最難降的妖魔是什么跋破? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任簸淀,我火速辦了婚禮瓶蝴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘租幕。我一直安慰自己舷手,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布劲绪。 她就那樣靜靜地躺著男窟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪贾富。 梳的紋絲不亂的頭發(fā)上歉眷,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天,我揣著相機與錄音颤枪,去河邊找鬼汗捡。 笑死,一個胖子當(dāng)著我的面吹牛汇鞭,可吹牛的內(nèi)容都是我干的凉唐。 我是一名探鬼主播庸追,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼霍骄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了淡溯?” 一聲冷哼從身側(cè)響起读整,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎咱娶,沒想到半個月后米间,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡膘侮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年屈糊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片琼了。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡逻锐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出雕薪,到底是詐尸還是另有隱情昧诱,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布所袁,位于F島的核電站盏档,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏燥爷。R本人自食惡果不足惜蜈亩,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一懦窘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧稚配,春花似錦奶赠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至愤惰,卻和暖如春苇经,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宦言。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工扇单, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人奠旺。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓蜘澜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親响疚。 傳聞我的和親對象是個殘疾皇子鄙信,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容