我有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。