我正在为Django使用apache + mod_wsgi。 并且所有css / js / images都通过提供nginx。 出于某种奇怪的原因,当其他人/朋友/同事尝试访问该网站时,jquery / css不会为他们加载,因此页面看上去很混乱。
nginx
我的html文件使用这样的代码-
<link rel="stylesheet" type="text/css" href="http://x.x.x.x:8000/css/custom.css"/> <script type="text/javascript" src="http://1x.x.x.x:8000/js/custom.js"></script>
我的nginx配置sites-available是这样的
sites-available
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/; } }
有一个目录/opt/aa/webroot/static/,其中有相应的css&js目录。
/opt/aa/webroot/static/
css
js
奇怪的是,当我访问它们时页面显示正常。 我已经清除了我的缓存/等,但是该页面对我来说可以从各种浏览器加载正常。
另外,我在Nginx日志文件中看不到404任何错误。
server_name
link
scriptURL
listen 8000 default
我认为root在位置块中使用是不正确的。我使用alias它,即使没有重新配置django,它也能正常工作。
root
alias
# django settings.py MEDIA_URL = '/static/' # nginx server config server { ... location /static { autoindex on; alias /opt/aa/webroot/; } }
希望这会使事情变得简单。