java在企业大型应用中占用重要的话语权,如果您想有更好的薪酬,那么就要努力学习java。在java网站开发角度来说的话,需要的服务器是tomcat。苏南大叔在本篇文章中,给大家带来了本次和tomcat交锋的最新战况。

配置文件

tomcat的配置文件地址路径为:

<tomcat path>/libexec/conf/server.xml

默认的网站源码路径为:

<tomcat path>/libexec/webapps/

mac环境下,默认值为:

/usr/local/Cellar/tomcat/<版本号>

当然和apache一样,这个默认的路径不一定非要是这里的。可以在配置文件中,改动到别的位置。

配置vhost

默认的配置下有个localhosthost配置,类似下方的内容:

<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 &quot;%r&quot; %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配置相比,路径由appbasedocbase两部分组成了。并且,多了个自动解压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做了个反向代理。下面是完整的nginxvhost配置文件代码:

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,来安装tomcatmac版本的截图。记住tomcat的命令行的里面的名字是catalina,命令是 catalina run (有详细错误输出),catalina start(没错误log输出),catalina stop,而且貌似没有restart命令。切记。

apache的命令行名字是httpd,也蛮有意思的。为啥都不用原名呢?
brew install tomcat

安装完tomcat,默认的安装完的路径为:/usr/local/Cellar/tomcat/<版本号>

tomcat 如何安装及配置? - brew_tomcat_002
tomcat 如何安装及配置?(图4-1)

查看所有tomcat/catalina可用的参数选项:

catalina -h

tomcat 如何安装及配置? - brew_tomcat_003
tomcat 如何安装及配置?(图4-2)

启动一个tomcat服务器,两条命令任选其一即可。区别在于是否在终端里面输出log日志,start不输出,run输出。

catalina start
catalina run

tomcat 如何安装及配置? - brew_tomcat_004
tomcat 如何安装及配置?(图4-3)

tomcat 如何安装及配置? - brew_tomcat_005
tomcat 如何安装及配置?(图4-4)

总结

tomcat的安装和配置,在本文中有个最佳实践。当然,在后续的文章里面,苏南大叔也会继续提及tomcat的相关经验,请点击下面的链接查看:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   tomcat    nginx

本站的忠实读者小伙伴,正在阅读下面这些文章: