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

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

在这里插入图片描述
在这里插入图片描述

[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运行时环境
类文件路径
命令文件 或者可执行脚本

[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

在这里插入图片描述
在这里插入图片描述

[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内存监控
在这里插入图片描述

<%
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远程调用
在这里插入图片描述

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)手动
效率提升—》交互–》非交互
①方法

cp bdqnweb.war /usr/local/tomcat/webapps/
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh

②方法

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)并发优化

[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
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101987.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 频次最高的38道selenium面试题及答案(下)[通俗易懂]

    频次最高的38道selenium面试题及答案(下)[通俗易懂]20、selenium中隐藏元素定位,你该如何做?隐藏元素可以正常定位到,只是不能操作(定位元素和操作元素是两码事,操作元素是指click、clear、send_keys等这些方法)。我们可以用js来操作隐藏元素。js和selenium不同,只有页面上有的元素(在dom里面的)都能正常操作。21、如何判断一个页面上元素是否存在?法1:用try…except在代码块加上法2:用elements定义组元素方法然后根其元素个数len()<1存在返回True,不存在则返回F.

    2022年6月20日
    21
  • Linux中DHCP的服务配置_linux配置ip地址命令

    Linux中DHCP的服务配置_linux配置ip地址命令DHCP:DynamicHostConfigurationProtocollease:租约报文:首次获取IP地址(广播包)client向服务器端发送DHCPDISCOVER的UDP报文server端回应DHCPOFFER报文client发送DHCPREQUEST报文,向服务器请求使用该报文server端发送DHCPACK报文,发送确认报文续租(单…

    2022年10月29日
    0
  • android自定义toast样式_android设置对话框宽度

    android自定义toast样式_android设置对话框宽度在一般的android开发中我们一般弹出一些提示信息,例如已打开蓝牙,wifi之类的提示,我们都是会选择Toast进行弹出。今天我们的客户提出们应用弹出提示太小,用户不注意的情况下,容易被忽略掉,要弹出的宽度填充整个屏幕,首先想到是不是需要自定义Toast,经过自己的一番研究后,发现不需要自定Toast,用现有的Toast就可以轻松实现了。publicvoidshowToast(Cont

    2022年9月13日
    0
  • 资源链接整合(不保证一直存在,持续更新)

    资源链接整合(不保证一直存在,持续更新)以下是我在学习java时遇到的学习资源,供大家使用,如有侵权,请联系我,立即删除。联系方式872454169@qq.com。1.maven下载,安装,测验http://jingyan.baidu.com/article/20095761bd195ecb0621b465.html2.Myeciplse创建maven项目(可以先看下maven百度百科)http://jingyan.ba

    2022年5月11日
    62
  • sha1() 函数

    sha1() 函数

    2021年10月12日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号