部署第二个Java应用
部署方式类似与nginx应用部署(IP/端口/域名)
基于域名 #修改配置文件,添加host域名
[root@feature1 ~]# vim /usr/local/tomcat/conf/server.xml[root@feature1 ~]# /usr/local/tomcat/bin/shutdown.sh[root@feature1 wwwroot]# ps aux |grep javaroot 4488 99.2 4.6 2530260 85568 pts/0 Sl 12:42 0:04 /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 startroot 4530 0.0 0.0 112708 976 pts/0 R+ 12:42 0:00 grep --color=auto java[root@feature1 ~]# /usr/local/tomcat/bin/startup.shUsing CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usrUsing CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jarTomcat started.
#配置的appbase目录不需要手动创建,重启tomcat服务后会自动创建[root@feature1 wwwroot]# netstat -tnlp|grep java#拷贝java应用的war包到webapps目录下[root@feature1 wwwroot]# cd /usr/local/tomcat/webapps/[root@feature1 webapps]# cp zrlog.war /data/wwwroot/test.feature.com/[root@feature1 webapps]# cd /data/wwwroot/test.feature.com/[root@feature1 test.feature.com]# mv zrlog ROOT[root@feature1 test.feature.com]# rm -rf zrlog.war
#curl测试[root@feature1 wwwroot]# curl -x127.0.0.1:8080 -I test.feature.comHTTP/1.1 302X-ZrLog: 2.1.0Location: /installTransfer-Encoding: chunkedDate: Tue, 19 Feb 2019 05:02:29 GMT#网页访问test.feature.com:8080安装应用
基于端口
拷贝一个tomcat目录,修改server.xml里面的三个端口配置(其中8009端口可以删掉,8080和8005端口其他自定义端口)
[root@feature1 wwwroot]# cd /usr/local[root@feature1 local]# cp -r tomcat/ tomcat_2[root@feature1 local]# vim tomcat_2/conf/server.xml#删除之前新加的host域名配置,默认的host域名配置可以自定义,此次实验环境保持默认,修改默认的三个端口配置#删除8009端口配置#修改8080为8081#修改8005为8006
[root@feature1 local]# /usr/local/tomcat_2/bin/startup.shUsing CATALINA_BASE: /usr/local/tomcat_2Using CATALINA_HOME: /usr/local/tomcat_2Using CATALINA_TMPDIR: /usr/local/tomcat_2/tempUsing JRE_HOME: /usrUsing CLASSPATH: /usr/local/tomcat_2/bin/bootstrap.jar:/usr/local/tomcat_2/bin/tomcat-juli.jarTomcat started.[root@feature1 local]# firewall-cmd --add-port=8081/tcp --permanentsuccess[root@feature1 local]# firewall-cmd --reloadsuccess[root@feature1 local]# netstat -ltnp|grep javatcp6 0 0 :::8009 :::* LISTEN 4599/javatcp6 0 0 :::8080 :::* LISTEN 4599/javatcp6 0 0 :::8081 :::* LISTEN 5080/javatcp6 0 0 127.0.0.1:8005 :::* LISTEN 4599/javatcp6 0 0 127.0.0.1:8006 :::* LISTEN 5080/java
curl测试
[root@feature1 local]# curl -x127.0.0.1:8081 -I zrlog.feature.comHTTP/1.1 200Content-Type: text/html;charset=UTF-8Transfer-Encoding: chunkedDate: Tue, 19 Feb 2019 05:38:41 GMT
- 网页访问zrlog.featue.com:8081
基于IP(更换IP网卡)
- 备注
通过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)