Tomcat 应用企业级优化

tomcat常见日志

catalina.out

(常用)

标准输出标准出错,所有输出到这两个位置的都会进入catalina.out,这里包含tomcat运行自己输出的日志以及应用里向console输出的日志。默认这个日志文件是不会进行自动切割的,我们需要借助其他工具进行切割注意:catalina.out文件如果过大会影响)
catalina.YYYY-MM-DD.log tomcat运行的日志,这些日志还会输出到catalina.out,但是应用向console输出的日志不会输出到catalina.log,它是tomcat启动和暂停时的运行日志,注意,它和catalina.out是里面的内容是不一样的

localhost_access_log.YYYY-MM-DD.txt

(常用)

主要是应用初始化(listener, filter, servlet)未处理的异常最后被tomcat捕获而输出的日志,它也是包含tomcat的启动和暂停时的运行日志,但它没有catalina.log日志全。它只记录了部分日志
localhost.YYYY-MM-DD.log
(常用)
是访问tomcat的日志,请求时间和资源,状态码都有记录
manager.YYYY-MM-DD.log 这个是tomcat manager项目专有的日志文件
host-manager.YYYY-MM-DD.log host-manager项目生成的日志文件

tomcat优化

1、jvm的优化:Jvm的内存:JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的
Jvm不管是堆内存还是非堆内存,默认最小值是1/64,最大值是1/4

2、tomcat的优化

3、代码的优化

一、 定义默认页面、页面超时、禁止列出目录

[root@C7-10 ~]# vi /usr/local/tomcat/conf/web.xml
...............
........              #禁止列出目录
    110         
    111             listings
    112             false
    113         
........
...                   #页面超时
    581     
    582         30
    583     
......
...                   #默认页面
   4679     
   4680         index.html
   4681         index.htm
   4682         index.jsp
   4683     
.....
..

退出

二、禁用AJP协议连接器

 什么是AJP
AJP(Apache JServer Protocol) AJPv13协议是面向包的。WEB服务器和Servlet容器通过TCP连接来交互;为了节省SOCKET创建的昂贵代价,WEB服务器会尝试维护一个永久TCP连接到servlet容器,并且在多个请求和响应周期过程会重用连接

第一个:连接器监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器

第二个:连接器监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。AJP连接器可以通过AJP协议和一个web容器进行交互

 web客户端访问tomcat服务器上JSP组件的两种方式:

Tomcat 应用企业级优化_第1张图片

 tomcat在这里做了一个优化,架设了一个连接器叫做ajp的长连接,这样就减少了创建连接和关闭连接的次数,但是AJP服务只有Apache服务器才能使用。我们一般不适用apache服务,我们一般是使用Nginx+tomcat的架构,所以用不着AJP协议,所以把AJP连接器禁用;其实换个角度想如果一个AJP服务我们用不到但是开着,肯定会造成资源浪费的

[root@C7-10 ~]# netstat -auptn|grep java
tcp6       0      0 :::8080                 :::*                    LISTEN      2927/java           
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      2927/java           
tcp6       0      0 :::8009                 :::*                    LISTEN      2927/java      


[root@C7-10 ~]# vim /usr/local/tomcat/conf/server.xml
.......

    114 
    115      


[root@C7-10 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@C7-10 ~]# /usr/local/tomcat/bin/startup.sh

[root@C7-10 ~]# netstat -auptn|grep java
tcp6       0      0 :::8080                 :::*                    LISTEN      4620/java           
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      4620/java           
[root@C7-10 ~]# 

三、 配置网页传输压缩

注:如若有apache、nginx等做代理,tomcat则不必配置传输压缩

[root@C7-10 ~]# vim /usr/local/tomcat/conf/server.xml


 69       #压缩文件的格式
 76     

保存

[root@C7-10 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@C7-10 ~]# /usr/local/tomcat/bin/startup.sh

四、tomcat的三种模式:bio、nio、aio

模式 处理方式
BIO运行模式(默认) 一个线程处理一个请求;缺点:并发量高时,线程数较多,浪费资源
NIO运行模式 利用Java的异步IO处理,可通过少量的线程处理大量请求
AIO运行模式 从操作系统层面解决IO阻塞问题

 模式一BIO:默认

模式二NIO:新版本默认


[root@C7-10 ~]# vim /usr/local/tomcat/conf/server.xml                            
.......
...
    
    
.......
...

保存
[root@C7-10 ~]# /usr/local/tomcat/bin/shutdown.sh            
[root@C7-10 ~]# /usr/local/tomcat/bin/startup.sh               
[root@C7-10 ~]# tail /usr/local/tomcat/logs/catalina.out   #查看启动信息显示http-nio-8080说明启动成功
................
.......
30-Nov-2021 04:58:28.054 信息 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
30-Nov-2021 04:58:28.073 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in 1048 ms

模式三AIO(apr):

 tomcat-native.tar.gz   安装包默认在tomcat/bin下就有


[root@C7-10 ~]# rpm -e apr --nodeps
[root@C7-10 ~]# yum -y install apr apr-devel
.........
.....
[root@C7-10 ~]# cp /usr/local/tomcat/bin/tomcat-native.tar.gz  /root/
[root@C7-10 ~]# tar zxvf tomcat-native.tar.gz
..............
.....
[root@C7-10 ~]# cd tomcat-native-1.2.12-src/native/
[root@C7-10 native]# ./configure --with-apr=/usr/bin/apr-1-config
[root@C7-10 native]# make && make install
........................
...........                 出现以下内容说明安装完成
Libraries have been installed in:
   /usr/local/apr/lib
.......
....

[root@C7-10 native]# cd 
[root@C7-10 ~]# vim /usr/local/tomcat/bin/catalina.sh        #添加内容到最后
.................
..........
....
CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"

保存
[root@C7-10 ~]# vim /usr/local/tomcat/conf/server.xml
.........

[root@C7-10 ~]# vim /usr/local/tomcat/logs/catalina.out 
..............................................
.....................................                 显示http-apr-8080说明配置完成
......................
03-Dec-2021 00:10:20.652 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-apr-8080"]
03-Dec-2021 00:10:20.678 信息 [main] org.apache.catalina.startup.Catalina.start [949]毫秒后服务器启动

访问tomcat服务的状态

[root@C7-10 ~]# vim /usr/local/tomcat/conf/tomcat-users.xml
................
........
...               #在最后添加以下内容
  
  
  
  
  
  

  #以上内容为添加 ;注意在tomcat-users区域内添加内容就可

保存

[root@C7-10 ~]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml 
.......................
...............


               #修改为 ^.*$
  


保存

进行访问:http://192.168.2.10:8080

Tomcat 应用企业级优化_第2张图片

Tomcat 应用企业级优化_第3张图片

Tomcat 应用企业级优化_第4张图片

五、生产环境tomcat配置(优化)

[root@C7-10 ~]# vim /usr/local/tomcat/conf/server.xml
.............
..........
...                         69行进行添加
    
               redirectPort="8443" />
...........
.....
..

 以下为解释

     ----############---   解释
    

               redirectPort="8443" />
          #开启安全通道ssl

weblogic  安装、domain 配置、管理控制台

weblogic 术语
通过JNDI接口 可以访问目录服务
通过JDBC 可以访问数据库
通过JMX 可以管理其他设备(接口)
JMS 可以接收发送消息
RMI-IIOP 可以访问另外的网路服务,Web Service
通过JTA 可以做分布式事务的处理
JAAS 认证和授权(把重复部分拿出来单独成一个模块,这也是j2ee开发的精髓)
JNDI 将你写好的一个主键或者是一个资源,把它放进来并且暴露给外界,让网络上的其他程序能够通过JNDI访问它
Web Client 包括 浏览器(Browser)、Web Service(SOAP 或HTTP)
防火墙 过滤认证和授权服务,可以杜绝黑客的攻击,可以做端口的映射请求,可以完成代理服务器的功能
domain 是一个逻辑相关的WebLogic Server组成的一个组
Weblogic.Server 是执行在JVM上的(可以理解为有主方法的一个java类)
Admin Server 是一个domain的中心控制台。通过网页访问,管理domain
Managed Server 主要运行业务程序
Admin Server 也可以部署业务程序
Cluster 是weblogic集群

