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运行环境

环境:

jre:  java运行环境  包含 jvm

jdk:  java开发环境  包含 jre

只想运行java代码,只需要jre即可

既想要运行环境,开发环境  jdk

二.Tomcat与Nginx区别

tomcat

基于java开发一个web服务器软件, 和nginx类似.

tomcat能直接解析jsp代码,以及静态资源.

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的主要功能是接受、响应用户请求。

service的作用是:将connector关联至engine(catalina引擎)

一个host就是一个站点,类似于nginx的多站点

context类似于nginx中location的概念

五.Tomcat配置虚拟主机 ---> 一台服务器运行多个站点

<!--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如果写了,一定要有对应的目录,不然整体就报错

/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.创建站点目录,上传zrlog的war包

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

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

[root@web01 zrlog]# rz ROOT.war    <---这个是zrlog的war包,名称就叫ROOT

3.重启Tomcat服务

[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的数据库上,创建一个zrlog的库,配置授权访问用户

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

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

<---此前配置过all用户,可以复用

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

jeesns  --社交

jpress  --博客 (群里-->新增Host -->新增站点目录--->jpress.war修改为ROOT.war)

zrlog  --博客


源码包-->jar包--war包的关系?

源码包  -->  由开发人员编写的

maven

jar    -->  源码包编译

无法独立运行, 需要被某个程序所依赖    mysql连接

可以独立运行, java -jar xx.jar 启动

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

war -->  源码包编译, 可以直接放在tomcat中进行部署  (这种类型居多)

源码-->maven编译-->jar或者war包

war包直接放入tomcat即可运行, war在运行过程中需要依赖 jar包

jar包 分为两种,  可独立运行(对外提供服务),    不可独立运行(被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配置基础认证 ---> 了解

如何开启 Server Status  Host Manager页面

1.配置conf/tomcat-users.xml

<role rolename="manager-gui"/>

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

2.如果访问还是403,是因为tomcat默认仅运行本地访问该管理页面,需要允许同网段主机访问

[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的基础认证 ---> 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>

#配置用户名密码,关联对应的角色(多个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

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

八.部署多节点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.修改域名解析


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

八.部署多节点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/ #重新授权

3.多节点挂载 

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,069评论 4 358
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,212评论 1 287
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 105,912评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,424评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,741评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,194评论 1 206
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,553评论 2 307
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,289评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,923评论 1 237
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,251评论 2 240
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,775评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,144评论 2 249
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,698评论 3 228
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,936评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,658评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,214评论 2 267
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,159评论 2 258

推荐阅读更多精彩内容