NGINX和Apache端口80冲突

时间:2015-04-30 12:47:50

标签: django apache

我正在运行一个在apache上运行wordpress灌注的DigitalOcean droplet。我正在尝试启动并运行NGINX和Django系统,但它不允许我使用端口80,因为它已经在使用中。

继承我运行Django的命令:

gunicorn --env DJANGO_SETTINGS_MODULE=projectName.settings --settings projectName.settings -b domainName.co.uk projectName.wsgi

下面是我的文件内容:/etc/nginx/sites-available/projectName

server {
        server_name domainName.co.uk

        access_log off;

        location /static/ {
                alias /opt/projectName/static/;
        }

        location / {
                proxy_pass http://127.0.0.1:8001;
                proxy_set_header X-Forwarded-Host $server_name;
                proxy_set_header X-Real-IP $remote_addr;
                add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
        }
}

当我访问域名时,它只是向我显示默认Droplet的网站(WP滴注)。我猜测proxy_pass是数据应该去的地方,但事实并非如此。

请有人指出我正确的方向。三江源

修改

我最终走了Apache路线,现在我已经在我的/etc/apache2/sites-enabled/000-default.conf文件中找到了这个。 IP应该是127.0.0.1吗?

<VirtualHost *:*>
    ProxyPreserveHost On

    ProxyPass / http://127.0.0.1:8001/
    ProxyPassReverse / http://127.0.0.1:8001/

    ServerName domainName.co.uk
</VirtualHost>

1 个答案:

答案 0 :(得分:1)

尝试同时运行nginx和Apache都没有意义。

在这种情况下,所有nginx都在充当gunicorn的反向代理。由于您已经为Wordpress站点运行Apache,因此您应该将其配置为处理Django站点;使用mod_proxy使其作为像nginx这样的反向代理工作,或者(可能最好)直接通过mod_wsgi处理Django网站。