简体   繁体   English

Django / nginx / uwsgi 502错误

[英]502 error with Django / nginx / uwsgi

I'm getting really stressed out because i'm trying to get this site running on my ubuntu server. 我真的感到压力很大,因为我试图在我的ubuntu服务器上运行此站点。 I'm just a front-ender trying to host things by myself. 我只是一个试图亲自主持事情的前锋。 I think i almost got it down. 我想我几乎把它记下来了。 But still getting 502 bad gateway error when visiting the domain. 但是在访问域时仍然出现502错误的网关错误。

This is my project tree: 这是我的项目树:

-- var
    -- www
        -- stacaravanverhuurgroesbeek
            |-- env/
            |-- logs/
                |-- access.log
                |-- error.log
                `-- uwsgi.log
            |-- conf/
            |   |-- stacaravanverhuurgroesbeek.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

My uwsgi ini file: /var/www/stacaravanverhuurgroesbeek/conf/uwsgi.ini : 我的uwsgi ini文件: /var/www/stacaravanverhuurgroesbeek/conf/uwsgi.ini

[uwsgi]
# variables
projectname = stacaravanverhuurgroesbeek
projectdomain = stacaravanverhuurgroesbeek.nl 
base = /var/www/stacaravanverhuurgroesbeek

# config
chdir = %(base)/public
home = %(base)/env
wsgi-file = %(base)/public/website/wsgi.py

master = True
processes = 5

socket = %(base)/conf/%(projectname).sock
vacuum = true
die-on-term = true

logto = %(base)/logs/uwsgi.log

My nginx config: /etc/nginx/sites-available/stacaravanverhuurgroesbeek : 我的Nginx配置: /etc/nginx/sites-available/stacaravanverhuurgroesbeek

server {
    listen 80;
    server_name stacaravanverhuurgroesbeek.nl www.stacaravanverhuurgroesbeek.nl;

    root /var/www/stacaravanverhuurgroesbeek/;
    access_log /var/www/stacaravanverhuurgroesbeek/logs/access.log;
    error_log /var/www/stacaravanverhuurgroesbeek/logs/error.log;

    location /static/ {
        root /var/www/stacaravanverhuurgroesbeek/public/static/;
    }

    location /media/ {
        root /var/www/stacaravanverhuurgroesbeek/public/media/;
    }

    location / {
        include         uwsgi_params;
        uwsgi_pass      unix:///var/www/stacaravanverhuurgroesbeek/conf/stacaravanverhuurgroesbeek.sock;
    }
}

I also symlinked this file to sites-enabled . 我还将此文件符号链接到sites-enabledsites-enabled

And my startup script: /etc/init/uwsgi.conf 还有我的启动脚本: /etc/init/uwsgi.conf

# Emperor uWSGI script

description "uWSGI Emperor"
start on runlevel [2345]
stop on runlevel [!2345]

setuid bastard
setgid bastard

exec uwsgi --master --emperor /etc/uwsgi/vassals

Also everytime I changed something I restarted both nginx and uwsgi, with no effect. 同样,每次我更改某些内容时,我都会重新启动nginx和uwsgi,但没有任何效果。

I really hope someone can see what the problem is in my setup. 我真的希望有人可以看到我的设置中存在的问题。

Perhaps you should set upstream in Nginx config since you're going to proxy all requests to uWSGI. 也许您应该在Nginx配置中设置上游,因为您将代理所有请求到uWSGI。 Eg: 例如:

upstream uwsgi_app {
    server unix:///path/to/your/mysite/mysite.sock; # взаимодействие  
}

server {
    ...
    location / {
        uwsgi_pass uwsgi_app;
        include uwsgi_params;
    }
    ...
}

If it won't work please provide uWSGI log also to make sure that reqquest actually reach uWSGI and no error occured. 如果不起作用,请同时提供uWSGI日志,以确保reqquest实际到达uWSGI且没有发生错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM