Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,其是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,是开发和调试JSP程序的首选。 --百度百科
好的,让我们开始Tomcat之旅~
Tomcat的获取和安装
[root@server ~]# yum -y install java-1.8.0-openjdk-devel #Tomcat的安装和运行依赖于JDK, 因此必须先安装JDK,获取运行环境
[root@server ~]# java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
[root@server ~]# yum -y install tomcat tomcat-admin-webapps tomcat-webapps tomcat-docs-webapp
[root@server ~]# ss -tnl |grep 8080
[root@server ~]# systemctl start tomcat
[root@server ~]# ss -tnl |grep 8080
LISTEN 0 100 :::8080 :::*
部署第一个Tomcat实例
[root@server ~]# mkdir -p /website/ROOT
[root@server ~]# vim /website/ROOT/index.jsp
<%@ page language="java" %>
<%@ page import="java.util.*" %>
<html>
<head>
<title>Test Page</title>
</head>
<body>
<% out.println("Welcome to zhimajihua.cn");%>
</body>
</html>
[root@server ~]# cd /website/ROOT/
[root@server ROOT]# pwd
/website/ROOT
[root@server ~]# cd /etc/tomcat/
[root@server tomcat]# ls
Catalina conf.d logging.properties tomcat-users.xml
catalina.policy context.xml server.xml web.xml
catalina.properties log4j.properties tomcat.conf
[root@server tomcat]# vim server.xml
<Host name="zhimajihua.cn" appBase="/website" unpackWARs="true" autoDeploy="true" /> #注意,需要卸载引擎内部,即</Engine>...</Engine>
[root@server tomcat]# systemctl restart tomcat
/etc/hosts
。如果是Windows NT
,请修改C:\WINDOWS\System32\drivers\etc\hosts
。[root@client ~]# echo "192.168.1.100 zhimajihua.cn" >> /etc/hosts
[root@client ~]# yum -y install elinks
[root@client ~]# elinks -dump zhimajihua.cn:8080
Welcome to zhimajihua.cn
配置日志文件及访问控制
[root@server tomcat]# vim server.xml #注意,由于我们在虚机配置段`<Host/>`内配置了`Valve`, 因此必须以`</Host>`闭合
<Host name="zhimajihua.cn" appBase="/website" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="/var/log/tomcat" prefix="zhimajihua.cn_access_." suffix=".log" pattern="%h %l %u %t "%r" %s %b"/>
</Host>
[root@server tomcat]# systemctl restart tomcat
如下图,日志文件已生效
[root@server tomcat]# vim server.xml
<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="192\.168\.1\.50"/> #拒绝特定主机的访问, 本例中192.168.1.50即我们的客户端IP
[root@server tomcat]# systemctl restart tomcat
如下图,Client主机被阻止访问
配置前端Nginx反代
Nginx
为例,即NT
。其类比Httpd
只是各自具体实现的指令
和模块
不同而已,此处不赘述。[root@DataCenter ~]# yum -y install nginx #本文将Nginx和Tomcat构建在同一主机上,组成NT即用户请求先到达Nginx
[root@DataCenter ~]# systemctl start nginx
[root@DataCenter ~]# systemctl enable nginx
[root@DataCenter ~]# cd /etc/nginx/conf.d/
[root@DataCenter conf.d]# vim nginx_tomcat.conf
[root@DataCenter conf.d]# cat nginx_tomcat.conf
server {
listen 80 default_server;
server_name zhimajihua.cn;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
[root@DataCenter conf.d]# systemctl restart nginx
[root@localhost ~]# elinks --dump zhimajihua.cn
welcome to zhumajihua.cn