godaddy dns + aliyun主机 – django应用程序,uwsgi,nginx – 显示“502坏门户”

我有godaddy域mydomain.me我把它指向我在阿里云ECS的IP

在我的diango设置中我有:

ALLOWED_HOSTS = [".mydomain.me","xxxx"] 

在/ etc / nginx / sites-avaiable / Django我有

 upstream django { server unix:/tmp/uwsgi.sock; } server { listen xxxx:80; server_name .mydomain.me; location /static/ { include uwsgi_params; alias /root/DjangoApps/mydomain_me/public; } location / { include uwsgi_params; uwsgi_pass django; } } 

**编辑:**为此,我制作了符号链接/ etc / nginx / sites-enabled / Django,并删除了默认的符号链接。

在uwsgi.ini我有

 [uwsgi] chdir = /root/DjangoApps/mydomain_me module = mydomain_me.wsgi:application processes = 1 threads = 1 stats = 127.0.0.1:9000 daemonize = /tmp/daemon_app pidfile = /tmp/uwsgi.pid chmod-socket = 777 master = True vaccum = True socket = /tmp/uwsgi.sock 

我用pycharm运行如下:

 ssh://root@xxxx:22/opt/miniconda3/envs/DjangoApps/bin/python3.6 -u /root/DjangoApps/mydomain_me/manage.py runserver 0.0.0.0:8080 ssh://root@xxxx:22:bash root@mydomain:~/DjangoApps/mydomain_me# . activate DjangoApps (DjangoApps) root@mydomain:~/DjangoApps/mydomain_me# uwsgi uwsgi.ini (DjangoApps) root@mydomain:~/DjangoApps/mydomain_me# service nginx restart 

还行吧:

 http://mydomain.me:8080 

有效!

恭喜你的第一个Django驱动的页面。

接下来,通过运行python manage.py startapp [app_label]来启动你的第一个应用程序。

你看到这条消息,因为你的Django设置文件中有DEBUG = True,并且你没有configuration任何URL。 开始工作!

但rhis不是:

 http://mydomain.me 

输出:

欢迎来到nginx!

为什么它不工作?

编辑

现在mydomain.me给出输出:

502错误的网关

nginx / 1.10.3(Ubuntu)

这是我的授权规则:

出站:

 Allow Custom TCP 8080/8080 and 80/80 and 22/22 and 3389/3389 Address Field Access 0.0.0.0/0 

入站:

 none 

我应该改变什么吗? 另外我的网站指向互联网IP地址,而不是弹性的。

编辑1 :cat /var/log/nginx/error.log给我输出:

 > 2017/08/13 03:00:34 [error] 19132#19132: *11 connect() to > unix:/tmp/uwsgi.sock failed (111: Connection refused) while connecting > to upstream, client: xxxx, server: mydomain.me, request: > "GET /favicon.ico HTTP/1.1", upstream: > "uwsgi://unix:/tmp/uwsgi.sock:", host: "mydomain.me", referrer: > "http://mydomain.me/" 

而文件/tmp/uwsgi.sock存在,但是当:

 cat /tmp/uwsgi.sock 

它说:

 > cat: /tmp/uwsgi.sock: No such device or address 

看起来像你的Nginxconfiguration没有链接/包含。 如果它位于名为sites-available的目录中,则需要从sites-enabled链接中进行符号链接。 编辑/etc/nginx/nginx.conf并检查它从哪个目录加载configuration文件。

符号链接名为default.conf的configuration示例:

 cd /etc/nginx/sites-enabled sudo ln -s ../sites-available/default.conf sudo service nginx restart 

所以之后

 cat /tmp/daemon_app 

问题在这里:

可能是另一个uWSGI实例在同一地址(127.0.0.1:9000)上运行。

解决scheme是使用端口9000来终止进程并再次运行uwsgi …

 sudo fuser -k 9000/tcp && uwsgi uwsgi.ini 

虽然,我不知道原因…任何提示都会很好。 我只是昨天打开这个服务器,除了我在networkingnoob。