Tomcat搭建和配置Tomcat介绍环境准备JDK安装安装Tomcat配置Tomcat虚拟主机appBase部署Java应用ocBase部署Java应用Tomcat日志Tomcat介绍Tomcat是Apache软件基金会( Apache Software Foundation )的Jakarta项目中的一个核心项目由Apache、Sun和其他一些公司及个人共同开发而成。受Java爱好者的喜爱并得到了部分软件开发商的认可成为目前比较流行的Web应用服务器。Tomcat服务器是一个免费的开放源代码的Web 应用服务器属于轻量级应用服务器在中小型系统和并发访问用户不是很多的场合下被普遍使用是开发和调试JSP程序的首选。目前有很多网站是用Java编写的所以解析Java程序就必须有相关的软件来完成Tomcat就是其中之一。Java程序写的网站用TomcatJDK来运行。Tomcat是一个中间件真正起作用的解析Java脚本的是JDK。JDKJava Development Kit是整个Java的核心它包含了Java运行环境和一堆Java相关的工具以及Java基础库。最主流的JDK为Sun公司发布的JDK除此之外其实IBM公司也有发布JDKCentOS上也可以用yum安装OpenJDK。环境准备IP192.168.200.222使用VMWare Workstation软件安装CentOS 7.2操作系统镜像使用提供的CentOS-7-x86_64-DVD-1511.iso。关闭防火墙并设置开机不自启配置SElinux规则。systemctl stop firewalld.service systemctl disable firewalld.service setenforce0暂时关闭重启后要再敲一次JDK安装使用jdk-linux-x64.tar.gz安装包1.8官网下载地址http://www.oracle. com/echnetwork/java/javase/downloads/jdk8-downloads-2133151.html这个下载地址不能在Linux虚拟机里使用wget命令下载只能先通过浏览器下载到本机上然后再上传到Linux。本次下载的版本为jdk1.8将虚拟机连接CRT通过CRT上传JDK到/usr/local/src/目录下。进到src目录下解压JDK文件cd/usr/local/srctarzxf jdk-linux-x64.tar.gzmvjdk1.8.0_131 /usr/local/jdk1.8ls/usr/local/修改环境变量vim/etc/profileJAVA_HOME/usr/local/jdk1.8/JAVA_BIN/usr/local/jdk1.8/binJRE_HOME/usr/local/jdk1.8/jrePATH$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/binCLASSPATH/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jarsource/etc/profilejava-versionjavaversion1.8.0_131Java(TM)SE Runtime Environment(build1.8.0_131-b11)Java HotSpot(TM)64-Bit Server VM(build25.131-b11, mixed mode)whichjava/usr/local/jdk1.8/bin/java这里为你安装的jdk路径如果which的结果为/usr/bin/java则说明这是系统自带的OpenJDK。这时我们为了实验的一致性把原来的Java目录重命名为java_bak并使用source命令再次使环境变量生效mv/usr/bin/java /usr/bin/java_bak安装Tomcat官网下载地址http://tomcat.apache.org/使用apache-tomcat-9.0.39.tar.gz软件包上传到/usr/local/src目录下解压和移动文件cd/usr/local/src/tarzxf apache-tomcat-9.0.39.tar.gzmvapache-tomcat-9.0.39 /usr/local/tomcat启动Tomcat本次下载解压的包是二进制包不用我们去编译使用/usr/local/tomcat/bin/startup.sh这个命令启动Tomcat[rootlocalhost src]# cd ../tomcat/[rootlocalhost tomcat]# ./bin/startup.shUsing CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/jdk1.8 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started.安装net-tools工具yum install -y net-tools用netstat命令来监听java相关服务端口查看是否有以下端口存在8009没有有也没问题、8080、8005如果存在则证明Tomcat服务启动成功。[rootlocalhost tomcat]# netstat -ntlp |grep javatcp600127.0.0.1:8005 :::* LISTEN11565/java tcp600:::8080 :::* LISTEN11565/java三个端口8009、8005和8080的意义8080为提供Web服务的端口8005为管理端口8009端口为第三方服务调用的端口比如httpd和Tomcat结合时会用到。打开浏览器在地址栏中输入http://IP:8080/这里的IP为你虚拟机的IP地址此处IP为192.168.200.222可以看到Tomcat的默认页面。配置Tomcat监听80端口Tomcat 监听的是8080端口如果想要直接访问不加8080端口默认输入一个IP或者域名访问80端口时是可以省略IP后端口号的就需要配置Tomcat监听80端口Tomcat是支持端口自定义的。编辑Tomcat配置文件server.xmlvim/usr/local/tomcat/conf/server.xml 搜索8080Connectorport80原为8080protocolHTTP/1.1connectionTimeout20000redirectPort8443/修改完配置文件接下来就是重启Tomcat服务Tomcat服务是不支持restart的方式重启服务的所以要想重启服务必须先关闭服务使用命令/usr/local/tomcat/bin/shutdown.sh然后再启动服务使用命令/usr/local/tomcat/bin/startup.sh。[rootlocalhost tomcat]# ./bin/shutdown.shUsing CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/jdk1.8 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS:[rootlocalhost tomcat]# ./bin/startup.shUsing CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/jdk1.8 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started.重启服务之后我们用netstat命令监听Java相关服务端口来查看是否启动成功[rootlocalhost tomcat]# netstat -ntlp |grep javatcp600127.0.0.1:8005 :::* LISTEN11695/java tcp600:::80 :::* LISTEN11695/java端口变为80成功。8005有时候会没有等待一会就有了如果没有80端口可能和其他服务冲突了关闭其他服务再关闭后启动tomcat浏览器访问配置文件修改完成并Tomcat服务启动成功后打开浏览器在地址栏中输入http://192. 168.200.222/注意你的IP这时又会看见Tomcat默认页面。配置Tomcat虚拟主机Tomcat和Apache、Nginx一样都支持虚拟主机配置。每个虚拟主机配置文件就是一台服务器支持一个IP下可以访问多个域名每个域名代表一个网站。所以一台服务器上可以配置多个网站。编辑Tomcat配置文件直接在配置文件内搜索Host找到如下内容vim/usr/local/tomcat/conf/server.xml …………………………HostnamelocalhostappBasewebappsunpackWARstrueautoDeploytrue!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --/Host!--ValveclassNameorg.apache.catalina.authenticator.SingleSignOn/--!-- Access log processes all example. Documentation at: /docs/config/valve.html/Hostpattern%h %l %u %t quot;%rquot; %s %b/Note: The pattern used is equivalent to usingpatterncommon--ValveclassNameorg.apache.catalina.valves.AccessLogValvedirectorylogsprefixlocalhost_access_logsuffix.txtpattern%h %l %u %t quot;%rquot; %s %b//Host其中Host和/Host之间的配置为虚拟主机配置部分name定义域名appBase定义应用的目录unpackWARs为是否自动解压war包autoDeploy 如果此项设置为true表示Tomcat服务处于运行状态能够检测appbase下的文件如果有新的Web应用加入进来会自动发布这个Web应用。Java的应用通常是一个JAR的压缩包你只需要将JAR的压缩包放到appBase目录下面即可。刚刚我访问的Tomcat默认页其实就是在appBase目录下面,不过是在它子目录ROOT里。新增虚拟主机编辑server.xml在下面增加以下内容Hostnamewww.123.cnappBaseunpackWARstrueautoDeploytruexmlValidationfalsexmlNamespaceAwarefalseContextpathdocBase/data/wwwroot/123.cn/debug0reloadabletruecrossContexttrue//HostdocBase这个参数用来定义网站的文件存放路径。如果不定义默认是在appBase/ROOT下面。定义了docBase就以该目录为主了其中appBase和docBase可以一样。在这一步操作过程中很多人会遇到过访问404的问题其实就是docBase没有定义对。appBase为应用存放目录实际上是一个相对路径相对于 /usr/local/tomcat/ 路径通常是需要把war包直接放到该目录下面它会自动解压成一个程序目录。搭建了一个Tomcat想要使用Tomcat去跑一个网站。首先应用不能是一个传统所谓的目录Apache、Nginx访问网站需要指定一个目录目录里存放着PHP文件或者是Html的文件然后去访问Tomcat需要提供一个war的包就是一个压缩包这个压缩包里面包含着运行这个网站的一些文件包括配置js代码数据库相关的等等都需要打包成war这种文件而这个文件需要放置到 webapps 里面。修改window宿主机的hosts文件C:\Windows\System32\drivers\etc下的hosts文件添加192.168.200.222 www.123.cn保存即可。浏览器测试appBase部署Java应用下面我们通过部署个Java的应用来体会appBase和docBase目录的区别。为了方便测试下载一个zrlogJava写的blog站点应用轻量zrlog实际就是一个war包。下载地址http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war先暂时将zrlog的war包下载到/usr/local/src目录下cd/usr/local/src/wgethttp://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war[rootlocalhost src]# ls |grep zrlogzrlog-1.7.1-baaecb9-release.warappBase支持自动解压所以直接将war包拷贝到/usr/local/tomcat/webapps/目录下[rootlocalhost src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/[rootlocalhost src]# ls /usr/local/tomcat/webapps/docs manager zrlog-1.7.1-baaecb9-release.war examples ROOT host-manager zrlog-1.7.1-baaecb9-release将war包拷贝到/usr/local/tomcat/webapps/目录下之后包会自动解压。前提是tomcat正常启动。[rootlocalhost src]# cd /usr/local/tomcat/webapps/[rootlocalhost webapps]# lsdocs manager zrlog-1.7.1-baaecb9-release.war examples ROOT host-manager zrlog-1.7.1-baaecb9-release[rootlocalhost webapps]# mv zrlog-1.7.1-baaecb9-release zrlog[rootlocalhost webapps]# lsdocs host-manager ROOT zrlog-1.7.1-baaecb9-release.war examples manager zrlog一但重命名或删除war包解压后的包的文件时war包就会再解压出一个文件夹。浏览器访问测试出现安装向导这是一个配置数据库的过程。数据库安装为LAMP的myql安装https://blog.csdn.net/weixin_45642360/article/details/109080075这里不演示。登入数据库在数据库中创建一个zrlog数据库和zrlog用户。[rootlocalhost webapps]# /usr/local/mysql/bin/mysqlWelcome to the MySQL monitor. Commands end with;or\g. Your MySQL connectionidis1Server version:5.6.43 MySQL Community Server(GPL)Copyright(c)2000,2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Typehelp;or\hforhelp. Type\ctoclearthe current input statement. mysqlcreate database zrlog;//创建数据库 Query OK,1row affected(0.04sec)mysqlgrant all on zrlog.* tozrlog127.0.0.1 identified by000000;//创建用户 Query OK,0rows affected(0.04sec)mysqlexitBye检查创建用户是否可以登陆数据库使用zrlog用户登录[rootlocalhost webapps]# /usr/local/mysql/bin/mysql -u zrlog -h 127.0.0.1 -p000000Warning: Using a password on thecommandline interface can be insecure. Welcome to the MySQL monitor. Commands end with;or\g. Your MySQL connectionidis2Server version:5.6.43 MySQL Community Server(GPL)Copyright(c)2000,2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Typehelp;or\hforhelp. Type\ctoclearthe current input statement. mysqlshow databases;--------------------|Database|--------------------|information_schema||test||zrlog|--------------------3rowsinset(0.04sec)mysqlexitBye检查完成,zrlog用户登录成功。使用 zrlog用户信息填写刚才在浏览器中打开的网页Email填写自己的邮箱本次是实验填写内容为自定义邮箱tomcat163.com单击“下一步”按钮设置管理员账号admin和管理员密码123456网站标题和子标题按需填写本次自定义内容网站标题“测试”网站子标题“linux”单击“点击查看”按钮我们就可以进入搭建好的zrlog页面了。我们也可以进入管理页面写一些文章单击上图主菜单栏中的“管理”按钮,输入安装向导里已经设置好的账户名和密码admin123456单击“登录”按钮登录成功页面。单击“文章撰写”栏目写上自己想写的内容然后保存然后回到主页面你就可以看到刚才你写的内容。ocBase部署Java应用我们在浏览器访问zrlog需要指定IP地址加目录那么如何才能输入IP直接访问该目录呢查看虚拟主机docBase的路径vim/usr/local/tomcat/conf/server.xmlContextpathdocBase/data/wwwroot/123.cn/debug0reloadabletruecrossContexttrue/创建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/接下来就用域名去访问zrlog页面由于之前配置完虚拟主机后并没有重启服务这里要重启一下服务。[rootlocalhost webapps]# /usr/local/tomcat/bin/shutdown.shUsing CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/jdk1.8 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS:[rootlocalhost webapps]# /usr/local/tomcat/bin/startup.shUsing CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/jdk1.8 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started.重启Tomcat服务完成后打开浏览器在地址栏输入www.123.cn就可以看到zrlog的首页。这个页面跟之前用指定IP加目录访问的页面是一模一样的。Tomcat日志Tomcat在应用过程中难免会出现错误如何去查看这些错误这就需要查看Tomcat的日志。Tomcat日志存放在/usr/local/tomcat/logs/目录下[rootlocalhost tomcat]# ls logs/catalina.2020-10-20.log localhost.2020-10-20.log zrlog catalina.out localhost_access_log.2020-10-20.txt host-manager.2020-10-20.log manager.2020-10-20.logcatalina开头的日志为Tomcat的综合日志它记录Tomcat服务相关信息也会记录错误日志。catalina.2020-xx-xx.log和catalina.out内容相同前者会每天生成一个新的日志。host-manager和manager为管理相关的日志其中host-manager为虚拟主机的管理日志。localhost和localhost-access为虚拟主机相关日志其中带access字样的日志为访问日志不带access字样的为默认虚拟主机的错误日志。配置生成日志由于日志默认不会生成需要在server.xml中配置一下。所以接下来配置新增虚拟主机的访问日志具体方法是在对应虚拟主机的里面加入下面的配置我们用www.123.cn来进行配置编辑以下配置文件server.xmlHostnamewww.123.cnappBaseunpackWARstrueautoDeploytruexmlValidationfalsexmlNamespaceAwarefalseContextpathdocBase/data/wwwroot/123.cn/debug0reloadabletruecrossContexttrue/ValveclassNameorg.apache.catalina.valves.AccessLogValve.directorylogsprefix123.cn_accesssuffix.logpattern%h %l %u %t quot;%rquot;%s %b//Hostvalve为日志文件配置prefix定义访问日志的前缀suffix定义日志的后缀pattern定义日志格式。注意新增加的虚拟主机默认并不会生成类似默认虚拟主机的那个localhost.日期.log日志错误日志会统一记录到catalina.out中。关于Tomcat日志你最需要关注catalina.out当出现问题时我们应该第一想到去查看它。配置完成后重启Tomcat服务[rootlocalhost logs]# /usr/local/tomcat/bin/shutdown.shUsing CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/jdk1.8 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS:[rootlocalhost logs]# /usr/local/tomcat/bin/startup.shUsing CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/jdk1.8 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started.重启Tomcat服务完成后访问网站查看/usr/local/tomcat/logs目录下是否有日志生成并且查看生成的日志信息[rootlocalhost logs]# pwd/usr/local/tomcat/logs[rootlocalhost logs]# ls123.cn_access.2020-10-20.log log catalina.2020-10-20.log logs catalina.out manager.2020-10-20.log host-manager.2020-10-20.log temp localhost.2020-10-20.log zrlog localhost_access_log.2020-10-20.txt[rootlocalhost logs]# cat 123.cn_access.2020-10-20.log192.168.200.1 - -[20/Oct/2020:11:38:43 0800]GET / HTTP/1.12008626192.168.200.1 - -[20/Oct/2020:11:38:43 0800]GET /include/templates/default/js/lib/modernizr.custom.16617.js HTTP/1.120013745……………………至此Tomcat搭建配置完成。
Tomcat的搭建和使用
Tomcat搭建和配置Tomcat介绍环境准备JDK安装安装Tomcat配置Tomcat虚拟主机appBase部署Java应用ocBase部署Java应用Tomcat日志Tomcat介绍Tomcat是Apache软件基金会( Apache Software Foundation )的Jakarta项目中的一个核心项目由Apache、Sun和其他一些公司及个人共同开发而成。受Java爱好者的喜爱并得到了部分软件开发商的认可成为目前比较流行的Web应用服务器。Tomcat服务器是一个免费的开放源代码的Web 应用服务器属于轻量级应用服务器在中小型系统和并发访问用户不是很多的场合下被普遍使用是开发和调试JSP程序的首选。目前有很多网站是用Java编写的所以解析Java程序就必须有相关的软件来完成Tomcat就是其中之一。Java程序写的网站用TomcatJDK来运行。Tomcat是一个中间件真正起作用的解析Java脚本的是JDK。JDKJava Development Kit是整个Java的核心它包含了Java运行环境和一堆Java相关的工具以及Java基础库。最主流的JDK为Sun公司发布的JDK除此之外其实IBM公司也有发布JDKCentOS上也可以用yum安装OpenJDK。环境准备IP192.168.200.222使用VMWare Workstation软件安装CentOS 7.2操作系统镜像使用提供的CentOS-7-x86_64-DVD-1511.iso。关闭防火墙并设置开机不自启配置SElinux规则。systemctl stop firewalld.service systemctl disable firewalld.service setenforce0暂时关闭重启后要再敲一次JDK安装使用jdk-linux-x64.tar.gz安装包1.8官网下载地址http://www.oracle. com/echnetwork/java/javase/downloads/jdk8-downloads-2133151.html这个下载地址不能在Linux虚拟机里使用wget命令下载只能先通过浏览器下载到本机上然后再上传到Linux。本次下载的版本为jdk1.8将虚拟机连接CRT通过CRT上传JDK到/usr/local/src/目录下。进到src目录下解压JDK文件cd/usr/local/srctarzxf jdk-linux-x64.tar.gzmvjdk1.8.0_131 /usr/local/jdk1.8ls/usr/local/修改环境变量vim/etc/profileJAVA_HOME/usr/local/jdk1.8/JAVA_BIN/usr/local/jdk1.8/binJRE_HOME/usr/local/jdk1.8/jrePATH$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/binCLASSPATH/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jarsource/etc/profilejava-versionjavaversion1.8.0_131Java(TM)SE Runtime Environment(build1.8.0_131-b11)Java HotSpot(TM)64-Bit Server VM(build25.131-b11, mixed mode)whichjava/usr/local/jdk1.8/bin/java这里为你安装的jdk路径如果which的结果为/usr/bin/java则说明这是系统自带的OpenJDK。这时我们为了实验的一致性把原来的Java目录重命名为java_bak并使用source命令再次使环境变量生效mv/usr/bin/java /usr/bin/java_bak安装Tomcat官网下载地址http://tomcat.apache.org/使用apache-tomcat-9.0.39.tar.gz软件包上传到/usr/local/src目录下解压和移动文件cd/usr/local/src/tarzxf apache-tomcat-9.0.39.tar.gzmvapache-tomcat-9.0.39 /usr/local/tomcat启动Tomcat本次下载解压的包是二进制包不用我们去编译使用/usr/local/tomcat/bin/startup.sh这个命令启动Tomcat[rootlocalhost src]# cd ../tomcat/[rootlocalhost tomcat]# ./bin/startup.shUsing CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/jdk1.8 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started.安装net-tools工具yum install -y net-tools用netstat命令来监听java相关服务端口查看是否有以下端口存在8009没有有也没问题、8080、8005如果存在则证明Tomcat服务启动成功。[rootlocalhost tomcat]# netstat -ntlp |grep javatcp600127.0.0.1:8005 :::* LISTEN11565/java tcp600:::8080 :::* LISTEN11565/java三个端口8009、8005和8080的意义8080为提供Web服务的端口8005为管理端口8009端口为第三方服务调用的端口比如httpd和Tomcat结合时会用到。打开浏览器在地址栏中输入http://IP:8080/这里的IP为你虚拟机的IP地址此处IP为192.168.200.222可以看到Tomcat的默认页面。配置Tomcat监听80端口Tomcat 监听的是8080端口如果想要直接访问不加8080端口默认输入一个IP或者域名访问80端口时是可以省略IP后端口号的就需要配置Tomcat监听80端口Tomcat是支持端口自定义的。编辑Tomcat配置文件server.xmlvim/usr/local/tomcat/conf/server.xml 搜索8080Connectorport80原为8080protocolHTTP/1.1connectionTimeout20000redirectPort8443/修改完配置文件接下来就是重启Tomcat服务Tomcat服务是不支持restart的方式重启服务的所以要想重启服务必须先关闭服务使用命令/usr/local/tomcat/bin/shutdown.sh然后再启动服务使用命令/usr/local/tomcat/bin/startup.sh。[rootlocalhost tomcat]# ./bin/shutdown.shUsing CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/jdk1.8 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS:[rootlocalhost tomcat]# ./bin/startup.shUsing CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/jdk1.8 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started.重启服务之后我们用netstat命令监听Java相关服务端口来查看是否启动成功[rootlocalhost tomcat]# netstat -ntlp |grep javatcp600127.0.0.1:8005 :::* LISTEN11695/java tcp600:::80 :::* LISTEN11695/java端口变为80成功。8005有时候会没有等待一会就有了如果没有80端口可能和其他服务冲突了关闭其他服务再关闭后启动tomcat浏览器访问配置文件修改完成并Tomcat服务启动成功后打开浏览器在地址栏中输入http://192. 168.200.222/注意你的IP这时又会看见Tomcat默认页面。配置Tomcat虚拟主机Tomcat和Apache、Nginx一样都支持虚拟主机配置。每个虚拟主机配置文件就是一台服务器支持一个IP下可以访问多个域名每个域名代表一个网站。所以一台服务器上可以配置多个网站。编辑Tomcat配置文件直接在配置文件内搜索Host找到如下内容vim/usr/local/tomcat/conf/server.xml …………………………HostnamelocalhostappBasewebappsunpackWARstrueautoDeploytrue!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --/Host!--ValveclassNameorg.apache.catalina.authenticator.SingleSignOn/--!-- Access log processes all example. Documentation at: /docs/config/valve.html/Hostpattern%h %l %u %t quot;%rquot; %s %b/Note: The pattern used is equivalent to usingpatterncommon--ValveclassNameorg.apache.catalina.valves.AccessLogValvedirectorylogsprefixlocalhost_access_logsuffix.txtpattern%h %l %u %t quot;%rquot; %s %b//Host其中Host和/Host之间的配置为虚拟主机配置部分name定义域名appBase定义应用的目录unpackWARs为是否自动解压war包autoDeploy 如果此项设置为true表示Tomcat服务处于运行状态能够检测appbase下的文件如果有新的Web应用加入进来会自动发布这个Web应用。Java的应用通常是一个JAR的压缩包你只需要将JAR的压缩包放到appBase目录下面即可。刚刚我访问的Tomcat默认页其实就是在appBase目录下面,不过是在它子目录ROOT里。新增虚拟主机编辑server.xml在下面增加以下内容Hostnamewww.123.cnappBaseunpackWARstrueautoDeploytruexmlValidationfalsexmlNamespaceAwarefalseContextpathdocBase/data/wwwroot/123.cn/debug0reloadabletruecrossContexttrue//HostdocBase这个参数用来定义网站的文件存放路径。如果不定义默认是在appBase/ROOT下面。定义了docBase就以该目录为主了其中appBase和docBase可以一样。在这一步操作过程中很多人会遇到过访问404的问题其实就是docBase没有定义对。appBase为应用存放目录实际上是一个相对路径相对于 /usr/local/tomcat/ 路径通常是需要把war包直接放到该目录下面它会自动解压成一个程序目录。搭建了一个Tomcat想要使用Tomcat去跑一个网站。首先应用不能是一个传统所谓的目录Apache、Nginx访问网站需要指定一个目录目录里存放着PHP文件或者是Html的文件然后去访问Tomcat需要提供一个war的包就是一个压缩包这个压缩包里面包含着运行这个网站的一些文件包括配置js代码数据库相关的等等都需要打包成war这种文件而这个文件需要放置到 webapps 里面。修改window宿主机的hosts文件C:\Windows\System32\drivers\etc下的hosts文件添加192.168.200.222 www.123.cn保存即可。浏览器测试appBase部署Java应用下面我们通过部署个Java的应用来体会appBase和docBase目录的区别。为了方便测试下载一个zrlogJava写的blog站点应用轻量zrlog实际就是一个war包。下载地址http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war先暂时将zrlog的war包下载到/usr/local/src目录下cd/usr/local/src/wgethttp://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war[rootlocalhost src]# ls |grep zrlogzrlog-1.7.1-baaecb9-release.warappBase支持自动解压所以直接将war包拷贝到/usr/local/tomcat/webapps/目录下[rootlocalhost src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/[rootlocalhost src]# ls /usr/local/tomcat/webapps/docs manager zrlog-1.7.1-baaecb9-release.war examples ROOT host-manager zrlog-1.7.1-baaecb9-release将war包拷贝到/usr/local/tomcat/webapps/目录下之后包会自动解压。前提是tomcat正常启动。[rootlocalhost src]# cd /usr/local/tomcat/webapps/[rootlocalhost webapps]# lsdocs manager zrlog-1.7.1-baaecb9-release.war examples ROOT host-manager zrlog-1.7.1-baaecb9-release[rootlocalhost webapps]# mv zrlog-1.7.1-baaecb9-release zrlog[rootlocalhost webapps]# lsdocs host-manager ROOT zrlog-1.7.1-baaecb9-release.war examples manager zrlog一但重命名或删除war包解压后的包的文件时war包就会再解压出一个文件夹。浏览器访问测试出现安装向导这是一个配置数据库的过程。数据库安装为LAMP的myql安装https://blog.csdn.net/weixin_45642360/article/details/109080075这里不演示。登入数据库在数据库中创建一个zrlog数据库和zrlog用户。[rootlocalhost webapps]# /usr/local/mysql/bin/mysqlWelcome to the MySQL monitor. Commands end with;or\g. Your MySQL connectionidis1Server version:5.6.43 MySQL Community Server(GPL)Copyright(c)2000,2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Typehelp;or\hforhelp. Type\ctoclearthe current input statement. mysqlcreate database zrlog;//创建数据库 Query OK,1row affected(0.04sec)mysqlgrant all on zrlog.* tozrlog127.0.0.1 identified by000000;//创建用户 Query OK,0rows affected(0.04sec)mysqlexitBye检查创建用户是否可以登陆数据库使用zrlog用户登录[rootlocalhost webapps]# /usr/local/mysql/bin/mysql -u zrlog -h 127.0.0.1 -p000000Warning: Using a password on thecommandline interface can be insecure. Welcome to the MySQL monitor. Commands end with;or\g. Your MySQL connectionidis2Server version:5.6.43 MySQL Community Server(GPL)Copyright(c)2000,2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Typehelp;or\hforhelp. Type\ctoclearthe current input statement. mysqlshow databases;--------------------|Database|--------------------|information_schema||test||zrlog|--------------------3rowsinset(0.04sec)mysqlexitBye检查完成,zrlog用户登录成功。使用 zrlog用户信息填写刚才在浏览器中打开的网页Email填写自己的邮箱本次是实验填写内容为自定义邮箱tomcat163.com单击“下一步”按钮设置管理员账号admin和管理员密码123456网站标题和子标题按需填写本次自定义内容网站标题“测试”网站子标题“linux”单击“点击查看”按钮我们就可以进入搭建好的zrlog页面了。我们也可以进入管理页面写一些文章单击上图主菜单栏中的“管理”按钮,输入安装向导里已经设置好的账户名和密码admin123456单击“登录”按钮登录成功页面。单击“文章撰写”栏目写上自己想写的内容然后保存然后回到主页面你就可以看到刚才你写的内容。ocBase部署Java应用我们在浏览器访问zrlog需要指定IP地址加目录那么如何才能输入IP直接访问该目录呢查看虚拟主机docBase的路径vim/usr/local/tomcat/conf/server.xmlContextpathdocBase/data/wwwroot/123.cn/debug0reloadabletruecrossContexttrue/创建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/接下来就用域名去访问zrlog页面由于之前配置完虚拟主机后并没有重启服务这里要重启一下服务。[rootlocalhost webapps]# /usr/local/tomcat/bin/shutdown.shUsing CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/jdk1.8 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS:[rootlocalhost webapps]# /usr/local/tomcat/bin/startup.shUsing CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/jdk1.8 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started.重启Tomcat服务完成后打开浏览器在地址栏输入www.123.cn就可以看到zrlog的首页。这个页面跟之前用指定IP加目录访问的页面是一模一样的。Tomcat日志Tomcat在应用过程中难免会出现错误如何去查看这些错误这就需要查看Tomcat的日志。Tomcat日志存放在/usr/local/tomcat/logs/目录下[rootlocalhost tomcat]# ls logs/catalina.2020-10-20.log localhost.2020-10-20.log zrlog catalina.out localhost_access_log.2020-10-20.txt host-manager.2020-10-20.log manager.2020-10-20.logcatalina开头的日志为Tomcat的综合日志它记录Tomcat服务相关信息也会记录错误日志。catalina.2020-xx-xx.log和catalina.out内容相同前者会每天生成一个新的日志。host-manager和manager为管理相关的日志其中host-manager为虚拟主机的管理日志。localhost和localhost-access为虚拟主机相关日志其中带access字样的日志为访问日志不带access字样的为默认虚拟主机的错误日志。配置生成日志由于日志默认不会生成需要在server.xml中配置一下。所以接下来配置新增虚拟主机的访问日志具体方法是在对应虚拟主机的里面加入下面的配置我们用www.123.cn来进行配置编辑以下配置文件server.xmlHostnamewww.123.cnappBaseunpackWARstrueautoDeploytruexmlValidationfalsexmlNamespaceAwarefalseContextpathdocBase/data/wwwroot/123.cn/debug0reloadabletruecrossContexttrue/ValveclassNameorg.apache.catalina.valves.AccessLogValve.directorylogsprefix123.cn_accesssuffix.logpattern%h %l %u %t quot;%rquot;%s %b//Hostvalve为日志文件配置prefix定义访问日志的前缀suffix定义日志的后缀pattern定义日志格式。注意新增加的虚拟主机默认并不会生成类似默认虚拟主机的那个localhost.日期.log日志错误日志会统一记录到catalina.out中。关于Tomcat日志你最需要关注catalina.out当出现问题时我们应该第一想到去查看它。配置完成后重启Tomcat服务[rootlocalhost logs]# /usr/local/tomcat/bin/shutdown.shUsing CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/jdk1.8 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS:[rootlocalhost logs]# /usr/local/tomcat/bin/startup.shUsing CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/jdk1.8 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started.重启Tomcat服务完成后访问网站查看/usr/local/tomcat/logs目录下是否有日志生成并且查看生成的日志信息[rootlocalhost logs]# pwd/usr/local/tomcat/logs[rootlocalhost logs]# ls123.cn_access.2020-10-20.log log catalina.2020-10-20.log logs catalina.out manager.2020-10-20.log host-manager.2020-10-20.log temp localhost.2020-10-20.log zrlog localhost_access_log.2020-10-20.txt[rootlocalhost logs]# cat 123.cn_access.2020-10-20.log192.168.200.1 - -[20/Oct/2020:11:38:43 0800]GET / HTTP/1.12008626192.168.200.1 - -[20/Oct/2020:11:38:43 0800]GET /include/templates/default/js/lib/modernizr.custom.16617.js HTTP/1.120013745……………………至此Tomcat搭建配置完成。