下载weblogic

在Oracle Software Downloads | Oracle  网页中下载:选择Middleware中的Fusion Middleware,最下面Oracle WebLogic Server Installers

 也可以直接打开这个网址下载  fmw_12.2.1.4.0WebLogic Server 12c (12.2.1), WebLogic Server 11g (10.3.6) and Previous Releases (oracle.com)

 下载jdk  Java Archive Downloads - Java SE 8 (oracle.com)   

Tomcat 应用企业级优化_第5张图片

linux安装(centos7.4,其他版本类似)

        #######---上传软件  : jdk-8u181-linux-x64.tar.gz
[root@C7-18 ~]# ls        
jdk-8u181-linux-x64.tar.gz

[root@C7-18 ~]# yum -y install libXext libXrender libXtst                       
...........
.....
..
[root@C7-18 ~]# yum groupinstall "GNOME 桌面"                               
.........
.....
..

 1、安装JDK

安装前先查看本地是否存在相关 java

[root@C7--13 ~]# rpm -qa |grep java

javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
java-1.7.0-openjdk-headless-1.7.0.141-2.6.10.5.el7.x86_64
java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
tzdata-java-2017b-1.el7.noarch
python-javapackages-3.4.1-11.el7.noarch


进行卸载 防止在后续工作出现问题
[root@C7--13 ~]# yum -y remove javapackages-tools-3.4.1-11.el7.noarch java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64 java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64 java-1.7.0-openjdk-headless-1.7.0.141-2.6.10.5.el7.x86_64 java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64 tzdata-java-2017b-1.el7.noarch  python-javapackages-3.4.1-11.el7.noarch



[root@C7-18 ~]# tar -xvf jdk-8u181-linux-x64.tar.gz
.........
....
[root@C7-18 ~]# mv jdk1.8.0_181   java
[root@C7-18 ~]# mv java /usr/local/
[root@C7-18 ~]# vi /etc/profile
........
....
.
export JAVA_HOME=/usr/local/java                #最后加入内容

export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/    #最后加入内容

export PATH=$PATH:$JAVA_HOME/bin                #最后加入内容

保存

[root@C7-18 ~]# source /etc/profile            
[root@C7-18 ~]#  java -version                   #出现下面表示成功
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode8
[root@C7-18 ~]# groupadd weblogic                  #创建用户组
[root@C7-18 ~]# useradd -g weblogic weblogic       #创建用户并加入组中
[root@C7-18 ~]# passwd weblogic                    #修改密码 123.com
更改用户 weblogic 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

 2、安装weblogic

上传  fmw_12.2.1.4.0_wls_lite_Disk1_1of1.zip   到 /home/weblogic/  下

[root@C7-18 ~]# su weblogic              #切换到weblogic用户上
[weblogic@C7-18 root]$ cd
[weblogic@C7-18 ~]$ ls
fmw_12.2.1.4.0_wls_lite_Disk1_1of1.zip

创建文件wls.rsp   {响应文件中的项一定要写全,否则会报错}

[weblogic@C7-18 ~]$ vim wls.rsp         

[ENGINE]

#DO NOT CHANGE THIS.

Response File Version=1.0.0.0.0

[GENERIC]

#The oracle home location. This can be an existing Oracle Home or a new Oracle Home #如果有需要可以修改安装目录但是尽量在/home/weblogic/  用户下;其他地方无需修改

ORACLE_HOME=/home/weblogic/oracle    

#Set this variable value to the Installation Type selected. e.g. WebLogic Server, Coherence, Complete with Examples.

INSTALL_TYPE=WebLogic Server

#Provide the My Oracle Support Username. If you wish to ignore Oracle Configuration Manager configuration provide empty string for user name.

MYORACLESUPPORT_USERNAME=

#Provide the My Oracle Support Password

MYORACLESUPPORT_PASSWORD=

#Set this to true if you wish to decline the security updates. Setting this to true and providing empty string for My Oracle Support username will ignore the Oracle Configuration Manager configuration

DECLINE_SECURITY_UPDATES=true

#Set this to true if My Oracle Support Password is specified

SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

#Provide the Proxy Host

PROXY_HOST=

#Provide the Proxy Port

