LNMT

1.JVM基本介紹

2.Tomcat與Nginx區(qū)別

tomcat
    基于java開發(fā)一個(gè)web服務(wù)器軟件, 和nginx類似.
    tomcat能直接解析jsp代碼,以及靜態(tài)資源.
    nginx + tomcat 

3.Tomcat安裝配置啟動(dòng)

[root@web01 ~]# yum install java -y
二進(jìn)制安裝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    

無法啟動(dòng):
1.替換配置文件: pkill java 然后在啟動(dòng)
2.配置文件寫錯(cuò)
3.虛擬主機(jī)是添加,不要修改
4.context如果寫了,一定要有對(duì)應(yīng)的目錄,不然整體就報(bào)錯(cuò)
/soft/tomcat/logs/catalina.out

4.Tomcat配置文件詳解

https://www.cnblogs.com/yinzhengjie/p/9508426.html

image.png

  • 一個(gè)server表示一個(gè)tomcat實(shí)例
  • 一個(gè)server中包含多個(gè)Connector連接器隧甚,Connector的主要功能是接受、響應(yīng)用戶請(qǐng)求宝踪。
  • service的作用是:將connector關(guān)聯(lián)至engine(catalina引擎)
  • 一個(gè)host就是一個(gè)站點(diǎn)锅睛,類似于nginx的多站點(diǎn)
  • context類似于nginx中l(wèi)ocation的概念

5.Tomcat部署博客項(xiàng)目zrlog

域名: zrlog.hai.com:8080
站點(diǎn)目錄: /code/zrlog

  • 1.配置server.xml文件 ,新增zrlog站點(diǎn)在 engline
[root@web01 ~]# vim /soft/tomcat/conf/server.xml
     <!--zrlog站點(diǎn)-->
    <Host name="zrlog.hai.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)建站點(diǎn)目錄,上傳zrlog的war包
[root@web01 ~]# mkdir /code/zrlog
[root@web01 ~]# cd /code/zrlog/
[root@web01 zrlog]# rz ROOT.war  
  • 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)建一個(gè)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 'oldboy.com';

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

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

  • jar --> 源碼包編譯
    無法獨(dú)立運(yùn)行, 需要被某個(gè)程序所依賴 mysql連接
    可以獨(dú)立運(yùn)行, java -jar xx.jar 啟動(dòng)
    https://gitee.com/chejiangyi/dingding-sonar
  • war --> 源碼包編譯, 可以直接放在tomcat中進(jìn)行部署 (這種類型居多)
    源碼-->maven編譯-->jar或者war包
    war包直接放入tomcat即可運(yùn)行, war在運(yùn)行過程中需要依賴 jar包
    jar包 分為兩種, 可獨(dú)立運(yùn)行(對(duì)外提供服務(wù)), 不可獨(dú)立運(yùn)行(被war依賴)

7.如何開啟 Server Status Host Manager頁面

1.配置conf/tomcat-users.xml

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

2.如果訪問還是403凌净,是因?yàn)閠omcat默認(rèn)僅運(yùn)行本地訪問該管理頁面,需要允許同網(wǎng)段主機(jī)訪問

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

[root@es-node1 tomcat]# vim 項(xiàng)目目錄下/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+" />
  • 啟用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)對(duì)應(yīng)的角色(多個(gè)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

8.部署多節(jié)點(diǎn)Tomcat-->mysql

10.0.0.7 ---> 10.0.0.51
10.0.0.8 ---> 10.0.0.51
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é)點(diǎn)掛載
mount -t nfs 172.16.1.31:/data/zrlog/ /code/zrlog/ROOT/attached/

9.接入負(fù)載均衡

[root@lb01 conf.d]# cat proxy_zrlog.oldhai.com.conf 
upstream  zrlog {
    server 172.16.1.7:8080;
    server 172.16.1.8:8080;
}

server {
    listen 80;
    server_name zrlog.oldxu.com;

    location / {
        proxy_pass http://zrlog;
        include proxy_params;
    }
}

10.session測(cè)試代碼用例诺祸,配置redis會(huì)話保持

  • 1.配置虛擬主機(jī)
[root@web01 conf]# vim /soft/tomcat/conf/server.xml 
<!--session站點(diǎn)-->
  <Host name="session.oldxu.com"  appBase="/code/session"
        unpackWARs="true" autoDeploy="true">
  </Host>
  • 2.準(zhǔn)備index.jsp文件(為了區(qū)分需要調(diào)整輸出的web01 web02)
