Written on 20 March 2015, 09:24am
Below is a simple ColdFusion application architecture using Apache as web server and Tomcat as JEE application server.
1. Request workflow
Apache: In the Apache configuration file we have a virtual host
<VirtualHost host1:80> with
Apache receives the request – example: http://184.108.40.206:80.
Hosts file: In
/etc/hosts the host
host1 is associated with the IP:
AJP module: If there is a non-CF request, Apache serves the request itself (ex. html, css, js, image). If there is a CFM request, the AJP module forwards it to Tomcat:
ProxyPassMatch ^/(.*\.(cf[cm]|cfml))$ ajp://host1:8080/$1 (Apache config file)
Tomcat has an AJP connector on that port:
<Connector port="8080" protocol="AJP/1.3"/>
and an engine to process the requests:
<Engine name="Catalina" defaultHost="host1"> <Host name="host1" appBase="webapps"> <Context path="" docBase="/var/www/theColdFusionApp/"/> </Host>
Both entries above are in the Tomcat server.xml config file.
Application folders: In
/var/www/theColdFusionApp we have both the CF files (WEB-INF and CFIDE folders) and the actual application folders. More details below.