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
,这样的话,就把对应的请求给“反向代理”走了。
brew
安装tomcat
(mac系统brew安装)
最后奉上几张截图,在mac
系统下用brew install tomcat
,来安装tomcat
的mac
版本的截图。记住tomcat
的命令行的里面的名字是catalina
,命令是 catalina run
(有详细错误输出),catalina start
(没错误log输出),catalina stop
,而且貌似没有restart
命令。切记。
apache
的命令行名字是httpd
,也蛮有意思的。为啥都不用原名呢?
brew install tomcat
安装完tomcat
,默认的安装完的路径为:/usr/local/Cellar/tomcat/<版本号>
。
查看所有tomcat
/catalina
可用的参数选项:
catalina -h
启动一个tomcat
服务器,两条命令任选其一即可。区别在于是否在终端里面输出log
日志,start
不输出,run
输出。
catalina start
catalina run
总结
tomcat
的安装和配置,在本文中有个最佳实践。当然,在后续的文章里面,苏南大叔也会继续提及tomcat
的相关经验,请点击下面的链接查看:



转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
《程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。
本站的忠实读者小伙伴,正在阅读下面这些文章: