Sunday, 25 August 2013

Domain Not Being Served by Nginx

Domain Not Being Served by Nginx

I have a 13.04 Ubuntu server with two associated ip addresses. Let's say
for example the IPs are 123.456.789.111 and 123.456.789.222 and the server
has two domains let's say example1.com and example2.com.
I currently have example2.com being served by Apache and I have
example1.com being served by Varnish > Nginx. Except example1.com is
actually being served by apache is though all the settings show it should
be being served by nginx.
In the DNS example1.com is pointed to 123.456.789.111 and example2.com is
pointed to 123.456.789.222.
In
/etc/apache2/ports.conf
I have it set to:
NameVirtualHost 123.456.789.222:80
Listen 80
So any domains pointed to that domain should get served by Apache which is
what happens.
In
/etc/default/varnish
I have it set to:
DAEMON_OPTS="-a 123.456.789.111:80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"
So any sites pointed to that domain should get picked up by Varnish.
Then in:
/etc/varnish/default.vcl
I have it set to:
backend default {
.host = "127.0.0.1";
.port = "8080";
}
Which forwards everything from varnish to nginx since in:
/etc/nginx/sites-available/example1.com
root /var/www/example1.com/public/
I have:
server {
listen 127.0.0.1:8080;
To note I also simlinked that domain to sites-enabled/example1.com as well.
So example1.com should be loaded by Varnish and then served by Nginx but
in reality it's loading content from:
/var/www/
Also if I do www.isvarnishworking.com with example1.com it says its not
loading through varnish. (and yes I'm using the actual domain name not
example1.com which I'm using for the purpose of this post).
Also I did restart for Varnish Nginx and Apache service and all of them
restart without any issues.
Also I disabled the default site in nginx:
sudo rm -v /etc/nginx/sites-enabled/default
Also in:
/etc/apache2/sites-enabled
example1.com does not exist (as it shouldn't since I don't want it loaded
by Apache).
I don't know what else to check. Does anyone have an ideas or commands to
run that may help me see what example1.com isn't being loaded by apache
and being passed to nginx?
** UPDATE **
If I stop nginx, apache2 and varnish and turn varnish and nginx on first,
then example1.com does load using varnish and nginx properly. However then
if I run:
sudo service varnish start
It says:
(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
I'm not sure why though because yes both apache and varnish are listening
on port 80 but they are listening for port 80 on different IP addresses.

No comments:

Post a Comment