tomcat 详解

Tomcat详解

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。


TomcatIISWeb服务器一样,具有处理HTML页面的功能,另外它还是一个ServletJSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器


环境:centos6.5  32

JavaCenter_Home_GBK.zip

apache-tomcat-7.0.42.tar.gz

jdk-7u45-linux-i586.rpm


先安装jdk

[root@new ~]# yum --disablerepo=\* --enablerepo=c6-media localinstall jdk-7u45-linux-i586.rpm �Cy
[root@new ~]# rpm -ql jdk |less

把/usr/java/jdk1.7.0_45 目录定义为环境变量
[root@new ~]# vim /etc/profile

wKioL1XtLFrjdhezAADFKBMQrZ0491.jpg

[root@new ~]# . /etc/profile


安装tomcat  直接展开即可

[root@new local]# tar -zxvf apache-tomcat-7.0.42.tar.gz -C /usr/local/
[root@new local]# cd /usr/local/
[root@new local]# ln -s apache-tomcat-7.0.42/ tomcat
[root@new local]# cd tomcat/

[root@new bin]# ./catalina.sh  start
Using CATALINA_BASE:   /usr/local/tomcat    **catalina 的运行目录
Using CATALINA_HOME:   /usr/local/tomcat   **catalina安装目录
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@new bin]# netstat -tupln |less

wKiom1XtKkvx-NuRAABwGD_PQK0374.jpg

wKiom1XtKl-gz7a0AADbeFkpRTY406.jpg

第一次打开有点慢,这是因为jsp是要做中间翻译、缓存的,又叫字节码,这里不是本地缓存。

work目录下可查看内容

/usr/local/tomcat

wKioL1XtLJSxSrL6AADOE3GrO8k802.jpg

其中.class文件就是翻译后的字节码

Tomcat的配置文件

/usr/local/tomcat/conf
[root@new conf]# vim server.xml


案例实践:

实现功能:通过访问192.168.3.1000:8080 /test显示hello word 页面

[root@new ~]# cd /usr/local/tomcat/webapps/
[root@new webapps]# mkdir test
[root@new webapps]# cd test/
[root@new test]# mkdir -pv WEB_INF/{lib,classes}  **Java运行环境需求的目录
[root@new test]# vim index.jsp
编辑页面

wKiom1XtKnrxUiWzAAC4G_tJIXU560.jpg

[root@new test]# vim /etc/profile

wKioL1XtLK-gob98AACco45lkwU587.jpg

[root@new test]# . /etc/profile

[root@new test]# catalina.sh start

wKiom1XtKqHQabd7AABsYNxzgr8594.jpg

案例2

虚拟目录形式在www目录下实现访问

[root@new tomcat]# mkdir -pv /www/webapps

[root@new tomcat]# mv webapps/test/ /www/webapps/

wKiom1XtKrexpP5-AAFkO1EB758637.jpg


[root@new tomcat]# catalina.sh stop
[root@new tomcat]# catalina.sh start

wKioL1XtLQ3RA2NeAAB_SlkSHus434.jpg

发现也是可以的


案例3

架设Java的小论坛

JavaCenter_Home_GBK.zip

[root@new ~]# yum --disablerepo=\* --enablerepo=c6-media install mysql mysql-server �Cy
[root@new ~]# service mysqld start
[root@new ~]# chkconfig mysqld on
[root@new ~]# mysqladmin -u root -p password '123'
mysql> create database jcent;


[root@new ~]# unzip JavaCenter_Home_GBK.zip
[root@new ~]# cd JavaCenter_Home_2.0_GBK/
[root@new JavaCenter_Home_2.0_GBK]# mv upload/ /usr/local/tomcat/webapps/jcent

wKiom1XtLTjD-NA9AACK3WBd8jY965.jpg

wKioL1XtL2HDNGP4AAE2xulNZR8825.jpg

wKiom1XtLVHQQMDSAACauZeFQec168.jpg

wKioL1XtL3qRcccLAACCVcTxMDE715.jpg



案例4


主机形式访问,单独站点

需要写一个单独的host,指明站点目录,还有日志文件

wKiom1XtLbySeznUAAF_bgztqBU503.jpg


改变服务器端口

wKiom1XtLc7zI6iWAACiPkzaNxs558.jpg


管理页面按钮

wKiom1XtLeSgD4ZfAACdFdtSta4646.jpg

Server status  状态查看、管理,需要用户名和口令的,

Manager  主要管理像虚拟目录、物理目录的那些个应用

Host manager 主要管理站点

wKiom1XtLfyyWzTTAACwYnnHGxc281.jpg

点击取消,出现操作帮助

wKioL1XtMDvSsGAXAACg-66-DtA245.jpg

打开配置文件

[root@new ~]# vim /usr/local/tomcat/conf/tomcat-users.xml

添加一个角色,账户和密码

wKiom1XtLiSzDmcgAAB5aSboRBU998.jpg

[root@new ~]# catalina.sh stop

[root@new ~]# catalina.sh start

wKioL1XtMGjyRdrAAABz-xkQBp4798.jpg

已经可以访问并进行管理了

wKiom1XtLlmSEH1JAADoad4fqd8288.jpg

Host manager 管理


wKiom1XtLoWw17_UAADIzqs8KgM060.jpg

只需在配置文件中添加新的角色

wKioL1XtMMix9RY3AADugWS90eI749.jpg

wKiom1XtLqDwx38dAABYowsaKVk194.jpg

已经可以进行管理了


案例5


因为tomcat的安全性非常低,几乎没有什么安全设置,为了tomcat的安全,只要在tomcat的前端架设一台Apache,只要Apache反向代理给tomcat即可,

Apachetomcat结合的方法

代理:mod_proxy

mod_proxy_http  ----超文本------->8080

mod_proxy_ajp   ----二进制------->8009

mod_balancer  **实现负载均衡

wKioL1XtMOLDd3-zAAClqsDbNcA357.jpg

Apache的配置选项

./configure  \
--prefix=/usr/local/apache  \
--sysconfdir=/etc/httpd \
--enable-so \
--enable-ssl  \
--enable-rewrite  \
--with-apr=/usr/local/apr/bin/apr-1-config \
--with-apr-util=/usr/local/apr-util/bin/apu-1-config \
--with-pcre  \
--with-z  \
--enable-mpms-shared=all \
--enable-proxy \
--enable-proxy-http \
--enable-proxy-ajp \
--enable-proxy-balancer

配置反向代理

wKiom1XtLu7Q6qq1AACs6gF5pX4890.jpg

wKioL1XtMSiyAidBAABE8qnZY5E346.jpg

wKiom1XtLwuAjl3rAAGWGb7PSeY389.jpg


httpd.conf 的全局段或虚拟主机中添加如下内容

ProxyVia  off

ProxyRequests  off   关闭正向代理【启用反向,一定要关闭正向】

ProxyPreservehost   on   ***真实代理,将客户端访问的URL完全的传递给后方的tomcat

访问控制

ProxyPass  / ajp://后方服务器地址:8009/部分

ProxyPassReverse  / ajp://后方服务器地址:8009/

将上述两句写入虚拟主机中


你可能感兴趣的:(源代码,服务器,程序,初学者,通用)