I have two applications, one is the www.myexample.com
, another is the blog.myexample.com
. I am using PHP and Apache.
Now, I want to let w
I will assume that you have your own reason for wanting the two sites (www
and blog
) to run on different ports - and in different processes. If this is not what you intended, e.g. you did not want to have two distinct processes, then having different ports may not be what you intended either: use VirtualHost
instead, to co-host the two domains within the same apache+php instance on port 80. Otherwise, read on.
Assuming that you have your two apache+php processes listening on localhost:82 and localhost:83 respectively, bring up a third, apache-only process to act as a reverse proxy. Have the reverse proxy apache instance listen for requests coming on port 80 from the internet, with two virtual host definitions. The first virtual host definition, www
, would forward requests to localhost:82, whereas the second virtual host definition, blog
, would forward requests to locahost:83, e.g.:
NameVirtualHost *:80
# www
ServerName www.myexample.com
ProxyPass / http://localhost:82/
ProxyPassReverse / http://localhost:82/
# blog
ServerName blog.myexample.com
ProxyPass / http://localhost:83/
ProxyPassReverse / http://localhost:83/