浏览器访问 http://10.0.0.7:8080/memtest
2、tomcat auth basic认证的实现为站点的某个路径配置认证
2.1 修改tomcat的conf目录下的tomcat-users.xml文件添加角色用户名和密码
[root@tomcat ~]# vim /application/tomcat/conf/tomcat-users.xml ………… <role rolename="manager-gui"/> <role rolename="admin-gui"/> <user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/> </tomcat-users> #在此行前加入上面三行2.2 修改myapp/WEB-INF/web.xml文件这个文件的内容可以效仿系统自带的manager页面认证的配置文件/application/tomcat/webapps/manager/WEB-INF/web.xml进行配置
[root@tomcat jpress]# vim WEB-INF/web.xml <security-constraint> <web-resource-collection> <web-resource-name>HTML Manager interface (for humans)</web-resource-name> <url-pattern>/admin/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>manager-gui</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> <realm-name>Jpress admin</realm-name> </login-config> [root@tomcat jpress]# /application/tomcat/bin/shutdown.sh #重启tomcat [root@tomcat jpress]# /application/tomcat/bin/startup.sh访问网站admin路径时就需要认证
3、自定义默认网站目录[root@tomcat ~]# vim /application/tomcat/conf/server.xml <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="/application/tomcat/webapps/memtest" debug="0" reloadable="false" crossContext="true"/> [root@tomcat ~]# /application/tomcat/bin/shutdown.sh #重启tomcat [root@tomcat ~]# /application/tomcat/bin/startup.sh访问http://10.0.0.7:8080即可访问到网站
4、tomcat多实例及集群架构4.1、tomcat多实例4.1.1、复制tomcat目录[root@tomcat ~]# cd /application/ [root@tomcat application]# cp -a apache-tomcat-8.0.27 tomcat8_1 [root@tomcat application]# cp -a apache-tomcat-8.0.27 tomcat8_24.1.2、修改配置文件[root@tomcat application]# mkdir -p /data/www/www/ROOT [root@tomcat application]# cp /application/tomcat/webapps/memtest/meminfo.jsp /data/www/www/ROOT/ [root@tomcat ~]# sed -i '22s#8005#8011#;69s#8080#8081#;123s#appBase=".*"# appBase="/data/www/www"#' /application/tomcat8_1/conf/server.xml [root@tomcat ~]# sed -i '22s#8005#8012#;69s#8080#8082#;123s#appBase=".*"# appBase="/data/www/www"#' /application/tomcat8_2/conf/server.xml [root@tomcat ~]# diff /application/tomcat/conf/server.xml /application/tomcat8_1/conf/server.xml 22c22 < <Server port="8005" shutdown="SHUTDOWN"> --- > <Server port="8011" shutdown="SHUTDOWN"> 69c69 < <Connector port="8080" protocol="HTTP/1.1" --- > <Connector port="8081" protocol="HTTP/1.1" 123c123 < <Host name="localhost" appBase="/application/tomcat/webapps/memtest" --- > <Host name="localhost" appBase="/data/www/www" [root@tomcat ~]# diff /application/tomcat/conf/server.xml /application/tomcat8_2/conf/server.xml 22c22 < <Server port="8005" shutdown="SHUTDOWN"> --- > <Server port="8012" shutdown="SHUTDOWN"> 69c69 < <Connector port="8080" protocol="HTTP/1.1" --- > <Connector port="8082" protocol="HTTP/1.1" 123c123 < <Host name="localhost" appBase="/application/tomcat/webapps/memtest" --- > <Host name="localhost" appBase="/data/www/www"4.1.3、启动多实例for i in {1..2};do /application/tomcat8_$i/bin/startup.sh;done netstat -tunlp|grep java4.2、tomcat集群使用nginx+tomcat反向代理集群
[root@tomcat ~]# vim /application/nginx/conf/nginx.conf upstream web_pools { server 127.0.0.1:8081; server 127.0.0.1:8082; } server { listen 80; server_name localhost; location / { root html; index index.jsp index.html index.htm; proxy_pass http://web_pools; } } [root@tomcat ~]# /application/nginx/sbin/nginx -t [root@tomcat ~]# /application/nginx/sbin/nginx浏览器直接访问ip地址即可访问到网站
5、tomcat优化5.1 安全优化降权启动 telnet管理端口保护 ajp连接端口保护 禁用管理端
5.2、性能优化5.2.1、屏蔽dns查询enableLookups="false" <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="6000" enableLookups="false" acceptCount="800" redirectPort="8443" />5.2.2、jvm调优Tomcat较耗内存,如果系统资源有限,那就需要进行调优,提高资源使用率
增加最大连接数调整工作模式启用gzip压缩调整JVM内存大小作为Web时,动静分离合理选择垃圾回收算法尽量使用较新JDK版本优化catalina.sh配置文件。在catalina.sh配置文件中添加以下代码:
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m" server 一定要作为第一个参数,在多个CPU时性能佳 -Xms 初始堆内存Heap大小,使用的最小内存,cpu性能高时此值应设的大一些 -Xmx 初始堆内存heap最大值,使用的最大内存 上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半。 -XX:PermSize 设定内存的永久保存区域 -XX:MaxPermSize 设定最大内存的永久保存区域 -XX:MaxNewSize: s设定最大新生代内存大小 -Xss 15120 这使得JBoss每增加一个线程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k. +XX:AggressiveHeap 会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。 -Xss 每个线程的Stack大小 -verbose:gc 现实垃圾收集信息 -Xloggc:gc.log 指定垃圾收集日志文件 -Xmn young generation的heap大小,一般设置为Xmx的3、4分之一 -XX:+UseParNewGC 缩短minor收集的时间 -XX:+UseConcMarkSweepGC 缩短major收集的时间 ---来自腾讯云社区的---山山仙人
微信扫一扫打赏
支付宝扫一扫打赏