Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django+;nginx+;gunicorn-子域joy_Django_Nginx_Subdomain_Gunicorn - Fatal编程技术网

django+;nginx+;gunicorn-子域joy

django+;nginx+;gunicorn-子域joy,django,nginx,subdomain,gunicorn,Django,Nginx,Subdomain,Gunicorn,我正在尝试在centos6服务器上设置django上的nginx+gunicorn(防火墙关闭,selinux禁用)。该项目在服务器上本地工作(在127.0.0.1:8221上测试运行gunicorn),但不在整个网络上工作。该项目应可从子域project.mydomain.com 项目本身位于服务器centos6.mydomain.com上,dns服务器位于main.mydomain.com 我的ngnix conf用于项目: upstream project { server 127

我正在尝试在centos6服务器上设置django上的nginx+gunicorn(防火墙关闭,selinux禁用)。该项目在服务器上本地工作(在127.0.0.1:8221上测试运行gunicorn),但不在整个网络上工作。该项目应可从子域project.mydomain.com

项目本身位于服务器centos6.mydomain.com上,dns服务器位于main.mydomain.com

我的ngnix conf用于项目

upstream project {
    server 127.0.0.1:8221 fail_timeout=0;
}

server {
    listen 80;
    server_name project.mydomain.com;
    access_log /var/log/nginx/project.mydomain.com.log;
    error_log /var/log/nginx/project.mydomain.com.log;

    root /home/USER/djangosites/project;

    location / {
        proxy_set_header Host $host;
        if (!-f $request_filename){
            proxy_pass http://project;
            break;
        }

        }
    location /media  {
        alias /home/USER/djangosites/project/media;
        }
    location /static  {
        alias /home/USER/djangosites/project/static;
    }
}
centos6的nginx conf(工作)

gunicorn形态

import multiprocessing

bind = "127.0.0.1:8221"
logfile = "/home/USER/djangosites/project/gunicorn.log"
workers = multiprocessing.cpu_count() * 2 + 1
我给项目提供一个不同于centos6.mydomain.com的新ip(到外部)会更好吗?或者我可以在不同的本地端口上使用相同的ip

那么我应该如何在main.mydomain.com上配置hosts.db

centos6   A       xxx.xxx.xxx.220
project   A       xxx.xxx.xxx.221

我更倾向于提供一个新的ip,因为一切都在m0n0wall后面,所以一个新的ip可能更容易管理

所以基本上,我猜我的项目nginx配置是有缺陷的。我该怎么处理它呢?

好的。让它工作:) main.mydomain.com上的hosts.db

project   CNAME   centos6
gunicorn在127.0.0.1:8221运行
并如上所述编辑了nginx conf。

为什么不先将nginx指向一个带有index.html的空目录,然后看看它是否能满足这一要求,从而排除nginx呢。一旦你完成了这项工作,你就会知道这是一个gunicorn问题,之后就是一个应用程序问题。只要它是运行nginx的机器的IP,那么你将使用什么IP并不重要。你看到了什么错误?@pastylegs因为我可以在本地访问该站点(使用curl测试)“curl 127.0.0.1:8221”并且nginx可以在主静态站点上提供服务器(请参阅我的centos6 nginx conf),所以我仍然猜测nginx和gunicorn之间的某些东西会出问题。这排除了gunicorn无法在127.0.0.1:8221或其他任何地方运行我的应用程序的可能性。因此,应用程序运行正常,因此没有问题。关于错误。。。使用curl,我只得到“curl:(7)无法连接到主机”,只是编辑项目nginx conf,在3年后添加上游发布这个问题仍然非常有用。它引导我解决和你一样的问题。
centos6   A       xxx.xxx.xxx.220
project   A       xxx.xxx.xxx.220:8221
centos6   A       xxx.xxx.xxx.220
project   CNAME   centos6
project   CNAME   centos6