tags:

views:

519

answers:

2

I'm using apache+mod_wsgi for django.
And all css/js/images are served through nginx.
For some odd, reason when others/friends/colleagues try accessing the site, jquery/css is not getting loaded for them, hence the page looks jumbled up.

My html files use code like this -

<link rel="stylesheet" type="text/css" href="http://x.x.x.x:8000/css/custom.css"/&gt;
<script type="text/javascript" src="http://1x.x.x.x:8000/js/custom.js"&gt;&lt;/script&gt;

My nginx configuration in sites-available is like this -

    server {   
         listen   8000;   
         server_name  localhost;

         access_log  /var/log/nginx/aa8000.access.log;    
         error_log  /var/log/nginx/aa8000.error.log;    

           location / {   
               index  index.html index.htm;    
           }    

         location /static/ {    
            autoindex on;    
            root   /opt/aa/webroot/;    
         }    
     }   

There is a directory /opt/aa/webroot/static/ which have corresponding css & js directories.

The odd thing is that the pages show fine when I access them.
I have cleared my cache/etc, but the page loads fine for me, from various browsers.

Also, I don't see 404 any error in the nginx log files.

Any pointers would be great.

+1  A: 
  1. server_name must match hostname in link/script URLs. Either declare your configuration as default for this interface:port pair (listen 8000 default)
  2. Nginx must listen on the interface where your host's IP is bound (seems ok in your case)
Alexander Azarov
A: 

Fim & Alexander - Thanks for the hints those helped.
Here is how I solved it for anyone stuck in the same boat -

settings.py -

>MEDIA_ROOT = ''    
MEDIA_URL = 'http://x.x.x.x:8000/static/'    

In my html -

< script type="text/javascript" src="{{MEDIA_URL}}js/jquery-1.3.2.min.js" > < /script>

In my views.py -

return render_to_response('templates/login-register.html', {}, context_instance=RequestContext(request));    

nginx inside the sites-available config file -

listen x.x.x.x:8000;    
server_name x.x.x.x.;

Restarted nginx
Restarted apache

PlanetUnknown