文档章节

4.61 - 第二个JAVA应用 4.62/63 - Tomcat的管理功能

Champin
 Champin
发布于 02/20 00:38
字数 2769
阅读 12
收藏 1

4.61 - 第二个JAVA应用

方法一:配置文件:

/usr/local/tomcat/conf/server.xml
    <Host name="www.aminglinux.cc"  appBase="/data/wwwroot/www.aminglinux.cc"
        unpackWARs="true" autoDeploy="true">
    </Host>

重启:

/usr/local/tomcat/bin/shutdown.sh  #先关闭
/usr/local/tomcat/bin/startup.sh # 再开启

启动时,8005端口起来非常慢,这是因为tomcat在启动时会调用系统的一个随机字符设备

方法二:

拷贝一个tomcat目录,修改server.xml里面的三个端口(其中8009可以删掉,8080改为8081,8005改为8006)

小常识:

	通过java.security.SecureRandom生成随机数来实现,随机数算法使用的是"SHA1PRNG",这个算法的提供者在底层依赖到操作系统提供的随机数据,在linux上,与之相关的是/dev/random和/dev/urandom。

/dev/random设备会返回小于熵池噪声总数的随机字节。/dev/random可生成高随机性的公钥或一次性密码本。若熵池空了,对/dev/random的读操作将会被阻塞,直到收集到了足够的环境噪声为止,而 /dev/urandom 则是一个非阻塞的发生器。它是/dev/random的一个副本,它会重复使用熵池中的数据以产生伪随机数据。这表示对/dev/urandom的读取操作不会产生阻塞,但其输出的熵可能小于/dev/random。

总之,8005端口启动慢就是因为JVM调用了系统的/dev/random设备生成随机数,而/dev/random生成随机数时被block了,自然就会导致8005端口启动慢,解决办法是不使用/dev/random,而是使用/dev/urandom。具体步骤如下:

# vim $JAVA_HOME/jre/lib/security/java.security 
//将securerandom.source=file:/dev/random改为securerandom.source=file:/dev/urandom

$JAVA_HOME在哪里?
如果是openjdk(yum安装的),在/usr/lib/jvm/
如果是下载的二进制包,就是jdk的主目录(如/usr/local/jdk_1.8)

4.62/63 - Tomcat的管理功能

 

1)host-manager(管理虚拟主机)

这个功能主要用来管理虚拟主机的,可以通过这个WEB界面,来停止、启动以及增加虚拟主机。首先要配置用户角色:

# vim conf/tomcat-user.xml // 更改或增加
  <role rolename="admin-gui"/>
  <role rolename="admin-script"/>
  <user username="tomcat" password="tomcat123" roles="admin-script,admin-gui"/>
</tomcat-users>

这里的admin-gui和admin-script是两个Tomcat内置的角色,host-manager功能需要这两个角色的支持。其中admin-gui用于控制页面访问权限,admin-script用于控制以简单的文本的形式进行访问host-manager。

此时在浏览器里输入http://ip:8080/host-manager/就可以访问到主机管理界面了,但此时还有点问题,会提示403. 这是因为Tomcat还有一个安全的设置,默认不允许这个客户端IP访问host-manager页面,解决办法是修改配置文件:

# vim webapps/host-manager/META-INF/context.xml 
//在allow那一行增加白名单IP,如果是网段用*表示,例如192.168.100.*
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.18.*"

我们可以通过这个WEB界面来增加、停止以及启动虚拟主机,非常方便。增加virtualhost,会在conf/Catalina/目录下生成一个目录,目录永久存在,但virtualhost临时的,重启服务后会消失,可以让其永久保存到server.xml,但需要在server.xml里增加,如下配置

<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>

如果出现403,则要新增加角色:admin-gui, admin-script

2) Manager(部署)

其实在host-manager界面里,点击右侧的"Server Status"按钮就会跳转到Manager界面里,要想成功访问同样需要配置tomcat-user.xml以及webapps/manager/META-INF/context.xml两个配置文件:

# vim conf/tomcat-user.xml //更改或增加
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>
  <user username="tomcat" password="tomcat123" roles="manager-gui,manager-scripts,manager-jmx,manager-status"/>
</tomcat-users>

其中manager-gui用于控制manager页面的访问,manager-script 用于控制以简单的文本的形式进行访问manager,manager-jmx用于控制jmx访问,manager-status用于控制服务器状态的查看。然后编辑webapps/manager/META-INF/context.xml:

# vim webapps/manager/META-INF/context.xml 
//在allow那一行增加白名单IP,如果是网段用*表示,例如192.168.100.*
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.18.*"

完成以上两步操作后,就可以通过http://ip:8080/manager/ 访问到manager界面了。

代码部分正在补充!!!

4.61 - 第二个JAVA应用 (部署一个新的应用)


[root@test01 conf.d]# vim /usr/local/tomcat/conf/server.xml 

 </Host>
         <Host name="www.chamlinux.cc"  appBase="/data/wwwroot/www.chamlinux.cc"
               unpackWARs="true" autoDeploy="true">
        </Host>





[root@test01 conf.d]# /usr/local/tomcat/bin/shutdown.sh  重启
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@test01 conf.d]# ps aux |grep java
root       7625  0.0  0.0 112728   980 pts/3    R+   00:55   0:00 grep --color=auto java
[root@test01 conf.d]# /usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@test01 conf.d]# !ps
ps aux |grep java
root       7642 40.7  8.9 2290632 89052 pts/3   Sl   00:55   0:05 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       7658  0.0  0.0 112728   980 pts/3    R+   00:55   0:00 grep --color=auto java

[root@test01 ~]# ls /data/wwwroot/
bbs.champin.top  www.chamlinux.cc  www.champin.top

[root@test01 ~]# cp /root/zrlog.war  /data/wwwroot/www.chamlinux.cc/
[root@test01 ~]# cd /data/wwwroot/www.chamlinux.cc/
[root@test01 www.chamlinux.cc]# ls
zrlog  zrlog.war 
[root@test01 www.chamlinux.cc]# ls zrlog
admin  assets  error  favicon.ico  include  META-INF  WEB-INF
[root@test01 www.chamlinux.cc]# mv zrlog ROOT; rm -f zrlog.war 
[root@test01 www.chamlinux.cc]# ls
ROOT

绑定下windows的hosts  www.chamlinux.cc

然后用浏览器去访问www.chamlinux.cc

还有另外一种方法简单演示一下
[root@test01 wwwroot]# cd /usr/local/
[root@test01 local]# ls
bin  games    lib    libexec  mysql5.7  sbin   src
etc  include  lib64  mysql    php-fpm   share  tomcat
[root@test01 local]# cp -r tomcat/  tomcat_2
[root@test01 local]# cd tomcat_2/

[root@test01 tomcat_2]# vim conf/server.xml 
修改三个端口8009直接删掉,不要。
8005改成8006
8080改成8081
删除
 <Host name="www.chamlinux.cc"  appBase="/data/wwwroot/www.chamlinux.cc"
               unpackWARs="true" autoDeploy="true">
        </Host>
三行


[root@test01 tomcat_2]# /usr/local/tomcat_2/bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcat_2
Using CATALINA_HOME:   /usr/local/tomcat_2
Using CATALINA_TMPDIR: /usr/local/tomcat_2/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat_2/bin/bootstrap.jar:/usr/local/tomcat_2/bin/tomcat-juli.jar


[root@test01 tomcat_2]# ps aux |grep tomcat
root       2429  0.0  0.0 113312   696 pts/0    S    01:13   0:00 /bin/sh /usr/local/tomcat/bin/catalina.sh start
root       2430  2.3 18.8 2349592 188284 pts/0  Sl   01:13   0:35 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       2448  1.5  7.2 2045960 72576 pts/0   Sl   01:13   0:23 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64/jre/bin/java -Xms8m -Xmx32m -Dfile.encoding=UTF-8 -Duser.dir=/usr/local/tomcat/webapps/ROOT/WEB-INF/plugins -jar /usr/local/tomcat/webapps/ROOT/WEB-INF/plugins/plugin-core.jar 27938 47938 /usr/local/tomcat/webapps/ROOT/WEB-INF/db.properties /usr/local/tomcat/webapps/ROOT/WEB-INF/plugins/jars 57938 /usr/local/tomcat/webapps/ROOT 2.1.0
root       2592  0.0  0.0 113312   692 pts/0    S    01:37   0:00 /bin/sh /usr/local/tomcat_2/bin/catalina.sh start
root       2593 14.9 13.5 2309700 134992 pts/0  Sl   01:37   0:13 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat_2/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat_2/bin/bootstrap.jar:/usr/local/tomcat_2/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat_2 -Dcatalina.home=/usr/local/tomcat_2 -Djava.io.tmpdir=/usr/local/tomcat_2/temp org.apache.catalina.startup.Bootstrap start
root       2650  0.0  0.0 112728   976 pts/0    R+   01:38   0:00 grep --color=auto tomcat

[root@test01 conf]# netstat -ltnp |grep java
tcp6       0      0 127.0.0.1:51659         :::*                    LISTEN      3034/java           
tcp6       0      0 :::8080                 :::*                    LISTEN      2430/java           
tcp6       0      0 :::8081                 :::*                    LISTEN      3015/java           
tcp6       0      0 127.0.0.1:57938         :::*                    LISTEN      2448/java           
tcp6       0      0 127.0.0.1:41659         :::*                    LISTEN      3034/java           
tcp6       0      0 127.0.0.1:21659         :::*                    LISTEN      3034/java           
tcp6       0      0 127.0.0.1:47938         :::*                    LISTEN      2448/java           
tcp6       0      0 127.0.0.1:27938         :::*                    LISTEN      2448/java           
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      2430/java           
tcp6       0      0 127.0.0.1:8006          :::*                    LISTEN      3015/java           
tcp6       0      0 :::8009                 :::*                    LISTEN      2430/java      

   


[root@test01 conf]# ls /usr/lib/jvm/jre/lib/security/java.security 
/usr/lib/jvm/jre/lib/security/java.security
[root@test01 conf]# vi !$
vi /usr/lib/jvm/jre/lib/security/java.security

# special device files such as file:/dev/urandom.




4.62/63 - Tomcat的管理功能

用浏览器访问192.168.28.107:8080 Tomact的默认页面点击 Host Manager会出现403。

[root@test01 ~]# cd /usr/local/tomcat
[root@test01 tomcat]# ls
bin           conf             lib      logs    README.md      RUNNING.txt  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RELEASE-NOTES  temp         work

[root@test01 tomcat]# vim conf/tomcat-users.xml

增加
 <role rolename="admin-gui"/>
  <role rolename="admin-script"/>
  <user username="tomcat" password="tomcat123" roles="admin-script,admin-gui"/>
</tomcat-users>


[root@test01 tomcat]# vim webapps/host-manager/META-INF/context.xml 

-->
<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192\.168\.28.*" />

[root@test01 tomcat]# /usr/local/tomcat/bin/shutdown.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@test01 tomcat]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

成功的话,点击Host Manager 会出现账号密码框 输入账号tomcat,密码tomcat123

可以管理或者停止和增加 虚拟主机
<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
在没有添加如上配置的话,添加的www.aaa.com虚拟机重启后就会消失,这条配置可以永久保存添加的虚拟主机

[root@test01 conf]# vim server.xml
<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>

添加上

[root@test01 tomcat]# /usr/local/tomcat/bin/shutdown.sh   重启
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@test01 tomcat]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

现在再添加一次就有了。 www.aaa.com

[root@test01 conf]# ls /data/wwwroot/
bbs.champin.top  www.aaa.com  www.bbb.com  www.chamlinux.cc  www.champin.top
[root@test01 conf]# ls /data/wwwroot/www.aaa.com/
[root@test01 conf]# ls /data/wwwroot/www.bbb.com/


[root@test01 conf]# vim tomcat-users.xml 
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="admin-script"/>
  <role rolename="admin-gui"/>
  <user username="tomcat" password="tomcat123" roles="admin-gui,admin-script,manager-gui,manager-scripts"/>

[root@test01 tomcat]# /usr/local/tomcat/bin/shutdown.sh   重启
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@test01 tomcat]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

添加的虚拟机重启后还是会消失,操作了一下步骤在测试一下
[root@test01 conf]# rm -rvf /data/wwwroot/www.*.com 
已删除目录:"/data/wwwroot/www.aaa.com"
已删除目录:"/data/wwwroot/www.bbb.com"
已删除目录:"/data/wwwroot/www.ccc.com"
[root@test01 conf]# pwd
/usr/local/tomcat/conf
[root@test01 conf]# rm -rvf Catalina/
localhost/        www.aaa.com/      www.bbb.com/      www.ccc.com/      www.chamlinux.cc/
[root@test01 conf]# rm -rvf Catalina/www.*.com
已删除"Catalina/www.aaa.com/manager.xml"
已删除目录:"Catalina/www.aaa.com"
已删除"Catalina/www.bbb.com/manager.xml"
已删除目录:"Catalina/www.bbb.com"
已删除"Catalina/www.ccc.com/manager.xml"
已删除目录:"Catalina/www.ccc.com"


在添加一次虚拟机www.bbb.com。再看看

[root@test01 conf]# cd ..
[root@test01 tomcat]# ls conf/Catalina/www.
www.bbb.com/      www.chamlinux.cc/ 
[root@test01 tomcat]# ls conf/Catalina/www.bbb.com/manager.xml 
conf/Catalina/www.bbb.com/manager.xml
[root@test01 tomcat]# ls /data/wwwroot/
bbs.champin.top  www.bbb.com  www.chamlinux.cc  www.champin.top
在点一下网页的持久化配置ALL(刚重启会消失可能是因为没做这一步)

[root@test01 tomcat]# vim conf/server.xml  同样再看看配置文件,找到下面内容
</Host>
      <Host appBase="/data/wwwroot/www.bbb.com" copyXML="true"
          name="www.bbb.com">
        <Alias>bbb.com</Alias>


现在再重启一次看看。现在重启就会存在www.bbb.com了
也可以用来单独重启一台虚拟主机


Manager配置方法也类似于Host Manager

[root@test01 tomcat]# vim tomcat-users.xml 
之前这里已经做了配置了

[root@test01 tomcat]# vim webapps/manager/META-INF/context.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context privileged="true" requestCharacterEncoding="UTF-8">
  <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.28.*"/>  添加一下IP

 

© 著作权归作者所有

共有 人打赏支持
Champin
粉丝 33
博文 116
码字总数 299687
作品 0
深圳
私信 提问
4.61第二个Java应用4.62-63Tomcat的管理功能

第二个Java应用 Tomcat的管理功能 第二个Java应用 在搭建好了JDK环境安装了一个zrlog博客后,如果在该环境中需要Java应用,有以下两种方法可实现。 方法一:编辑Tomcat配置文件 在配置文件z...

林怡丰
03/03
0
0
CentOS下安装两个或多个Tomcat7

1。安装JDK 官网下载,或者用winscp工具下载后解压 wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/......

15816815732
2018/06/29
0
0
关于java的DNS解析IP缓存问题

java对DNS解析IP进行缓存,默认缓存超时时间为-1(在重启JVM前永久缓存), 在第一次访问某域名后将会缓存解析到的IP地址,之后直接从缓存里获得所需的信息(如IP地址),而无需再访问DNS服务...

Sub
2013/08/09
0
0
review what i studied `date` - 2017-4-7

JMX是什么 JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的...

1498472791
2018/06/26
0
0
第二个Java应用和Tomcat的管理功能

第二个Java应用 在搭建好了JDK环境之后安装了一个zrlog,如果在该环境中需要使用第二个Java应用,则需要以下两种办法实现。 方法一:编辑Tomcat配置文件 在配置文件中添加如下内容 /data/ww...

李超小牛子
02/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于360插件化Replugin Activity动态修改父类的字节码操作

近期在接入360插件化方案Replugin时,发现出现崩溃情况。 大概崩溃内容如下: aused by: java.lang.ClassNotFoundException: Didn't find class "x.x.x.xActivity" on path: 我自己在插件代码......

Gemini-Lin
今天
0
0
mybatis缓存的装饰器模式

一般在开发生产中,对于新需求的实现,我们一般会有两种方式来处理,一种是直接修改已有组件的代码,另一种是使用继承方式。第一种显然会破坏已有组件的稳定性。第二种,会导致大量子类的出现...

算法之名
昨天
18
0
单元测试

右键方法 Go To --> Test,简便快速生成测试方法。 相关注解 @RunWith(SpringRunner.class) 表示要在测试环境中跑,底层实现是 jUnit测试工具。 @SpringBootTest 表示启动整个 Spring工程 @A...

imbiao
昨天
4
0
欧拉公式

欧拉公式表达式 欧拉公式的几何意 cosθ + j sinθ 是个复数,实数部分也就是实部为 cosθ ,虚数部分也就是虚部为 j sinθ ,对应复平面单位圆上的一个点。 根据欧拉公式和这个点可以用 复指...

sharelocked
昨天
5
0
burpsuite无法抓取https数据包

1.将浏览器和burpsuite的代理都设置好 2.在浏览器地址栏输入: http://burp 3.下载下面的证书,并将证书导入浏览器 cacert.der

Frost729
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部