注:知识来源于ob
一、安装jdk和tomcat
#安装jdk
tar -xf jdk-8u45-linux-x64.tar.gz -C /application
ln -s /application/jdk1.8.0_281/ /application/jdk
#配置环境变量
cat >>/etc/profile<<'EOF'
export JAVA_HOME=/application/jdk
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
export TOMCAT_HOME=/application/tomcat
EOF
source /etc/profile
java -version
对于’EOF’的解释:
1,你用-eof,真的测试了有效吗
2,确定eof要用单引号还是双引号,单引号,会让变量保留到远程主机上解析;双引号,会让变量在本机解析
#有一点特别的jdk解压后,他们的用户和用户组显示的是数字,可直接修改权限即可
chown -R root.root /application/jdk
#安装tomcat
tar xf apache-tomcat-8.5.63.tar.gz -C /application/
ln -s /application/apache-tomcat-8.5.63/ /application/tomcat
#查看版本信息
/application/tomcat/bin/version.sh
1.1 tomcat服务管理
#启动tomcat
/application/tomcat/bin/startup.sh
ss -lntup | grep java
1.2tomcat目录说明
1.3 tomcat管理端
修改conf/tomcat-users.xml
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>
</tomcat-users>
#关闭 再启动tomcat
/application/tomcat/bin/shutdown.sh
ps -ef | grep java
/application/tomcat/bin/startup.sh
在tomcat 8.5对管理端更为严格,还要继续做修改:
他目前只允许127段的来访问,用了正则PCRE 。 修改下面找到的文件,将 127 改成 \d+ 或者指定网段数字。改完后find再次检查。 重启tomcat
[root@lvs1-138 tomcat]# find -type f -name "*.xml" | xargs grep '127'
./webapps/host-manager/META-INF/context.xml: allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
./webapps/host-manager/WEB-INF/manager.xml: allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
./webapps/manager/META-INF/context.xml: allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
原:
改:
此时点击Status Server 等那三个按钮,输入账号密码 tomcat / tomcat即可访问
1.4 tomcat的日志 (catalina.out )
catalina.out和catalina.日期.log
catalina.out在被切割后内容不会被清空|
1.5 tomcat部署应用及方式
1、如果开发给你的是war包 ,则把war包放入到tomcat webapps自动解压自动部署
2、如果开发给你的是jar包 ,相当于把tomcat放入到jar中。
运行jar包指令:java -jar xxxx.jar
3、默认web路径为/application/tomcat/webapps/
上传个jpress.war
cp /app/tools/jpress.war /application/tomcat/webapps/
#此时会自动解压
安装jpress
安装MariaDB 《https://www.cnblogs.com/yhongji/p/9783065.html》
create database jpress charset utf8;
grant all on jpress.* to jpress@'localhost' identified by '123456';
grant all on jpress.* to jpress@'192.168.%.%' identified by '123456';
select user,host from mysql.user;
windows网页访问 192.168.26.138:8080/jpress进行安装
http://192.168.26.138:8080/jpress/admin/index (管理端)
http://192.168.26.138:8080/jpress/ (网站首页)
数据库配置文件: jboot.properties (一般的叫 db.properties)
END
二、tomcat配置文件server.xml
/application/tomcat/conf/server.xml
一、
<Server port="8005" shutdown="SHUTDOWN">
tomcat关闭端口 ,当telnet 127.0.0.1 8005 ,输入SHUTDOWN后,tomcat就被关闭了(生产环境需改变端口,以及shutdown=""的值, 如shutdown="OBSHUTDOWN")
二、
用户管理端 认证模式 用户名密码模式
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" /> 用户管理配置文件
</GlobalNamingResources>
三、
web端口
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
指定的web站点目录。
appBase:这个目录下面的子目录将自动被部署为应用,且war文件将被自动解压缩并部署为应用,默认为tomcat下webapps目录,如果不想访问默认ROOT目录,修改这里,同理如果想访问配置目录下应用为默认应用,在此目录下新增ROOT目录文件夹。
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
配置tomcat虚拟主机的<host>内容 (相当于nginx的 server{} 模块)
当访问 192.168.26.138:8080 的时候,他会访问的jsp页面如下:
https://www.cnblogs.com/wei-lai/p/6249595.html《tomcat -ROOT 与webapps 的关系,关于部署的一些问题》
三、server.xml优化参数
原:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改的:
<Connector port="8080" protocol="HTTP/1.1"
maxThreads="500" #最大线程数量 200~400之间 ,但不是越大越好,比如有次设置了3000,但一般是2000出头,单次请求的响应时间会急剧增加。
acceptCount="500" #一般与maxThreads一直
minSpareThreads="10" #空闲时候 最小的线程数量
enableLookups="false" #禁止DNS逆向查询 route -n , arp -n
compression="on" #开启压缩,静态资源html js css
compressionMinSize="2048" #压缩文件 最小2048字节
#压缩哪些类型的文件
compressableMimeType="text/html,text/plain,text/css,application/javascript,application/json,application/x-font-ttf,application/x-font-otf"
disableUploadTimeout="true" #关闭上传时间超时
acceptorThreadCount="2" #用于接收连接的线程的数量,默认值是1。如果是多核 CPU 一般配置为 2.
connectionTimeout="20000"
redirectPort="8443" />
关于上面的compressionMinSize=“2048” 的解释
四、JVM优化参数
4.1 java启动参数 (catalina.sh)
/application/tomcat/bin/catalina.sh , 大概在112行插入
JAVA_OPTS='-Xms1024m -Xmx1024m -Xloggc:/var/log/tomcat_gc.log'
优化的: 还有注释AJP端口 8009
4.2 对于jar包启动的优化
对于jar包的:
java -jar xxx.jar -Xms1024m -Xmx1024, -Xloggc:/var/log/tomcat_gc.log
5 、安全优化(略写)
分割线
END