我有一个django项目,想要使用gunicorn和nginx进行部署。
到目前为止一切正常,但是当我添加子域名时,静态文件不会被提供,而且我的页面看起来很糟糕!
如果我使用localhosts,一切都很完美!
这里我留下了我的nginx.conf:
server {
listen 80 default;
client_max_body_size 4G;
server_name mytest.dev;
keepalive_timeout 5;
# path for static files
root /Users/danielrodriguez/workspace/mtt/static;
location / {
# checks for static file, if not found proxy to app
try_files $uri @proxy_to_app;
}
location @proxy_to_app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://localhost:8000;
}
}
我的主持人文件中也有这个:
127.0.0.1 localhost
127.0.0.1 mytest.dev
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
当我输入“mydev.test”时,如何在浏览器中键入“localhost”时,如何使nginx正常工作?我想要做的就是使用apache中的虚拟主机之类的东西在同一物理服务器中为一堆站点提供服务。
PD:我也在使用OS Lion以防万一。
答案 0 :(得分:3)
您的root
设置似乎错误。
root /Users/danielrodriguez/workspace/mtt/static;
您应该检查所请求的css文件的URL。假设您有STATIC_URL = '/static/'
您可能希望浏览器加载/static/css/styles.css
或类似内容。
因此,文件./static/css/styles.css
应该在root
目录中找到。
然后右root
应为:
root /Users/danielrodriguez/workspace/mtt;
当然,对项目根目录进行root
设置真的不是一个好主意。因此,您可以为static
和media
创建符号链接,以在项目之外分隔dir。
希望有所帮助。