PROXY_PORT=

#Provide the Proxy Username

PROXY_USER=

#Provide the Proxy Password

PROXY_PWD=

#Type String (URL format) Indicates the OCM Repeater URL which should be of the format [scheme[Http/Https]]://[repeater host]:[repeater port]

COLLECTOR_SUPPORTHUB_URL=

 创建文件oralnst.loc

[weblogic@C7-10 ~]$ vim oraInst.loc 

inst_group=weblogic

inventory_loc=/home/weblogic/wls



保存退出

      --------说明-------

inst_group=weblogic
首次安装oracle公司的软件需创建产品清单目录


inventory_loc=/home/weblogic/wls
安装weblogic 12c的用户组名称,根据实际情况修改用来保存安装时的一些临时文件,和默认安装的组名称

 创建文件结束后进行安装:配置文件路径应使用绝对路径!!!

 java -jar fmw_12.2.1.4.0_wls_lite_generic.jar -silent -responseFile  /home/weblogic/wls.rsp  -invPtrLoc /home/weblogic/oraInst.loc   
------          说明     -------
-silent               #表明使用静默安装的方式
-responseFile         #指定响应文件的路径
-invPtrLoc            #指定安装清单文件路径
-ignoreSysPrereqs     #忽略一些输出(可以不加此选项)

 安装的时候会进行校验,如jdk版本检查,cpu速度,交换空间大小,临时空间大小等,复制会显示百分比进度条,时间较长,耐心等待

[weblogic@C7-18 ~]$ unzip fmw_12.2.1.4.0_wls_lite_Disk1_1of1.zip
[weblogic@C7-18 ~]$ mkdir oracle
[weblogic@C7-18 ~]$ java -jar fmw_12.2.1.4.0_wls_lite_generic.jar -silent -responseFile /home/weblogic/wls.rsp -invPtrLoc /home/weblogic/oraInst.loc -ignoreSysPrereqs                                                   

启动程序日志文件为/tmp/OraInstall2021-11-29_01-44-09AM/launcher2021-11-29_01-44-09AM.log。
正在提取安装程序... . . . 完成
检查 CPU 速度是否大于 300 MHz。   实际为 2207.285 MHz    通过
检查交换空间: 必须大于 512 MB。   实际为 2047 MB    通过
检查此平台是否需要 64 位 JVM。   实际为64    通过 (不需要 64 位)
检查临时空间: 必须大于 300 MB。   实际为 46542 MB    通过
准备从/tmp/OraInstall2021-11-29_01-44-09AM启动 Oracle Universal Installer
日志:/tmp/OraInstall2021-11-29_01-44-09AM/install2021-11-29_01-44-09AM.log
版权所有 (c) 1996, 2019, Oracle 和/或其关联公司。保留所有权利。
正在读取响应文件...
跳过软件更新
开始检查: CertifiedVersions
预期的结果: oracle-6, oracle-7, redhat-7, redhat-6, SuSE-11, SuSE-12, SuSE-15之一
实际结果: redhat-null
检查完成。此次检查的总体结果为: 通过
CertifiedVersions 检查: 成功。


开始检查: CheckJDKVersion
问题: 此 JDK 版本在公开发布时未经过认证。此版本可能已在公开发布后经过认证。

建议: 请查看 Supported System Configurations Guide (http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html) 以获取详细信息。请按 "下一步" 继续。

预期的结果: 1.8.0_191
实际结果: 1.8.0_181
警告: 检查:CheckJDKVersion已完成但出现警告。


已启用此会话的验证。
正在验证数据
复制文件
完成百分比: 10
完成百分比: 20
完成百分比: 30
完成百分比: 40
完成百分比: 50
完成百分比: 60
完成百分比: 70
完成百分比: 80
完成百分比: 90
完成百分比: 100

Oracle Fusion Middleware 12c WebLogic Server 和 Coherence 12.2.1.4.0 的 安装 已成功完成。
日志已成功复制到/home/weblogic/wls/logs。

3、配置weblogic的domain

配置domain

启动domain就可以使用管理控制台进行管理了
admin Server对所有的managed Server进行管理配置
managed Server 的配置文件,是运行的时候从Admin Server下载的,所以更改managed Server配置文件是无效的,是通过JMX实现的

 linux(centos)设置显示内容为中文的设置

