我用Ubuntu 14.04设置了我的digitalocean Droplet。 NGINX,uWSGI和我正试图运行的django应用程序。
有人可以帮帮我吗?我想我几乎可以找到关于这些工具组合的所有教程。并且无法找出我的配置有什么问题,已经尝试了很多东西。
这是我的项目文件结构:
-- var
-- www
-- myproject
|-- env/
|-- conf/
| |-- myproject.sock
| `-- uwsgi.ini
`-- public/
|-- manage.py
|-- media/
|-- project.db
|-- requirements.txt
|-- static/
`-- website/
|-- dev/
|-- gulp/
|-- gulpfile.js
|-- package.json
|-- settings.py
|-- static/
|-- templates/
|-- urls.py
`-- wsgi.py
我在virtualenv中安装了项目的env/
文件夹中的所有内容。
只需输入python manage.py runserver
即可投放django应用,我可以通过浏览我的网络服务器IP来查看它。
这些是我当前的配置文件:
的/ etc / nginx的/位点可用/ myproject的
server {
listen 80;
server_name myproject.nl www.myproject.nl;
root /var/www/myproject/public/;
access_log /var/www/myproject/logs/access.log;
error_log /var/www/myproject/logs/error.log;
location /static/ { # STATIC_URL
alias /var/www/myproject/public/static/; # STATIC_ROOT
expires 30d;
}
location /media/ { # MEDIA_URL
alias /var/www/myproject/public/media/; # MEDIA_ROOT
expires 30d;
}
location / {
include uwsgi_params;
uwsgi_pass unix:/var/www/myproject/conf/myproject.sock;
}
}
/var/www/project/conf/uwsgi.conf
[uwsgi]
# variables
projectname = myproject
projectdomain = myproject.nl
base = /var/www/myproject
# config
plugins = python
home = ../env
master = true
protocol = uwsgi
env = DJANGO_SETTINGS_MODULE=website.settings
pythonpath = %(base)/public
module = website.wsgi:application
wsgi-file = %(base)/public/website/wsgi.py
socket = %(projectname).sock
我尝试通过键入uwsgi --ini /var/www/myproject/conf/uwsgi.ini
来运行.ini文件,但它确实执行了,但似乎没有设置服务器。
浏览域名时,我会看到“欢迎来到nginx!”页面所以我认为它与uWSGi配置有关。
答案 0 :(得分:2)
我认为套接字文件的路径不正确。 但无论如何,'欢迎来到nginx!'意味着nginx甚至不会尝试向uwsgi传递任何东西。如果uwsgi被破坏,你会看到502。
我看到您的配置位于sites-available
。您是否将其符号链接到sites-enabled
?