- Tomcat介绍
- Tomcat是Apache软件基金会(Apache Software Foundation)的jiakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
- Java程序写的网站用Tomcat+jdk来运行。
- Tomcat是一个中间件,真正起作用的,解析Java脚本的是jdk。
- Jdk(Java development kit)是整个Java的核心,它包含了java运行环境和一对Java相关的工具以及Java基础库。
- 最流行的jdk为Sun公司发布的jdk,除此之外,其实IBM公司也有发布jdk,centos上也可以用yum安装openjdk。
- 安装jdk
- Jdk版本1.6,1.7,1.8。
- 官网下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
- 下载jdk8,放到/usr/local/src目录下
- tar zxvf jdk-8u144-linux-x64.tar.gz
- mv jdk1.8.0_144 /usr/local/jdk1.8
- vim /etc/profile (最后面增加)
- JAVA_HOME=/usr/local/jdk1.8/
- JAVA_BIN=/usr/local/jdk1.8/bin
- JRE_HOME=/usr/local/jdk1.8/bin
- 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
- java -version (检验以上操作是否成功)
- 安装Tomcat
- cd /usr/local/src
- wget http://apache.fayea.com/tomcat/tomcat-8/v8.5.20/bin/apache-tomcat-8.5.20.tar.gz(如果地址失效可以去r.aming.com下载)
- tar zxvf apache-tomcat-8.5.20.tar.gz
- mv apache-tomcat-8.5.20 /usr/local/tomcat
- /usr/local/tomcat/bin/startup.sh (关闭该进程只能使用/usr/local/tomcat/bin/shutdown.sh)
- ps aux |grep tomcat
- netstat -lntp |grep java
- 三个端口8080为提供web服务端口,8005为管理端口,8009端口为第三方服务调用的端口,比如httpd和Tomcat结合时会用到。
- 配置Tomcat监听80端口
- vim /usr/local/tomcat/conf/server.xml (修改一下)
- Connector port=”8080” protocol=”HTTP/1.1” (修改为Connector)
- Port=”80” protocol=”HTTP/1.1”
- /usr/local/tomcat/bin/shutdown.sh
- /usr/local/tomcat/bin/startup.sh
- 如果你netstat -lntp |grep java不显示80端口那么可能你的80端口已经被占用了。
- 用netstat -lntp |grep 80查看80端口被谁占用,一般来说是nginx。那么停用nginx即可/etc/init.d/nginx stop ,之后再次重启Tomcat即可。
- 配置Tomcat上的虚拟主机
- Vim /usr/local/tomcat/conf/server.xml
- 其中<Host>和</Host>之间的配置为虚拟主机配置部分,name定义域名,appBase定义应用的目录,java的应用通常是一个jar的压缩包,你只需要将jar的压缩包放到appBase目录下面即可。
- 增加虚拟主机,编辑server.xml ,在</Host>(下面增加以下)(该配置文件直接用于创建一个新的虚拟主机配置即可,可以不修改原有Host)
- <Host name=”www.123.cn” appBase=””
-
unpackWARs=”true” autoDeploy=”true”
-
xmlValidation=”false” xmlNamespaceAware=”true”
-
<Context path=”” docBase=”/data/wwwroot/123.cn/” debug=”0”
- Reloadable=”true” crossContext=”true”/>
-
</Host>
- docBase ,这个参数用来定义网站的文件存放路径,如果不定义,默认是在appBase/ROOT下面,定义了docBase就以该目录为主了,其中appBase和docBase可以一样。在这一步挫折过程中很多同学遇到过404的问题,其实就是docBase没有定义对。
- appBase为应用存放目录,通常是需要把war包直接放到该目录下面,它会自动解压成一个程序目录。
- 下面我们通过部署一个java的应用来体会appBase和docBase目录的作用。
- 下载zrlog wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
- mv zrlog-1.1.1-baaecb9-release.war /usr/local/tomcat/webapps
- mv /usr/local/tomcat/webapps/zrlog-1.7.1-baaecb9-release /usr/local/tomcat/webapps/zrlog
- 浏览器访问 ip:8080/zrlog/install/
- mv /usr/local/tomcat/webapps/zrlog/*/data/wwwroot/123.cn/
- 在你的mysql创建数据库与一个用户和密码
- create database zrlog
- grabt all in zrlog.* to ‘zrlog’@127.0.0.1 identified by ‘xxxx(你的密码)’;
- mysql -uzrlog -h127.0.0.1 -pxxx(密码)
- 之后在你的浏览器zrlog完成指引即可。
- 但是访问该应用会显示你的目录,那么想要去掉目录只用IP访问可以进行以下操作。
- cd /usr/local/tomcat/webapps/
- mkdir /data/wwwroot/123.cn
- mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/
- /usr/local/tomcat/bin/shotdown.sh
- /usr/local/tomcat/bin/startup.sh
- 当8005端口开启之后才能访问你的网站。
- 之后用浏览器访问www.123.com即可进入之前的java应用。
- (静态文件都应该放在/usr/local/tomcat/webapps/ROOT目录下)
- Tomcat日志
- ls /usr/local/tomcat/logs
- cd /usr/local/tomcat/webapps/..
- ls (即可看到日志文件)
- 其中catalina开头的日志为Tomcat的综合日志,它记录Tomcat服务相关信息,也会记录错误日志。
- 其中catalina.2019-xx-xx.log和catalina.out内容相同,前者会每天生成一个新的日志。
- host-manager和manager为管理相关的日志,其中host-manager为虚拟主机的管理日志。
- localhost和localhost_access为虚拟主机相关日志,其中带access字样的日志为访问日志,不带access字样的为默认虚拟主机的错误日志。
- 访问日志默认不会生成,需要在.server.xml中配置。
- 具体方法是在对应虚拟主机的<Host></Host>里面加入以下配置。
- <Valva className=”org.apache.catalina.valves.AccessLogValve”
- Directory=”logs”
-
prefix=”123.cn_access” suffix=”.log”
-
pattern=”%h%l%u%t"%r"%s%b”/>
- prefix定义访问日志的前缀,suffix定义日志的后缀,pattern定义日志格式。新增加的虚拟主机默认并不会生成类似默认虚拟主机的那个localhost.日志.log日志,错误日志会统一记录到catalina.log中。关于Tomcat日志,你最需要关注catalina.out,当出现问题时,我们应该第一想到去查看它。
转载于:https://my.oschina.net/u/4095969/blog/3054800