[weblogic@C7--18 ~]$ cd oracle/wlserver/common/bin/    #先进入文件bin下


[weblogic@C7--18 ~]$ export LANG=en_US            #设置变量英文字符输出
                             或者          
[weblogic@C7--18 ~]$ LANG="zh_CN.UTF-8"           #设置变量中文字符输出  这里我选择的中文我是中国人



[weblogic@C7--18 bin]$ echo $LANG                 #查看变量
en_US

[weblogic@C7--18 bin]$ echo $LANG                 #查看中文变量 如果不信可以试试这两个变量
zh_CN.UTF-8
[weblogic@C7--18 bin]$ ls
config.sh  pack.sh  unpack.sh  wlscontrol.sh  wlsifconfig.sh  wlst.sh

[weblogic@C7--18 bin]$ ./config.sh -model=console
WARNING: This is a deprecated script. Please invoke the config.sh script under oracle_common/common/bin.

 注意:如果出现以下情况

[weblogic@C7--18 bin]$ ./config.sh
WARNING: This is a deprecated script. Please invoke the config.sh script under oracle_common/common/bin.
Exception in thread "main" java.awt.AWTError: Can't connect to X11 window server using 'localhost:0.0' as the value of the DISPLAY variable.
	at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
	at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)
	at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:74)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)
	at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
.......
....
.

 解决方法:

方法一:确认 X11是否已选择

Tomcat 应用企业级优化_第6张图片

 方法二:设置变量

[weblogic@C7--18 bin]$ export DISPLAY=192.168.2.254:0.0


192.168.2.254 是虚拟网卡的地址

Tomcat 应用企业级优化_第7张图片

 连接成功后是下图

Tomcat 应用企业级优化_第8张图片

Tomcat 应用企业级优化_第9张图片

Tomcat 应用企业级优化_第10张图片

Tomcat 应用企业级优化_第11张图片 Tomcat 应用企业级优化_第12张图片

Tomcat 应用企业级优化_第13张图片

Tomcat 应用企业级优化_第14张图片

Tomcat 应用企业级优化_第15张图片

Tomcat 应用企业级优化_第16张图片

  进入控制台

[weblogic@C7--18 bin]$ cd /home/weblogic/oracle/user_projects/domains/base_domain/bin/
[weblogic@C7--18 bin]$ ls
generateArchive.sh   server_migration   setStartupEnv.sh         startRSDaemon.sh        stopNodeManager.sh
nodemanager          service_migration  startComponent.sh        startWebLogic.sh        stopRSDaemon.sh
patching             setDomainEnv.sh    startManagedWebLogic.sh  stopComponent.sh        stopWebLogic.sh
restartComponent.sh  setNMJavaHome.sh   startNodeManager.sh      stopManagedWebLogic.sh

#####------        启动weblogic server  需要输入用户和密码

[weblogic@C7--18 bin]$ ./startWebLogic.sh 
..................
........
Enter username to boot WebLogic server:weblogic     #之前创建的用户 weblogic
Enter password to boot WebLogic server:             #之前设置的密码weblogic123.com
.......
...

客户端访问控制台:http://192.168.2.18:7001/console

 下方输入的用户密码和上面的一样

Tomcat 应用企业级优化_第17张图片

Tomcat 应用企业级优化_第18张图片

 开始部署项目 

Tomcat 应用企业级优化_第19张图片

Tomcat 应用企业级优化_第20张图片

 上传war安装包

Tomcat 应用企业级优化_第21张图片

Tomcat 应用企业级优化_第22张图片

Tomcat 应用企业级优化_第23张图片

Tomcat 应用企业级优化_第24张图片

Tomcat 应用企业级优化_第25张图片

Tomcat 应用企业级优化_第26张图片

Tomcat 应用企业级优化_第27张图片

Tomcat 应用企业级优化_第28张图片

访问测试

Tomcat 应用企业级优化_第29张图片

你可能感兴趣的:(Tomcat,应用企业级优化,weblogic,安装,domain,配置,linux远程解决方案,linux远程图形化汉化)