微服务架构(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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • SSL工作原理

    SSL工作原理

    2021年12月14日
  • linux图形界面扩容lvm,linux下对LVM扩容

    linux图形界面扩容lvm,linux下对LVM扩容操作环境:VirtualBox下RedHat6.464位版本扩容原因:/dev/vg_rhel64/lv_root占用率达到100%,导致部分应用无法继续运行操作过程:1.关闭系统,在虚拟机中添加一块10G的磁盘2.查看新添加磁盘对应的名称[root@rhel64~]#fdisk-cul得知磁盘对应名称为/dev/sdc3.给sdc分区,只分一个区sdc1[root@rhel64…

    2022年6月20日
  • ERROR 1100 (HY000): Table ‘api_category’ was not locked with

    ERROR 1100 (HY000): Table ‘api_category’ was not locked with

    2022年2月11日
  • 粒子群优化算法(PSO)简介及MATLAB实现[通俗易懂]

    粒子群优化算法(PSO)简介及MATLAB实现[通俗易懂]目录粒子群优化算法概述PSO算法步骤PSO(粒子群优化算法)与GA(遗传算法)对比PSO的MATLAB实现粒子群优化算法概述•粒子群优化(PSO,particleswarmoptimization)算法是计算智能领域,除了蚁群算法,鱼群算法之外的一种群体智能的优化算法,该算法最早由Kennedy和Eberhart在1995年提出的,该算法源自对鸟类捕食问题的研究。…

    2022年5月4日
  • Java8 LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转

    Java8 LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转本文目前提供:LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转文中都使用的时区都是东8区,也就是北京时间。这是为了防止服务器设置时区错误时导致时间不对,如果您是其他时区,请自行修改1.LocalDateTime获取毫秒数​//获取秒数Longsecond=LocalDateT…

    2022年4月30日
  • Django外键(ForeignKey)操作以及related_name的作用

    Django外键(ForeignKey)操作以及related_name的作用之前已经写过一篇关于Django外键的文章,但是当时并没有介绍如何根据外键对数据的操作,也就是如何通过主表查询子表或者通过子表查询主表的信息  首先我定义了两个模型,一个是老师模型,一个是学生模型,一个老师对应多个学生,这个算是一个一对多的类型(如下图所示)      那么如果我们要想查询一个老师对应的学生有哪些,该如何操作呢?   首先我们先查询到老师的信息,在这里我们使用pyt

    2022年6月23日

发表回复

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

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