Tomcat公猫

官方站点:http://tomcat.apache.org/

Tomcat是一个能够运行java页面(jsp)的java’web服务器程序;安装使用之前需要先安装jdk包

jdk是JAVA的开发工具包,已随base收录进来,安装jdk1.8版本:yum -y install java-1.8.0-openjdk-devel (其中jvm虚拟机的运行程序就叫java),安装完路径:/usr/bin/java;接下来让系统输出一个java的环境变量,让所有应用程序知道到哪找java:echo “export JAVA_HOME=/usr” > /etc/profile.d/java.sh (保存在文件内永久有效),然后重载生效:source /etc/profile.d/java.sh

 Tomcat也随yum的base仓库收录进来,目前为7版本,安装:yum install tomcat tomcat-webapps tomcat-admin-webapps -y (确保你的jdk包也安装完成了)其中主配置文件:/etc/tomcatserver.xml;默认网页文件程序的存放目录:/var/lib/tomcat/webapps/(建议更改路径),安装完启动服务,访问IP:8080测试即可

还有一种绿色二进制安装方法

将教室环境的ftp://172.18.0.1/pub/Sources/6.x86_64/tomcat中最新包下载,默认路径/usr/local下,

将它解压过去:tar xf apache-tomcat-8.0.23.tar.gz -C /usr/local/,

然后cd /usr/local将tomcat包生成一个链接(将来升级直接修改链接文件路径即可):ln -sv apache-tomcat-8.0.23 tomcat;

注意使用tomcat用户启动程序最好(生产环境),而不是默认root权限,所以进入tomcat目录下:useradd -r tomcat(普通用户也成),

更改属主和群组权限:chown -R tomcat logs/ work/ temp/   和chown -R :tomcat ./*    

 记得也需要添加环境变量,因为这样安装不是标准的安装路径,应用程序都找不到tomcat,所以编辑vim /etc/profile.d/tomcat.sh添加两行内容:export CATALINA_HOME=/usr/local/tomcat       export PATH=$CATALINA_HOME/bin/:$PATH  。

然后加载生效:source /etc/profile.d/tomcat.sh;最后切换成tomcat用户进入/usr/local/tomcat/bin执行脚本:

./catalina.sh start启动tomcat,测试8080端口

进入tomcat的请求可分为两类:

(1) standalone : 请求来自于客户端浏览器;

(2) 由其它的web server反代:来自前端的反代服务器:

nginx –> http connector –> tomcat

httpd(proxy_http_module) –> http connector –> tomcat (apache的文件传输协议,默认8080端口连接tomcat)

httpd(proxy_ajp_module) –> ajp connector –> tomcat (apache的二进制传输协议更高效,默认8009端口连接tomcat)

配置一个Connector连接器接口:

<Connector port=”18080″ protocol=”HTTP/1.1″ address=”172.18.254.18″ maxThreads=”300″ enableLookups=”no”
               connectionTimeout=”20000″
               redirectPort=”8443″ />

Tomcat公猫

接下来配置tomcat的虚拟主机:


备份主配置文件:cp server.xml server.xml.bak

        先定义Engine引擎:<Engine name=”Catalina” defaultHost=”du.magedu.com”>

Host常用属性说明:appBase:此Host的webapps的默认存放目录;相当于apache的DocumentRoot或nginx的Root (Valve是过滤器组件,定义访问日志和访问控制)

                                                                    添加主配置文件内Host上下文

<Host name=”du.magedu.com” appBase=”/web/apps” unpackWARs=”true” autoDeploy=”true”>
        <Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”logs”
               prefix=”du_access” suffix=”.log”
               pattern=”%h %l %u %t &quot;%r&quot; %s %b” />
        </Host>

然后创建网站资源存放目录:mkdir /web/apps/ROOT/{lib,classes,WEB-INF,META-INF} -pv

编写一个jsp页面nano /web/apps/ROOT/index.jsp,例:

<%@ page language=”java” %>
<%@ page import=”java.util.*” %>
<html>
<head>
<title>Test Page</title>
</head>
<body>
<% out.println(“hello world”);
%>
</body>
</html>

                                                    然后systemctl restart tomcat重启服务,另找一台主机配置好hosts主机名文件,访问curl http://du.magedu.com:8080/测试

               还可以在Host组件中定义Context上下文(在一个程序下创建一个子程序):(path是指定url路径,docBase是文件资源存放路径,相当于上面的appBase)                                                                                                                                                                                

Tomcat公猫

Tomcat公猫(测试时W7的hosts文件要添加IP地址和主机名)

接下来配置nginx动态资源代理:

Tomcat公猫(location根上一定要加index.jsp);浏览器访问测试http://172.18.254.18/

apache的模块代理后端tomcat:vim /etc/httpd/conf.d/tomcat-http.conf 

Tomcat公猫

使用apache代理tomcat还有ajp协议(二进制传输速度快也安全):

Tomcat公猫

单台tomcat并发处理链接200个就不错了;有多台tomcat时,可以配置nginx/apache实现tomcat集群解决方案:

1.配置两台后端tomcat主机,安装:yum -y install java-1.8.0-openjdk-devel tomcat tomcat-webapps tomcat-admin-webapps,并在/usr/share/tomcat目录下创建一个test目录在里面添加一个jsp页面;实现访问172.18.254.82:8080和172.18.254.18:8080/test/均可访问到页面(另一台tomcat主机同样)

2. 配置前端nginx,vim /etc/nginx/nginx.conf:

Tomcat公猫

                            vim /etc/nginx/conf.d/default.conf:

Tomcat公猫

随后检查nginx -t语法,启动nginx,访问nginx主机的IP实现后台tomcat轮询调度

3.配置前端apache实现后台tomcat轮询调度:vim /etc/httpd/conf.d/tomcat-httpd.conf

Tomcat公猫

然后浏览器测试使用httpd主机IP访问,测试tomcat轮询效果;httpd还有一些保持会话的方法,因为生产环境不会用上,这里也不再实验;

Tomcat会话复制集群:(后端tomcat每个都需要同步会话,保持会话一致;所以容易产生网络堵塞只适合小规模的会话集群;生产中多数还是用session server)

        默认tomcat会话同步之间使用多播传输;


   


原创文章,作者:杜少星,如若转载,请注明出处:http://www.178linux.com/76571

(0)
杜少星杜少星
上一篇 2017-05-23 11:01
下一篇 2017-05-23 15:13

相关推荐

  • linux网络命令与软件管理

    1、描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景和区别 网桥也叫桥接器,是连接两个局域网的一种存储/转发设备,用来连接不同网段。 集线器称为“Hub”,主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。 二层交换机工作于OSI模型的第2层(数据链路层),可识别数据包中的MAC地址信息,…

    Linux干货 2016-12-18
  • 新手上路,多多担待,分享linux的ls 常用选项

    ls 命令   ls[OPTION]…[FILE]….选项 和 参数可有可无。 定义:显示指定路径下的文件列表。  -a: 全拼是all,所有的意思,ls  -a能显示出所有的文件,包括隐藏的。点开头和..开头的隐藏文件都能看见。  -l:后跟文件 可以查看文件的大小,和权限(一般用户都有读的权…

    2017-05-21
  • 企业面试题

    要求: 将一下数据进行排序(字母部分已小到大排序) 101.37.8.249 wz417-419/wz119-125/wz7-16/wz571/wz544/wz1-6101.37.21.19 wz545/wz453-456/wz441-444116.62.4.21 wz106-118/wz514-516/wz581/wz190-199/wz572101.37…

    Linux干货 2017-06-27
  • FHS文档系统各目录功能

         /bin 所有用户可用的基本命令程序文件     /sbin   供系统管理使用的工具程序     /boot 引导加载器必须用到的各静态文件 kernel,initramfs,grub  &nbsp…

    Linux干货 2016-10-18
  • 什么是CA??

       数字证书认证机构(英语:Certificate Authority,缩写为CA),也称为电子商务认证中心、电子商务认证授权机构,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。 介绍     CA中心为每个使用公开密钥的用户发放一个…

    Linux干货 2017-07-17
  • openssl基本应用

    导言: 我们知道在互联网上进行文件传输、电子邮件商务往来存在许多不安全因素,特别是对于一些大公司和一些机密文件在网络上传输,所以为了保证安全,我们必须给文件加密。今天,我们就来谈谈加密、解密、openssl的使用以及CA的实现过程。 数据的3大加密方式 对称加密 含义 指加密解密使用同一组密钥,是按数据分块以后进行加密的,前后数据块彼此之间有关联关系。 特性…

    Linux干货 2016-12-05