配置Tomcat的虚拟主机
一个web服务器下一个ip可以访问多个域名,那就可以配置多个网站
Tomcat的虚拟主机
1.编辑配置文件:
vim /usr/local/tomcat/conf/server.xml
其中<Host>和</Host>之间的配置为虚拟主机配置部分,name定义域名,
appBase定义应用的目录,Java的应用通常是一个war的压缩包,你只需要将war的压缩包放到appBase目录下面即可。unpackWARs="true",这个是把放在appBase下面的war包自动解压,访问的Tomcat默认页其实就是在appBase目录下面,不过是在它子目录ROOT里。autoDeploy 如果此项设为true,表示Tomcat服务处于运行状态时,能够监测appBase下的文件,如果有新有web应用加入进来,会自运发布这个WEB应用。
<!-- />中表示注释。
2.增加虚拟主机,编辑server.xml,在</Host>下面增加如下内容
<Host name="www.123.cn" appBase=""
unpackWARs= "true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/data/wwwroot/123.cn/" debug="0" reloadable="true" crossContext="true"/>
</Host>
appBase 放的是应用目录,放java的war包,放在appBase下,则war包会自动解压;
如果我们的应用放在docBase下,不能放war包,把war包的内容解压后放在docBase定义应用存放的路径下。(其实二者都是定义放网页文件的的路径,只是 一个需要解压一个不需要而已)
docBase,这个参数用来定义网站的文件存放路径,如果不定义,默认是在appBase/ROOT下面,定义了docBase就以该目录为主了,其中appBase和docBase可以一样。在这一步操作过程中很多同学遇到过访问404的问题,其实就是docBase没有定义对。
appBase 路径:/usr/local/tomcat/webapps
实验:
下面我们通过部署一个java的应用来体会appBase和docBase目录的作用
(1)下载一个blog的war包:(放在/usr/local/src/)
wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
(2)复制zrlog的war包到/usr/local/tomcat/webapps/(appBase 定义的路径)
复制过去后悔发现自动解压war包
(3)修改一下解压后包的名字(方便实验)
mv /usr/local/tomcat/webapps/zrlog-1.7.1-baaecb9-release /usr/local/tomcat/webapps/zrlog
(此时包名修改成zrlog,但是一会又会自动解压一个war包出来,因为我们修改过它的名字)
(4)浏览器访问:
192.168.136.133:8080/zrlog/install
出现安装向导,
1.首先创建一个mysql用户
(1)先进入到mysql: mysql -uroot -p123456
(2)create database zrlog; /创建一个数据库
(3)创建用户(zrlog)
(4)检查一下创建的用户是否成功:
能否用创建的用户的用户名和密码登录mysql
mysql -uzrlog -h127.0.0.1 -p123456
2.完成zrlog网页上的安装向导
第一步是输入我们刚刚创建的mysql的用户名和密码
最后进入到zrlog论坛
以上在浏览器访问我们部署的项目的时候,我们地址栏写入的格式:ip+端口+项目名
如果想,直接输入ip+端口号,就访问,则使用虚拟主机,定义访问项目的路径。
如输入我们定义的域名直接访问项目:
1.把项目放置docBase的定义路径下
mkdir /data/wwwroot/123.cn/
mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/
2.关闭和开启tomcat服务
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
再查看是否服务正常监听端口
3.window下hosts文件
添加:定义的域名
再在浏览器中输入 定义的域名+端口号
如果我们不定义doc则我们直接访问的目录就是tomcat默认的路径,就是appBase
中定义的目录webapps/ROOT下的index.jsp
使用war包时就放在appBase中定义的目录,它会自动为war包解压
(所以我们如果定义一个appBase的目录appBase="定义的目录",则我们也需要在该目录下定义一个ROOT目录。因为项目的默认访问路径就是在这个appBase="定义的目录"下 的
ROOT目录下的。)
( curl localhost:8080/index.jsp -I;默认访问appBase="webapps"的ROOT的index.jsp.
这里的webapps是相对路径,相对这个配置文件的路径)
Tomcat日志
在虚拟主机处添加就可以了!!
原文地址:http://blog.51cto.com/13589255/2095157