tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From André Warnier (tomcat) ...@ice-sa.com>
Subject Re: Tomcat, Apache web-server : Simultaneously running both servers and Virtual Hosting.
Date Mon, 07 Dec 2015 14:21:37 GMT
On 07.12.2015 11:26, Kernel freak wrote:
> Hello friends,
>
> I am working on some server side changes in which I have the webapps or
> website hosted by Apache server is called by the URL. So if url is
> www.domain-one.com, then the specific webapp or website must be served.
>
> I have partial success in these regards as I have already configured Apache
> Tomcat to host multiple webapps, and call them based on URL. It is working.
>
> Now on to the 2nd stage of problem, where I have hosted a CMS on Apache
> server, and would like to call it with a URL, *but also keep Apache tomcat
> running in parallel*, and this is the main problem I am dealing with.
>
> This may seem like a Apache server issue, but it's both, as I want to run
> Apache web-server and Apache tomcat simultaneously with Virtual hosting. I
> just hope there might be people here who know both servers.
>
> I tried mod_jk without any luck. Here are the changes I made to tomcat and
> apache server.
>
> Tomcat changes : server.xml :
>
> <Connector port="80"
> protocol="org.apache.coyote.http11.Http11NioProtocol"
> compression="force" compressionMinSize="1024"
>                 connectionTimeout="20000"  maxPostSize="5242880"
>                 URIEncoding="utf-8"
>   compressableMimeType="text/html,text/xml,text/plain,text/css,text/
> javascript,application/x-javascript,application/javascript"/>
>
>
> <Connector port="443"
> protocol="org.apache.coyote.http11.Http11NioProtocol"
> maxPostSize="5242880" SSLEnabled="true" maxThreads="200" compre$
>                compressionMinSize="1024" scheme="https" secure="true"
> clientAuth="false"  sslProtocol="TLS"
>                 keystoreFile="keystorefile" keystorePass="PASSWORD"
> URIEncoding="utf-8"
>   compressableMimeType="text/html,text/xml,text/plain,text/css,text/
> javascript,application/x-javascript,application/javascript"/>
>
>
>
>   <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true"/>
>          <Host name="domain-first.com" autoDeploy="true"
> unpackWARs="true" appBase="tooltank_webapps">
>                  <Alias>www.domain-first.com</Alias>
>                  <Context path=""/>
>          </Host>
>
>          <Host name="domain-second.com" autoDeploy="true"
> unpackWARs="true" appBase="aupair_webapps">
>                  <Alias>www.domain-second.com</Alias>
>                  <Context path=""/>
>
>
>      </Host>
>      <Connector port="8010" protocol="AJP/1.3" redirectPort="443"
> URIEncoding="utf-8"
>   compressableMimeType="text/html,text/xml,text/plain,text/css,text/
> javascript,application/x-javascript,application/javascript"
> />
>
>
>
> Installed mod_jk with following command :
>
>
>        apt-get install libapache2-mod-jk
>
> Created file workers.properties in /etc/apache2/
>
>
> # Define 1 real worker using ajp13
>   worker.list=worker
>   # Set properties for worker (ajp13)
>   worker.worker.type=ajp13
>   worker.worker.host=localhost
>   worker.worker.port=8010
>
> Instructed jk.conf to load this file :
>
>
> JkWorkersFile /etc/apache2/workers.properties
>
>
> Finally edited 000-default in sites-enabled to add :
>
>
>      JkMount /home/user/tomcat_directory/* worker1
>
> Then restarted Apache2, and I got this error :
>
>
> [....] Restarting web server: apache2(98)Address already in use:
> make_sock: could not bind to address [::]:80
> (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
> no listening sockets available, shutting down
> Unable to open logs
> Action 'start' failed.
> The Apache error log may have more information.
>   failed!
>
>
> I understand that Tomcat is running on 80, but how do I then configure
> the servers so they can run simultaneously.
>
> Kindly let me know..
>

Hi. You may have a lot of reading to do, specially on the Apache httpd side.
It will be worth it in the end, to be able to think "globally" about the issues, and to be

able to decide where best to do what.

1) Virtual Hosts :
   http://httpd.apache.org/docs/2.2/vhosts/  --> name-based virtual hosts
2) Proxying from Apache to Tomcat :
    http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
    http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html (an alternative to mod_jk)
    .. and mod_jk you already know
3) URL Rewriting :
    http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
    (allows you to do a lot of things, in combination with mod_proxy, but at a much finer

level)

Also, a tip if you want to use mod_jk in combination with all the Apache-httpd modules 
above : look at an alternative way to configure proxying from httpd to Tomcat, here :
http://tomcat.apache.org/connectors-doc/reference/apache.html
section : Using SetHandler and Environment Variables
This method replaces the JkMount/JkUnMount, and fits nicely in Apache httpd's <Location>

scheme, together with mod_rewrite, mod_proxy etc..



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message