Tomcat学习
2015-12-17 10:44
555 查看
http://xtony.blog.51cto.com/3964396/988706
Tomcat一点一滴之(一)基本搭建
目前主流的web服务器及各自服务的对象:
前言:Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。当配置正确时,Apache
为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为8.0.28。
本人也没怎么接触过Tomcat,算是和大家一起学习了。
1.Tomcat是对Jsp的页面提供服务的,所以需要java环境,那么首先安装jdk
下载jdk-6u24-linux-i586-rpm.bin到本地/usr/java
安装完成,会在当前目录下生成jdk1.6.0_24
接下来修改环境变量,使其被系统引用,在 /etc/profile中加入如下内容
source /etc/profile #即时生效配置文件
测试:执行java -version,正确的话应该会显示:
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode, sharing)
2.安装tomcat(这里选择免安装绿色版)---也就是解压即可使用
下载apache-tomcat-6.0.35.tar.gz到/usr/local
默认安装好,会监控8080端口,默认网站目录为tomcat/webapps
如何修改?
vim /usr/local/tomcat/conf/server.xml
找到如下段:
更改默认目录:
添加一行:
输入地址:http://ip:8080,即可访问。
出现默认首页:
到此Tomcat的基本搭建就算完成了。
Tomcat一点一滴之(二)配置应用
前言:在上篇已经把最基本的Tomcat搭建起来了,其实搭建tomcat的过程很简单,本篇就来说说Tomcat其中的目录结构以及如何来部署应用。(本篇某些内容摘至互联网)
一、目录结构详解:
以下是Tomcat默认装完以后的目录结构:
二、部署应用:
看完了上面的目录结构解释,知道了要新建项目,就是在webapps目录下来部署。好了,那就来新建个简单的jsp页面。
1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
2.在webapps目录下新建一个目录myapp,也就是项目名
3.myapp下新建一个目录WEB-INF; #注意,目录名称是区分大小写的;
4.WEB-INF下新建一个文件web.xml,内容如下:
5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
6.重启Tomcat
7.打开浏览器,输入http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。
一个最简单的jsp页面就显示出来了。。。
三、结合数据库Mysql:
我们都知道部署应用时,后台必须有数据库的支持。要不然就成了静态的web了,一般tomcat连接数据常用有oracle、mysql;大型的企业都是用的oracle。这里测试就用mysql了。
首先安装:(由于可能都会,就直接贴代码了) #这里用的是源码安装,也可直接yum装
好了,mysql安装好了,不过要想让tomcat可以连接到mysql,还需要一个jar包mysql-connector-java-5.1.13-bin.jar,将其下载下来放到tomcat 目录 lib 下面去就可以了。
下面来写个简单的测试连接数据库的jsp页面:
vim webapps/myapp/test_mysql.jsp
保存,打开页面:http://IP:8080/myapp/test_mysql.jsp,如果看到下面就说明连接成功了!
四、如何来发布一个开发的项目:
一共四种方法:
第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加:
<Context path="/hello" docBase="E:\workspace\hello\WebRoot" debug="0" privileged="true">
</Context>
第二种方法:将web项目文件件拷贝到webapps 目录中。
第三种方法:很灵活,在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hello,该xml文件的内容为:
<Context path="/hello" docBase="E:\workspace\hello\WebRoot" debug="0" privileged="true">
</Context>
第四种方法 在eclipse中点启动tomcat那个按钮左边那个按钮
可以按照步骤deploy
总结:到现在为止,搭建的环境已经具备部署一个JAVA项目了,属于运维人员工作的初期工作也就这样了。至于如何详细的部署应用就是研发的人该考虑的事了,想弄的特别透就得好好学习tomcat。下面就是来总结下:要想部署JAVA项目,首先机器必须支持java,那就得装JDK。其次项目如何跑起来就需要web容器,那就得装tomcat。再者,数据如何获取,那就得装mysql。应用部署好了就发布。所以都是有所需才有所用。
再次强调:本人也是正在学习tomcat相关,写这篇只为记录在此!
Tomcat一点一滴之(三)整合Apache、Nginx
前言:上两篇说了如何安装、部署Tomcat。可是有个问题来了,当Tomcat需要处理静态页面时就比较慢了,至少不如Apache,所以就出现了Apache+Tomcat的整合。
不过网上有人总结了关于这两个开源软件整合还有一些原因:
下面就先来说下Apache+Tomcat的集成方法:
apache与tomcat负载集群集成方法有3种jk、jk_proxy、http_proxy
本次实验为jk的这种方式,好了,开始:
一、准备包文件,安装:
需要用到的包:
httpd-2.2.16.tar.gz #Apache源码包
apache-tomcat-6.0.35.tar.gz #Tomcat压缩包
tomcat-connectors-1.2.30-src.tar.gz #连接Apache和Tomcat(mod_jk)
1.首先安装Apache
2.再安装Tomcat(需先安装java环境,参照第一篇)
3.最后安装连接器(mod_jk)
二、配置其相关参数文件
1.首先是Apache相关的,刚刚安装了mod_jk模块,也已经拷贝到Apache的模块目录中,下面就是让Apache来支持它。
需要在Apache的conf目录下新建两个配置文件:
mod_jk.conf #模块本身的配置文件
workers.properties #定义Tomcat工作的的配置文件
vim mod_jk.conf
vim workers.properties
下面就是修改Apache的主配置文件httpd.conf
a.在DirectoryIndex中添加 index.jsp ###166行
b.修改为:DocumentRoot "/var/wwwroot" ###104行
c.修改为:<Directory "/var/wwwroot"> ###131行 #可能行数会有少于差异
d.在最后面添加:
LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache2/conf/mod_jk.conf
2.下面就是稍稍修改下Tomcat的配置文件server.xml就可以了。
在</Host>标记前添加:
<Context path="" docBase="/var/wwwroot" reloadable="true" crossContext="true"> </Context> #指定项目目录
配置到此完成。下面测试:
三、测试验收
mkdir /var/wwwroot
echo "Hello,The time is <%= new java.util.Date() %>" >> /var/wwwroot/index.jsp #新建测试网页
/usr/local/apache2/bin/apachectl start #启动Apache
/usr/local/tomcat/bin/startup.sh #启动Tomcat
登录访问:http://ip 或者http://ip:8080
两者应该是一样的内容。
即 网页上显示当前系统时间:
Hello,the time is Tue Feb 26 11:18:04 CST 2013
以上就是Apache、Tomcat集成的简单方法。
——————————————————————
假如对并发要求比较高,那么就可以考虑Nginx了。这也是Nginx很火的原因之一,下面就来说说这款轻量级的Web服务器如何和Tomct集成。
实验:Nginx+Tomcat
一、安装并配置Nginx
需要用到的包:
nginx-1.0.10.tar.gz #Nginx的源码包
pcre-8.10.tar.gz #Nginx依赖的轻量级的函数库
1.基本安装
二、配置相关文件
Nginx安装完毕默认的路径为:/usr/local/nginx
在/usr/local/nginx/conf下新建一个代理配置文件:
vim proxy.conf
再修改Nginx的主配置文件nginx.conf
在server{}中添加如下参数:
root /var/wwwroot; #指定网页的根目录
location ~ .*.jsp$ { #定义所有以.jsp结尾
index index.jsp; #默认网页为index.jsp
proxy_pass http://localhost:8080;#代理地址为本机的8080端口
}
测试Nginx配置文件准确性:
/usr/local/nginx/sbin/nginx -t
如下显示,则没有问题:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
/usr/local/nginx/sbin/nginx #启动nginx
netstat -antp|grep nginx #查看nginx端口是否正常开启
三、测试
本实验是在上面Apache+Tomcat的基础上继续的,所以Tomcat我就没再装。也就是上面做的网站的根目录在/var/wwwroot,在上面已经做好了测试网页。
所以打开浏览器直接输入:http://ip/index.jsp 即可看到效果。
到此Nginx+Tomcat已经完成,但只是简单的集成,下一篇将继续说下Apache+Tomcat集群配置、Nginx+Tomcat集群配置、以及Session同步。
Tomcat一点一滴之(一)基本搭建
目前主流的web服务器及各自服务的对象:
Microsoft IIS | .Net |
Apache | Html/PHP |
Nginx | Html/PHP |
Tomcat | Jsp |
为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为8.0.28。
本人也没怎么接触过Tomcat,算是和大家一起学习了。
1.Tomcat是对Jsp的页面提供服务的,所以需要java环境,那么首先安装jdk
下载jdk-6u24-linux-i586-rpm.bin到本地/usr/java
cd /usr/java chmod 755 jdk-6u24-linux-i586-rpm.bin #添加执行权限 ./jdk-6u24-linux-i586-rpm.bin #会生成jdk-6u1-linux-i586.rpm的文件 当页面出现“Press Enter to continue..... ” #按回车键即可
安装完成,会在当前目录下生成jdk1.6.0_24
接下来修改环境变量,使其被系统引用,在 /etc/profile中加入如下内容
JAVA_HOME=/usr/java/jdk1.6.0_24 CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export PATH CLASSPATH JAVA_HOME
source /etc/profile #即时生效配置文件
测试:执行java -version,正确的话应该会显示:
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode, sharing)
2.安装tomcat(这里选择免安装绿色版)---也就是解压即可使用
下载apache-tomcat-6.0.35.tar.gz到/usr/local
tar zxf apache-tomcat-6.0.35.tar.gz #解压文件 mv apache-tomcat-6.0.35 tomcat #改名,易于写path路径 /usr/local/tomcat/bin/startup.sh #启动脚本 /usr/local/tomcat/bin/shutdown.sh #关闭脚本
默认安装好,会监控8080端口,默认网站目录为tomcat/webapps
如何修改?
vim /usr/local/tomcat/conf/server.xml
找到如下段:
<Connector port="8001" protocol="HTTP/1.1" #将port改成想要的端口即可 connectionTimeout="20000" redirectPort="8443" />
更改默认目录:
添加一行:
<Context path="" docBase="/web" debug="0" reloadable="false" xmlNamespaceAware="false" xmlValidation="false"/--> #docBase就是要改的目录路径
输入地址:http://ip:8080,即可访问。
出现默认首页:
到此Tomcat的基本搭建就算完成了。
Tomcat一点一滴之(二)配置应用
前言:在上篇已经把最基本的Tomcat搭建起来了,其实搭建tomcat的过程很简单,本篇就来说说Tomcat其中的目录结构以及如何来部署应用。(本篇某些内容摘至互联网)
一、目录结构详解:
以下是Tomcat默认装完以后的目录结构:
/bin #存放各种平台下启动和关闭Tomcat的脚本文件; /conf #Tomcat的各种配置文件,最重要的是 server.xml; /lib #存放Tomcat服务器和所有web应用需要的jar包; /logs #存放Tomcat的日志文件; /temp #Tomcat运行时候存放临时文件用的; /webapps #web应用的发布目录,把 java开发的web站点或war文件放入这个目录下就可以通过tomcat服务器访问; /work #Tomcat的工作目录,默认情况下把编译JSP文件生成的servlet类文件放于此目录下。 然后说下conf/下的配置文件: server.xml #Tomcat中最重要的配置文件,定义了tomcat的体系结构;设置端口,集群,web应用,访问日志等主要功能。 tocmat-users.xml #Tocmat管理员身份的配置文件;关键是设置管理员账号的密码 context.xml #全局context的配置文件;将数据库JNDI在这里定义好 logging.properties #Tocmat日志配置文件;可以修改默认的Tocmat日志路径和名称 web.xml #web.xml是JSP的一个配置文件,里面设置了通用的默认值
二、部署应用:
看完了上面的目录结构解释,知道了要新建项目,就是在webapps目录下来部署。好了,那就来新建个简单的jsp页面。
1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
2.在webapps目录下新建一个目录myapp,也就是项目名
3.myapp下新建一个目录WEB-INF; #注意,目录名称是区分大小写的;
4.WEB-INF下新建一个文件web.xml,内容如下:
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>My Web Application</display-name> <description> A application for test. </description> </web-app>
5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
<html> <body> <center> Now time is: <%=new java.util.Date()%> </center> </body> </html>
6.重启Tomcat
7.打开浏览器,输入http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。
一个最简单的jsp页面就显示出来了。。。
三、结合数据库Mysql:
我们都知道部署应用时,后台必须有数据库的支持。要不然就成了静态的web了,一般tomcat连接数据常用有oracle、mysql;大型的企业都是用的oracle。这里测试就用mysql了。
首先安装:(由于可能都会,就直接贴代码了) #这里用的是源码安装,也可直接yum装
groupadd mysql useradd -g mysql -s /sbin/nologin -M mysql tar zxvf mysql-5.1.63.tar.gz cd mysql-5.1.63 ./configure \ --prefix=/usr/local/mysql \ --with-unix-socket-path=/tmp/mysql.sock \ --enable-thread-safe-client \ --with-mysqld-user=mysql \ --with-big-tables \ --without-debug \ --with-pthread \ --enable-assembler \ --with-extra-charsets=complex \ --with-readline \ --with-ssl \ --with-embedded-server \ --enable-local-infile \ --with-plugins=partition,innobase \ --with-plugin-PLUGIN \ --with-mysqld-ldflags=-all-static \ --with-client-ldflags=-all-static make && make install cp support-files/my-medium.cnf /etc/my.cnf #建立配置文件 /usr/local/mysql/bin/mysql_install_db --user=mysql #初始化数据库,并修改相关目录所有权 chown -R root.mysql /usr/local/mysql/ chown -R mysql /usr/local/mysql/var/ #调整目录权限 echo "/usr/local/mysql/lib/mysql/" >>/etc/ld.so.conf ldconfig #调整lib库路径 /usr/local/mysql/bin/mysqld_safe --user=mysql & #使用mysqld_safe脚本安全启动服务(后台) cp support-files/mysql.server /etc/init.d/mysqld chmod a+x /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on #将mysql变成系统服务并开机自启 echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile #把MySQL加入环境变量,方便执行命令 source /etc/profile #使环境变量生效 service mysqld restart #重启服务 mysqladmin -u root password 123 #设置数据库root密码
好了,mysql安装好了,不过要想让tomcat可以连接到mysql,还需要一个jar包mysql-connector-java-5.1.13-bin.jar,将其下载下来放到tomcat 目录 lib 下面去就可以了。
下面来写个简单的测试连接数据库的jsp页面:
vim webapps/myapp/test_mysql.jsp
<%@ page language="java" %> <%@ page import="com.mysql.jdbc.Driver" %> <%@ page import="java.sql.*" %> <% String driverName="com.mysql.jdbc.Driver"; String userName="root"; String userPasswd="123"; String dbName="test"; String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd; Class.forName("com.mysql.jdbc.Driver").newInstance(); try { Connection connection=DriverManager.getConnection(url); out.println(" Connection Mysql is OK !"); connection.close(); } catch( Exception e ) { out.println( "connent mysql error:" + e ); } %>
保存,打开页面:http://IP:8080/myapp/test_mysql.jsp,如果看到下面就说明连接成功了!
四、如何来发布一个开发的项目:
一共四种方法:
第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加:
<Context path="/hello" docBase="E:\workspace\hello\WebRoot" debug="0" privileged="true">
</Context>
第二种方法:将web项目文件件拷贝到webapps 目录中。
第三种方法:很灵活,在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hello,该xml文件的内容为:
<Context path="/hello" docBase="E:\workspace\hello\WebRoot" debug="0" privileged="true">
</Context>
第四种方法 在eclipse中点启动tomcat那个按钮左边那个按钮
可以按照步骤deploy
总结:到现在为止,搭建的环境已经具备部署一个JAVA项目了,属于运维人员工作的初期工作也就这样了。至于如何详细的部署应用就是研发的人该考虑的事了,想弄的特别透就得好好学习tomcat。下面就是来总结下:要想部署JAVA项目,首先机器必须支持java,那就得装JDK。其次项目如何跑起来就需要web容器,那就得装tomcat。再者,数据如何获取,那就得装mysql。应用部署好了就发布。所以都是有所需才有所用。
再次强调:本人也是正在学习tomcat相关,写这篇只为记录在此!
Tomcat一点一滴之(三)整合Apache、Nginx
前言:上两篇说了如何安装、部署Tomcat。可是有个问题来了,当Tomcat需要处理静态页面时就比较慢了,至少不如Apache,所以就出现了Apache+Tomcat的整合。
不过网上有人总结了关于这两个开源软件整合还有一些原因:
1、聚合。使用Apache做为前端大门,后端部署多个Tomcat实例,如果一个实例出现问题,Apache将忽略这个实例,让系统管理员高枕无忧。当然如果在硬件负载均衡设备的基础上利用Tomcat的聚合能力就没有必要进行集成了。 2、聚合/安全。当然如果使用Apache做为门户来区分拥有不同URL命名空间的不同的Tomcat。每个Tomcat都成为一个保护区域,从安全角度讲,仅仅需要主要Apache 服务器。在这个方案中,Apache已经变成一个轻量级的代理服务器。 3、安全。就安全来讲,集成和不集成都是争论双方的焦点。Java有安全管理功能,Apache对安全考虑的也是比较周道的。可以使用Google来查阅这方面的资料。在某个场合中,集成是上上策,但是另外一个场合,可能不集成略胜一筹。但是如果集成Apache和Tomcat,一定要记住:你需要同时关注Apache和Tomcat的安全,而不是一个。 4、附加因素。在Apache上运行perl,PHP和CGI都是很普通的事情。但是对Tomcat来说,不仅速度忙,而且不太正式。Apache可以任意添加上百个附加软件,当然Tomcat也有这个能力,但是这样的模块还没有开发出来。 5、装饰。当Apache做为Tomcat前端时,你可以完成大量Tomcat不支持或没有现成代码的装饰工作。没有必要重新为Tomcat开发一套类似为Apache的mod_headers,mod_rewrite, and mod_alias。 6、速度。Apache的静态网页处理速度高于Tomcat。但是除非你的流量很大,这一点时没有意义的。在另外一些情况下,Tomcat要比Apache快。所以两者结合可以加速你的站点。 7、Socket handling(姑且认为是连接)/系统稳定性。Apache在处理错误链接上优于Tomcat。主要原因是Tomcat所有的连接都交给JVM来处理,而JVM是跨平台的,问题是跨平台的优化是一个严峻的考验。大部分时间java程序都是正常的,但是当情况非常恶劣时,例如:非常频繁的掉线,无效数据包,无效IP的无效请求。Apache比基于JVM的程序要好。 |
apache与tomcat负载集群集成方法有3种jk、jk_proxy、http_proxy
本次实验为jk的这种方式,好了,开始:
一、准备包文件,安装:
需要用到的包:
httpd-2.2.16.tar.gz #Apache源码包
apache-tomcat-6.0.35.tar.gz #Tomcat压缩包
tomcat-connectors-1.2.30-src.tar.gz #连接Apache和Tomcat(mod_jk)
1.首先安装Apache
# tar xzvf httpd-2.2.0.tar.gz # cd httpd-2.2.0 # ./configure --prefix=/usr/local/apache2 --enable-so #因做测试,最简单的编译参数即可 # make && make install
2.再安装Tomcat(需先安装java环境,参照第一篇)
# cp apache-tomcat-6.0.35.tar.gz /usr/local # cd /usr/local # tar zxf apache-tomcat-6.0.35.tar.gz # mv apache-tomcat-6.0.35 tomcat
3.最后安装连接器(mod_jk)
# tar zxf tomcat-connectors-1.2.30-src.tar.gz # cd tomcat-connectors-1.2.30-src/native # ./configure --with-apxs=/usr/local/apache2/bin/apxs # make # cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/ #拷贝至Apache指定模块目录
二、配置其相关参数文件
1.首先是Apache相关的,刚刚安装了mod_jk模块,也已经拷贝到Apache的模块目录中,下面就是让Apache来支持它。
需要在Apache的conf目录下新建两个配置文件:
mod_jk.conf #模块本身的配置文件
workers.properties #定义Tomcat工作的的配置文件
vim mod_jk.conf
JkWorkersFile /usr/local/apache2/conf/workers.properties #指定workers.properties的位置 JkLogFile /usr/local/apache2/logs/mod_jk.log #指定jk的日志输出文件 JkLogLevel info #指定日志级别 JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" #指定日志输出的时间戳格式 JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories #JkOptions指示发送给SSL密钥大小 JkRequestLogFormat "%w %V %T" #指定日志中时间戳后面的内容:%w:工作的tomcat实例 %V:目标ip %T:耗时 JkMount /servlet/* worker1 #指URL指向如果有servlet,则让worker1去处理 JkMount /*.jsp worker1 #指URL为/*.jsp的页面,让worker1去处理
vim workers.properties
worker.list=worker1 #指定需要工作的tomcat节点,如多个用“,”分割 worker.worker1.type=ajp13 #指定worker1使用ajpv13协议与Tomcat进程通讯 worker.worker1.host=localhost #指定worker1的位置 worker.worker1.port=8009 #指定worker1的工作端口 worker.worker1.cachesize=10 #指定worker1的缓存大小 worker.worker1.cache_timeout=600 #指定worker1的cache中保留一个打开的socket的时间 worker.worker1.socket_keepalive=1 #此配置项为当Apache和Tomcat之间有防火墙时,让os每隔多久想未激活的连接发送KEEP_ALIVE信息,防止防火墙切断未激活的网络连接 worker.worker1.socket_timeout=300 #指定worker1上的连接在未激活的状况下持续多久,Apache将主动切断
下面就是修改Apache的主配置文件httpd.conf
a.在DirectoryIndex中添加 index.jsp ###166行
b.修改为:DocumentRoot "/var/wwwroot" ###104行
c.修改为:<Directory "/var/wwwroot"> ###131行 #可能行数会有少于差异
d.在最后面添加:
LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache2/conf/mod_jk.conf
2.下面就是稍稍修改下Tomcat的配置文件server.xml就可以了。
在</Host>标记前添加:
<Context path="" docBase="/var/wwwroot" reloadable="true" crossContext="true"> </Context> #指定项目目录
配置到此完成。下面测试:
三、测试验收
mkdir /var/wwwroot
echo "Hello,The time is <%= new java.util.Date() %>" >> /var/wwwroot/index.jsp #新建测试网页
/usr/local/apache2/bin/apachectl start #启动Apache
/usr/local/tomcat/bin/startup.sh #启动Tomcat
登录访问:http://ip 或者http://ip:8080
两者应该是一样的内容。
即 网页上显示当前系统时间:
Hello,the time is Tue Feb 26 11:18:04 CST 2013
以上就是Apache、Tomcat集成的简单方法。
——————————————————————
假如对并发要求比较高,那么就可以考虑Nginx了。这也是Nginx很火的原因之一,下面就来说说这款轻量级的Web服务器如何和Tomct集成。
实验:Nginx+Tomcat
一、安装并配置Nginx
需要用到的包:
nginx-1.0.10.tar.gz #Nginx的源码包
pcre-8.10.tar.gz #Nginx依赖的轻量级的函数库
1.基本安装
# tar zxf pcre-8.10.tar.gz # cd pcre-8.10 # ./configure # make && make install # tar zxf nginx-1.0.10.tar.gz # cd nginx-1.0.10 # ./configure --with-http_stub_status_module --with-http_ssl_module #启动server状态和https模块 # make && make install
二、配置相关文件
Nginx安装完毕默认的路径为:/usr/local/nginx
在/usr/local/nginx/conf下新建一个代理配置文件:
vim proxy.conf
proxy_redirect off; #关闭代理重定向 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; #获取真实ip #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #获取代理者的真实ip client_max_body_size 10m; #允许客户端请求的最大单文件字节数 client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数 proxy_connect_timeout 90; #后端服务器连接的超时时间 proxy_send_timeout 90; #后端服务器数据回传时间 proxy_read_timeout 90; #后端服务器处理请求的时间 proxy_buffer_size 4k; #设置缓冲区大小 proxy_buffers 4 32k; #设置缓冲区的大小和数量 proxy_busy_buffers_size 64k; #用来控制同时传输到客户端的buffer数量 proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
再修改Nginx的主配置文件nginx.conf
在server{}中添加如下参数:
root /var/wwwroot; #指定网页的根目录
location ~ .*.jsp$ { #定义所有以.jsp结尾
index index.jsp; #默认网页为index.jsp
proxy_pass http://localhost:8080;#代理地址为本机的8080端口
}
测试Nginx配置文件准确性:
/usr/local/nginx/sbin/nginx -t
如下显示,则没有问题:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
/usr/local/nginx/sbin/nginx #启动nginx
netstat -antp|grep nginx #查看nginx端口是否正常开启
三、测试
本实验是在上面Apache+Tomcat的基础上继续的,所以Tomcat我就没再装。也就是上面做的网站的根目录在/var/wwwroot,在上面已经做好了测试网页。
所以打开浏览器直接输入:http://ip/index.jsp 即可看到效果。
到此Nginx+Tomcat已经完成,但只是简单的集成,下一篇将继续说下Apache+Tomcat集群配置、Nginx+Tomcat集群配置、以及Session同步。
相关文章推荐
- web应用的虚拟目录映射和主机搭建(Tomcat)
- Jfinal极速开发微信系列教程(三)--------------对JSP的支持以及部署Tomcat运行异常问题
- 设置Tomcat启动时控制台显示文字的颜色
- Spring,Struts2,MyBatis,Activiti,Maven,H2,Tomcat集成(一)——Maven,Tomcat,Spring集成
- tomcat 产生heapdump文件配置
- Tomcat启动时项目重复加载
- tomcat无法启动
- tomcat(1)
- 浅析Tomcat之Pipeline和Value
- Intellij Idea tomcat 临时目录
- Tomcat7 Websocket入门贴
- netflix zuul-simple-webapp.war在tomcat下启动
- Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are Several ports (8005
- Tomcat 8.0的安装及配置
- 一键开启tomcat和mysql服务程序
- 在linux下面架设多个tomcat服务
- tomcat 不能识别maven web项目
- 在Eclipse中启动Tomcat异常, unable to start within 45
- Apache 映射到 Tomcat
- Tomcat启动过程原理详解