[root@web01 conf]# cat /code/session/ROOT/index.jsp 
<body>
<%
//HttpSession session = request.getSession(true);
System.out.println(session.getCreationTime());
out.println("<br> web01 SESSION ID:" + session.getId() + "<br>");
out.println("Session created time is :" + session.getCreationTime()
+ "<br>");
%>
</body>
[root@tomcat ~]# wget https://github.com/ran-jit/tomcat-cluster-redis-session-manager/releases/download/3.0.3/tomcat-cluster-redis-session-manager.zip
[root@tomcat ~]# unzip tomcat-cluster-redis-session-manager.zip
[root@web01 ~]# cd tomcat-cluster-redis-session-manager

拷貝jar包

[root@web01 tomcat-cluster-redis-session-manager]# cp lib/* /soft/tomcat/lib/

拷貝tomcat連接redis配置文件

[root@web01 tomcat-cluster-redis-session-manager]# cp conf/redis-data-cache.properties /soft/tomcat/conf/

修改redis-data-cache.properties

[root@web01 ~]# vim /soft/tomcat/conf/redis-data-cache.properties
...
redis.hosts=172.16.1.51:6379
redis.password=123456           #有密碼就寫密碼,沒有不要寫
...
  • 4.添加如下兩行至tomcat/conf/context.xml
[root@web01 ~]# vim /soft/tomcat/conf/context.xml
<Context>
    .....
    <Valve className="tomcat.request.session.redis.SessionHandlerValve" />
    <Manager className="tomcat.request.session.redis.SessionManager" />
    ....
</Context>
  • 5.修改tomcat/conf/web.xml 配置文件session的超時(shí)時(shí)間 ,單位是分鐘
    <session-config>
            <session-timeout>60</session-timeout>       #根據(jù)情況調(diào)整
    </session-config>
  • 6.安裝redis着帽,當(dāng)然也可以自行搭建redis集群
[root@redis ~]# yum install redis -y
[root@redis ~]# cat /etc/redis.conf
...
bind 172.16.1.51 127.0.0.1
requirepass 123456              #如果不需要密碼,則不要配置
...
[root@redis ~]# systemctl start redis
[root@redis ~]# systemctl enable redis

Nginx+Tomcat集群全站Https+SSL

[root@lb ~]# cat /etc/nginx/conf.d/proxy_zrlog.com.conf 
upstream zrlog {
    server 10.0.0.7:8080;
    server 10.0.0.8:8080;
}
server {
    listen 443 ssl;
    ssl_certificate ssl_key/server.crt;
    ssl_certificate_key ssl_key/server.key;
    server_name zrlog.oldxu.com;

    location / {
        proxy_pass http://zrlog;
        include proxy_params;
}
}
server {
    listen 80;
    server_name zrlog.oldxu.com;
    return 302 https://$http_host$request_uri;
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末杂伟,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子仍翰,更是在濱河造成了極大的恐慌赫粥,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件予借,死亡現(xiàn)場(chǎng)離奇詭異傅是,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蕾羊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門喧笔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人龟再,你說我怎么就攤上這事书闸。” “怎么了利凑?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵浆劲,是天一觀的道長。 經(jīng)常有香客問我哀澈,道長牌借,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任割按,我火速辦了婚禮膨报,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘适荣。我一直安慰自己现柠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布弛矛。 她就那樣靜靜地躺著够吩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪丈氓。 梳的紋絲不亂的頭發(fā)上周循,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天强法,我揣著相機(jī)與錄音,去河邊找鬼湾笛。 笑死饮怯,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的迄本。 我是一名探鬼主播硕淑,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼嘉赎!你這毒婦竟也來了置媳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤公条,失蹤者是張志新(化名)和其女友劉穎拇囊,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體靶橱,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡寥袭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了关霸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片传黄。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖队寇,靈堂內(nèi)的尸體忽然破棺而出膘掰,到底是詐尸還是另有隱情,我是刑警寧澤佳遣,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布识埋,位于F島的核電站,受9級(jí)特大地震影響零渐,放射性物質(zhì)發(fā)生泄漏窒舟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一诵盼、第九天 我趴在偏房一處隱蔽的房頂上張望惠豺。 院中可真熱鬧,春花似錦拦耐、人聲如沸耕腾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至苍苞,卻和暖如春固翰,著一層夾襖步出監(jiān)牢的瞬間狼纬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來泰國打工骂际, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疗琉,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓歉铝,卻偏偏與公主長得像盈简,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子太示,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

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