tomcat安装与配置
准备环境
- centos7.2
- 已安装mysql
- 关闭seliunx与firewalld
- 配置好网络
- 下载好jdk
安装
安装jdk
[root@tomcat src]# tar -xzf jdk-8u281-linux-x64.tar.gz
[root@tomcat src]# mv jdk1.8.0_281 /usr/local/jdk1.8
-
添加环境变量
[root@tomcat src]# vim /etc/profile ...... JAVA_HOME=/usr/local/jdk1.8/ JAVA_BIN=/usr/local/jdk1.8/bin JRE_HOME=/usr/local/jdk1.8/jre PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar [root@tomcat src]# source /etc/profile
-
检查
[root@tomcat src]# java -version java version "1.8.0_281" Java(TM) SE Runtime Environment (build 1.8.0_281-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)
安装Tomcat
[root@tomcat src]# wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.41/bin/apache-tomcat-9.0.41.tar.gz
[root@tomcat src]# tar -zxf apache-tomcat-9.0.41.tar.gz
[root@tomcat src]# mv apache-tomcat-9.0.41/ /usr/local/tomcat
-
启动与关闭
[root@tomcat src]# /usr/local/tomcat/bin/startup.sh [root@tomcat src]# /usr/local/tomcat/bin/shutdown.sh
-
检查
[root@tomcat src]# netstat -lnpt | grep java 等待8080和8009端口处于监听状态,如果没有,检查下端口是否被占用
配置
配置80端口
- 配置
[root@tomcat ~]# vim /usr/local/tomcat/conf/server.xml
/直接搜索8080找到如下内容
......
<Connector port="8080" protocol="HTTP/1.1" #把这一行8080改成80
connectionTimeout="20000"
redirectPort="8443" />
//将这里的8080直接改成80
......
-
重启
[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh [root@tomcat ~]# /usr/local/tomcat/bin/startup.sh
-
检验
[root@tomcat ~]# netstat -plnt | grep java
配置虚拟主机
-
查看默认配置文件
[root@tomcat ~]# vim /usr/local/tomcat/conf/server.xml ...... <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> ......
-
添加虚拟主机
[root@tomcat ~]# vim /usr/local/tomcat/conf/server.xml ...... <Host name="www.lyz.xyz" appBase="" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="/data/wwwroot/lyz.xyz/" debug="0" reloadable="true" crossContext="true"/> </Host>
其中和之间的配置为虚拟主机配置部分:
name定义域名;
appBase定义应用的目录;
unpackWARs为是否自动解压war包;
autoDeploy 如果此项设置为true,表示Tomcat服务处于运行状态,能够检测appbase下的文件,如果有新的Web应用加入进来,会自动发布这个Web应用。
Java的应用通常是一个JAR的压缩包,你只需要将JAR的压缩包放到appBase目录下面即可。刚刚我访问的Tomcat默认页其实就是在appBase目录下面,不过是在它子目录ROOT里。
部署Java应用
- 安装zrlog
[root@tomcat ~]# cd /usr/local/src/
[root@tomcat src]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
...
[root@tomcat src]# ls |grep zrlog
[root@tomcat src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/
[root@tomcat ~]# ls /usr/local/tomcat/webapps/
docs examples host-manager manager ROOT zrlog-1.7.1-baaecb9-release.war
[root@tomcat src]# ls /usr/local/tomcat/webapps/
docs host-manager ROOT zrlog-1.7.1-baaecb9-release.war
examples manager zrlog-1.7.1-baaecb9-release
// 将war包拷贝到/usr/local/tomcat/webapps/目录下之后,包会自动解压。(前提是tomcat正常启动。
-
配置MySQL
mysql> create database zrlog; Query OK, 1 row affected (0.01 sec) mysql> grant all on zrlog.* to 'zrlog'@172.16.1.124 identified by '000000'; Query OK, 0 rows affected (0.02 sec) //创建zrlog用户
配置window的域名解析
hosts文件路径:C:\Windows\System32\drivers\etc\hosts
根据自己ip追加,遇到没有权限编辑,则点开属性,为当前用户配置修改权限
172.16.1.124 www.lyz.xyz
现在输入你的ip/zrlog.-1.7.1-baaecb9-release就可以进入网站进行配置了
使用docBase参数部署Java应用
前提:之前已经配置好虚拟主机
[root@tomcat ~]# mkdir -p /data/wwwroot/lyz.xyz
[root@tomcat ~]# unzip /usr/local/src/zrlog-1.7.1-baaecb9-release.war -d /data/wwwroot/lyz.xyz
重启tomcat
[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh
等待8005端口处于监听状态
[root@tomcat ~]# netstat -lntp | grep java
现在输入你的ip/zrlog.-1.7.1-baaecb9-release就可以进入网站进行配置了
注:再次使用相同数据库且数据库参数会把之前的内容清空,最好使用其他数据库,或者新建一个不同的数据库名的数据库以达到避免冲突,这里不展开
日志相关
-
查看日志
[root@tomcat ~]# ls /usr/local/tomcat/logs/ catalina.2021-01-20.log localhost.2021-01-20.log catalina.out localhost_access_log.2021-01-20.txt host-manager.2021-01-20.log manager.2021-01-20.log
l catalina开头的日志为Tomcat的综合日志,它记录Tomcat服务相关信息,也会记录错误日志。
l catalina.2020-xx-xx.log和catalina.out内容相同,前者会每天生成一个新的日志。
l host-manager和manager为管理相关的日志,其中host-manager为虚拟主机的管理日志。
l localhost和localhost-access为虚拟主机相关日志,其中带access字样的日志为访问日志,不带access字样的为默认虚拟主机的错误日志。
-
配置生成日志
[root@tomcat ~]# vi /usr/local/tomcat/conf/server.xml 在<Host>内配置 </Host> <Host name="www.lyz.xyz" appBase="/data/wwwroot/test" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="" debug="0" reloadable="true" crossContext="true"/> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="lyz.xyz_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host>
l valve为日志文件配置;
l prefix定义访问日志的前缀;
l suffix定义日志的后缀;
l pattern定义日志格式。
注:新增加的虚拟主机(没有自定义日志)的错误日志会记录到catalina.out上
-
重启
[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh [root@tomcat ~]# /usr/local/tomcat/bin/startup.sh 访问即可 [root@tomcat ~]# ls /usr/local/tomcat/logs/ catalina.2021-01-20.log localhost_access_log.2021-01-20.txt catalina.out lyz.xyz_access_log.2021-01-20.txt host-manager.2021-01-20.log manager.2021-01-20.log localhost.2021-01-20.log