Tomcat部署
Tomcat目录结构:
bin:存放一些启动运行tomcat的可执行程序和相关内容
conf:存放关于Tomcat服务器的全局配置
lib:存放Tomcat运行或者站点运行所需的jar包,所有在此Tomcat上的站点共享这些jar、包
logs:存放日志文件
temp:存放临时文件
webapps:默认的站点根目录,可以更改
work:用于在服务器运行时过度资源,简单来说,就是存储jsp、servlet翻译、编译后的结果
tomcat部署Java Web应用程序有两种方式:静态部署和动态部署
静态部署:指的是服务器启动之前部署Web应用程序,只有当程序启动之后,Web应用程序才能访问。
动态部署:指的是服务器启动之后部署Web应用程序,而不用重新启动服务器。动态部署要用到服务器提供的manager.war文件。如果在目录$TOMCAT_HOME/webapps/下没有该文件,需重新下载tomcat,否则不能完成以下的功能。
静态部署可以有以下3种部署方式:(以PurpleStoneWeb项目为例,假设项目地址为D:/WorkSpace/DevProject/PurpleStoneWeb)
第一:利用tomcat自动部署
将PurpleStoneWeb目录拷贝到Tomcat的/webapps下,然后启动服务器就可以了,tomcat启动时将自动加载应用。
访问地址如下:http://localhost:8080/PurpleStoneWeb/
这种方式比较简单,但是web应用必须在webapps目录下
tomcat的webapps目录是tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。
第二:修改Server.xml文件部署指定项目
(1)部署指定路径目录
这种方式可以不必将PurpleStoneWeb目录拷贝到webapps下,直接在D:/WorkSpace/DevProject/PurpleStoneWeb下部署,方法如下,更改tomcat的conf/server.xml文件,找到以下内容:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path ="/PurpleStoneWeb"
reloadable ="false"
docBase ="D:/WorkSpace/DevProject/PurpleStoneWeb"
workDir ="D:/WorkSpace/DevProject/PurpleStoneWeb/work"
/>
...
</Host>
如果没有Context节点,请自行添加该节点。
path是访问时的根目录,表示访问的路径,如上述例子中,访问该应用程序的地址应为:http://localhost:8080/PurpleStoneWeb/
reloadable:表示可以在运行时再classes与lib文件夹下自动加载类包,其中reloadable="false"表示当应用程序中的内容发生更改之后服务器不会自动加载,这个属性在开发阶段通常都设为true,方便开发,在发布阶段设置为false,提高应用程序的访问速度。
docbase:表示应用程序的路径,可以使用绝对路径,也可以使用相对路径,相对路径相对于webapps。
workdir:表示缓存文件的放置地址,是指tomcat解析Jsp转换为Java文件,并编译为class存放的文件夹,设置在项目文件夹里面,可以避免移植到其他地方首次读取jsp文件需要重新解析(一般格式:项目文件夹/work)
(2)修改Tomcat默认监听端口
方法如下,更改$TOMCAT_HOME/conf/server.xml文件,找到以下内容:
<Connector port="8080" --修改成自己的端口号
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
/>
port:作为一个网络server端,需要暴露一个socket端口来accept客户端的链接,可以通过port指定,即tomcat监听端口。
protocol:使用的网络协议
connectionTimeout:指定超时的时间数(毫秒为单位)
redirectPort:指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号
(3)修改Tomcat默认页面
在tomcat目录下找到conf/web.xml,这个文件是对所有站点的共同属性做出了设置,比如大家看文件结尾处:
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
这个叫做欢迎页面,当没有输入资源地址时,会由上至下地查找,获取页面,进行响应。
但是不建议在这里改,会使所有站点的设置变化,你应该将其复制到你需要改动的站点下的web.xml,进行部署。
第三:新建xml文件部署地址项目
在本地tomcat的conf目录中,新建Catalina/localhost目录,然后在该目录下新建一个PurpleStoneWeb.xml文件,填写如下内容:
<Context docBase="D:/WorkSpace/DevProject/PurpleStoneWeb"
path="/PurpleStoneWeb"
reloadable="true" />
我们通常使用第三种方式,每个项目分开配置,tomcat将以\conf\Catalina\localhost目录下的xml文件名作为web应用的上下文路径,而不再理会<Context>中配置的path路径,因此在配置的时候,可以不写path