tomcat 如何修改配置?配置文件在什么位置?
发布于 作者:苏南大叔 来源:程序如此灵动~java
在企业大型应用中占用重要的话语权,如果您想有更好的薪酬,那么就要努力学习java
。在java
网站开发角度来说的话,需要的服务器是tomcat
。苏南大叔在本篇文章中,给大家带来了本次和tomcat
交锋的最新战况。
本文测试环境:mac
、tomcat@8.5.14
。默认您已经安装好了tomcat
,如果您还没有安装好,可以参考最后一页的内容。简要来说的话,可以通过brew install tomcat
来进行安装。
配置文件
tomcat
的配置文件地址路径为:
<tomcat path>/libexec/conf/server.xml
默认的网站源码路径为:
<tomcat path>/libexec/webapps/
在mac
环境下,
/usr/local/Cellar/tomcat/<版本号>
当然和apache
一样,这个默认的路径不一定非要是这里的。可以在配置文件中,改动到别的位置。
配置vhost
默认的配置下有个localhost
的host
配置,类似下方的内容:
<Host name="localhost" appBase="/home/wwwroot/" unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
当添加个新的vhost
的时候:
<Host name="newsn.net" appBase="/home/wwwroot/" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="newsn.net"/>
</Host>
这个新的host
要放在和默认的host
平级。
和大家所熟悉的apache
配置相比,路径由appbase
和docbase
两部分组成了。并且,多了个自动解压war
包的概念,其余的还是差不多。网上有教程说,要在默认的host
里面也要添加一条context
,我觉得不用。要是需要,您再加上,记得保证docBase
里面有东西啊~
<Context path="/" docBase="___tom.root___"/>
context
中的path
就对应于我们访问一个网页的时候,除了域名之外的pathinfo
部分。设置为/
,就是相当于domain.com/
的请求都要到docbase
里面去找对应代码了。
默认的tomcat端口号是8080
,当然可以在下面这个配置中的8080
,换成你喜欢的任何端口号即可,只要保证端口号不冲突即可。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
配合nginx
当然了,因为在苏南大叔的服务器上,主体程序是php
的缘故,所以,这个tomcat
,就用nginx
做了个反向代理。下面是完整的nginx
的vhost
配置文件代码:
server
{
listen 80;
server_name newsn.net www.newsn.net;
index index.jsp index.html index.htm default.jsp default.htm default.html;
root /home/wwwroot/newsn.net;
#error_page 404/404.html;
error_page 404 /404.html;
error_page 502 /502.html;
#TOMCAT-START
access_log /www/wwwlogs/newsn.net.log;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Cookie $http_cookie;
}
}
重点就是这个 proxy_pass
相关的语句了,端口号8080
,这样的话,就把对应的请求给“反向代理”走了。
mac系统brew安装
最后提一下,在mac
系统下用brew install tomcat
,来安装tomcat
的事情。
tomcat
的命令行的里面的名字是catalina
...apache
的命令行名字是httpd
,也蛮有意思的。为啥都不用原名呢?
brew install tomcat
安装完tomcat
,默认的安装完的路径为:/usr/local/Cellar/tomcat/<版本号>
。
查看所有tomcat
/catalina
可用的参数选项:
catalina -h
可用命令是:
catalina run
(有详细错误输出)catalina start
(没错误log输出)catalina stop
- 貌似没有
restart
命令。
总结
tomcat
的安装和配置,在本文中有个最佳实践。当然,在后续的文章里面,苏南大叔也会继续提及tomcat
的相关经验,请点击下面的链接查看:
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。