微服务架构(java环境&tomcat)

2022-11-21 17:05:57 浏览数 (1)

代码语言:javascript复制
[root@localhost ~]# tail -n4 /etc/profile
export JAVA_HOME=/usr/local/java 
export JRE_HOME=/usr/local/java/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

Jave Runtime Environment JAVA运行时环境 类文件路径 命令文件 或者可执行脚本

代码语言:javascript复制
[root@localhost ~]# tar -zxf apache-tomcat-8.5.35.tar.gz 
[root@localhost ~]# mv apache-tomcat-8.5.35 /usr/local/tomcat

开启: /usr/local/tomcat/bin/startup.sh 关闭: /usr/local/tomcat/bin/shutdown.sh

/usr/local/tomcat/logs/catalina.out 日志文件

1.tomcat多实例 端口 8080

tomcat配置文件解析 server.xml https://www.cnblogs.com/kismetv/p/7228274.html#title3

代码语言:javascript复制
[root@localhost ~]# mkdir /usr/local/tomcat/webapps/hello
[root@localhost ~]# cd /usr/local/tomcat/webapps/hello
[root@localhost hello]# echo "hello world" > index.jsp

nginx apache --> html index.html

1.目录浏览 curl http://192.168.6.10:8080/hello/ —》目录

JVM内存监控

代码语言:javascript复制
<%
Runtime rtm = Runtime.getRuntime();
long mm = rtm.maxMemory()/1024/1024;
long fm = rtm.freeMemory()/1024/1024;
long tm = rtm.totalMemory()/1024/1024;

out.println("JVM memory detailed info:<br>");
out.println("Max memory: " mm "MB" "<br>");
out.println("Free memory: " fm "MB" "<br>");
out.println("Total memory: " tm "MB" "<br>");
out.println("Available memory: " (mm fm-tm) "MB" "<br>");
%>

Max memory: 405MB最大内存 Free memory: 21MB剩余内存 Total memory: 101MB总内存 Available memory: 325MB可用内存

JMX远程调用 Tomcat远程调用

代码语言:javascript复制
307 CATALINA_OPTS="-Djava.rmi.server.hostname=192.168.6.10
308 -Dcom.sun.management.jmxremote
309 -Dcom.sun.management.jmxremote.port=8080
310 -Dcom.sun.management.jmxremote.ssl=false
311 -Dcom.sun.management.jmxremote.authenticate=true"

vim jmxremote.password 最后两行改密码

首先另外一台机器有java环境 两面关闭防火墙、宽容模式

应用管理器 App manager tomcat应用管理器 基于上面的操作 主机管理平台 host manager

应用管理 应用部署方式: 1)add manager 2)手动 效率提升—》交互–》非交互 ①方法

代码语言:javascript复制
cp bdqnweb.war /usr/local/tomcat/webapps/
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh

②方法

代码语言:javascript复制
mkdir /usr/local/tomcat/webapps/bdqnweb
unzip bdqnweb.war -d /usr/local/tomcat/webapps/bdqnweb

③方法

host manager 主机(host)管理

允许所有的主机

创建角色

tomcat优化 1)安全(tomcat加固) 端口防护 8080—》非8080 禁用目录浏览 禁用后台管理 app manager

服务器隐藏 apache tomcat/8.5.35 思路:对于可能出现的错误代码 进行错误页面优化 vim /usr/local/tomcat/conf/web.xml

1)内核参数优化 2)JVM内存优化 3)模型优化 4)并发优化

代码语言:javascript复制
[root@localhost hello]# echo 'net.ipv4.ip_local_port_range 
> net.ipv4.tcp_syn_retries=2
> net.ipv4.tcp_synack_retries=2
> net.ipv4.tcp_keepalive_time=1500
> net.ipv4.tcp_fin_timeout=15
> net.ipv4.tcp_max_syn_backlog=20000
> net.core.netdev_max_backlog=65535' >> /etc/sysctl.conf

nfs–》rpcbind–》32768-65535 2048 - 65535 6379 8080 11211 9092 2181 分布式 TCP三次握手和四次握手 syn队列的长度 1024 网卡接收 》 处理速度

JVM内存优化

Xms最小内存 Xmx最大内存

62行的命令最后应该在/usr/local/apr/lib

1.BIO blocking I/O 阻塞I/O 效率低 并发性能很差 2NIO nonblocking I/O 非阻塞I/O 基于系统缓冲区 可以提供非阻塞I/O操作 拥有比BIO更高的并发 3.APR apache portable runtime apache 便携运行时 调用heeptd的动态链接库来进行文件的读取和传输 提高tomcat对静态文件的处理能力 是tomcat高并发的首选模式

[root@localhost ~]# vim /usr/local/tomcat/conf/server.xml

88行:复制 双引号内org.apache.coyote.http11.Http11NioProtocol 修改Apr

并发优化 [root@localhost ~]# vim /usr/local/tomcat/conf/server.xml

0 人点赞