Tomcat搭建配置
环境准备
关闭防火墙并设置开机不自启,
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
修改主机名
Ctrl+D 退出后重新连接
hostnamectl set-hostname tomcat
JDK下载与安装
使用CRT将JDK上传到/usr/local/src目录下并解压
tar -zxvf jdk-8u211-linux-x64.tar.gz
移动到/usr/local/目录下改名为jdk1.8
mv jdk1.8.0_211/ /usr/local/jdk1.8
查看下/usr/local/目录下是否有jdk1.8目录
ls /usr/local/
修改环境变量
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
source /etc/profile //启动生效
检查JDK安装情况
java -version
显示下方内容则编译成功
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
或者
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
查看所在目录//which java
安装Tomcat
官网下载地址:http://tomcat.apache.org/
在cd /usr/local/src/目录下解压
将解压后的文件移动到/usr/local目录下,并命名为tomcat
启动Tomcat
/usr/local/tomcat/bin/startup.sh
测试
grep java
在浏览器地址栏中输入http://IP:8080/(这里的IP为你虚拟机的IP地址,此处IP为192.168.174.155),此时可以看到tomcat界面
修改配置文件
vim /usr/local/tomcat/conf/server.xml
//
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
//将这里的8080直接改成80
重启Tomcat服务,Tomcat服务是不支持restart的方式重启服务的,所以要想重启服务必须先关闭服务,使用命令/usr/local/tomcat/bin/shutdown.sh,然后再启动服务,使用命令
/usr/local/tomcat/bin/shutdown.sh
测试
netstat命令监听Java相关服务端口来查看是否启动成功
netstat -plnt | grep java
Nginx的默认端口也是80,这就和我刚刚设置的Tomcat端口发生冲突。这时,我们需要关闭Nginx服务,重新启动Tomcat服务
service nginx stop
/usr/local/tomcat/bin/shutdown.sh
再次使用netstat命令监听Java相关服务端口,看这次三个端口是否存在
netstat -plnt | grep java
配置tomcat虚拟主机
查看默认虚拟主机
编辑Tomcat配置文件,直接在配置文件内搜索Host
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> ......
- name定义域名;
- appBase定义应用的目录;
- unpackWARs为是否自动解压war包;
- autoDeploy 如果此项设置为true,表示Tomcat服务处于运行状态,能够检appbase下的文件,如果有新的Web应用加入进来,会自动发布这个Web应用。
新增虚拟主机
编辑server.xml在下面增加以下内容
......
<Host name="www.123.cn" appBase=""
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/data/wwwroot/123.cn/" debug="0" reloadable="true" crossContext="true"/>
</Host>
appBase部署Java应用
下载一个zrlog(Java写的blog站点应用,轻量),zrlog实际就是一个war包。
cd /usr/local/src/
wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
ls |grep zrlog
将war包拷贝到/usr/local/tomcat/webapps/目录下
cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/
重命名war包的文件名
cd /usr/local/tomcat/webapps/
mv zrlog-1.7.1-baaecb9-release zrlog
用浏览器访问http://192. 168.174.155/zrlog(注意你的IP)
登入数据库,在数据库中创建一个zrlog数据库和zrlog用户
/usr/local/mysql/bin/mysql
mysql> create database zrlog;
//创建zrlog数据库
Query OK, 1 row affected (0.00 sec)
mysql> grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by '000000';
Query OK, 0 rows affected (0.05 sec)
//创建zrlog用户
mysql>exit
Byebye
//退出数据库
使用zrlog查看用户是否可以登录
/usr/local/mysql/bin/mysql -u zrlog -h 127.0.0.1 -p000000
ocBase部署Java应用
我们在浏览器访问zrlog需要指定IP地址加目录,那么如何才能输入IP直接访问该目录呢? 查看虚拟主机docBase的路径
vim /usr/local/tomcat/conf/server.xml
编译内容//
<Host name="www.123.cn" appBase=""
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/data/wwwroot/123.cn/" debug="0" reloadable="true" crossContext="true"/>
</Host>
//docBase 定义的目录为:/data/wwwroot/123.cn
创建docBase目录
mkdir -p /data/wwwroot/123.cn/
将/usr/local/tomcat/webapps/zrlog 中的所有文件移动到/data/wwwroot/123.cn/目录下
mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/
测试
打开命令提示符(CMD),用ping命令ping www.123.cn 看IP是否为虚拟机IP,如果是的话,现在就可以访问了
接下来就用域名去访问zrlog页面,由于之前配置完虚拟主机后,并没有重启服务,这里要重启一下服务
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
Tomcat日志
查看Tomcat的日志//ls /usr/local/tomcat/logs/
-
catalina开头的日志为Tomcat的综合日志,它记录Tomcat服务相关信息,也会记录错误日志。
-
catalina.2020-xx-xx.log和catalina.out内容相同,前者会每天生成一个新的日志。
-
host-manager和manager为管理相关的日志,其中host-manager为虚拟主机的管理日志。
-
localhost和localhost-access为虚拟主机相关日志,其中带access字样的日志为访问日志,不带access字样的为默认虚拟主机的错误日志。
配置生成日志
vim /usr/local/tomcat/conf/server.xml
//编辑以下配置文件server.xml
编译内容如下//
<Host name="www.123.cn" appBase=""
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/data/wwwroot/123.cn/" debug="0" reloadable="true" crossContext="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory=
"logs"
prefix="123.cn_access_log" suffix=".log"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
- valve为日志文件配置;
- prefix定义访问日志的前缀;
- suffix定义日志的后缀;
- pattern定义日志格式。
重启Tomcat服务
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
查看/usr/local/tomcat/logs目录下是否有日志生成
ls /usr/local/tomcat/logs/