前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【基础篇】Tomcat基础

【基础篇】Tomcat基础

作者头像
用户1456517
发布2019-03-05 16:10:46
4490
发布2019-03-05 16:10:46
举报

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,其是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,是开发和调试JSP程序的首选。 --百度百科

好的,让我们开始Tomcat之旅~

Tomcat的获取和安装

  • 安装Tomcat的基础环境
[root@server ~]# yum -y install java-1.8.0-openjdk-devel #Tomcat的安装和运行依赖于JDK, 因此必须先安装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)
  • 安装Tomcat
[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     :::*
alt
alt

部署第一个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
  • 部署第一个Tomcat实例
[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 &quot;%r&quot; %s %b"/>
    </Host>
[root@server tomcat]# systemctl restart tomcat

如下图,日志文件已生效

alt
alt
  • 配置访问控制
[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主机被阻止访问

alt
alt

配置前端Nginx反代

  • 一般来说,在生产环境下,不建议让Tomcat直接响应来自互联网的用户请求(要知道,Tomcat默认的并行响应值仅仅是150个~),而是在前面置一个Nginx或Httpd反代。此处以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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017/11/05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档