【问题标题】:move a django project from "http://ip_address/" to "http://api.domain/将 django 项目从“http://ip_address/”移动到“http://api.domain/”
【发布时间】:2017-06-25 06:27:47
【问题描述】:

我只使用 IP 地址进行开发,现在我几乎完成了,我会将整个项目移至“api.domain”。我在 settings.py ALLOWED_HOSTS = ['api.*domain*.com'] 中设置了这个,但我认为这还不够。 我得到404 not found,它来自 nginx。 我关注了这个tutorial。这是我第一次自己做这件事。所以,我不知道。

也许有人遇到过同样的问题或知道如何解决。

UWSGI 配置 (/etc/uwsgi/sites/apibackend.ini)

[uwsgi]

chdir = /home/chuckaguilar/apibackend/apibackend
home = /home/chuckaguilar/apibackend/apibackendenv
module = apibackend.wsgi:application

master = true
processes = 5

socket = /run/uwsgi/apibackend.sock
chown-socket = chuckaguilar:www-data
chmod-socket = 660
vacuum = true

UWSGI 配置 (/etc/uwsgi/sites/apibackend.ini)

[Unit]
Description=uWSGI Emperor service

[Service]
ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown chuckaguilar:www-data /ru$
ExecStart=/usr/local/bin/uwsgi --emperor /etc/uwsgi/sites
Restart=always
KillSignal=SIGQUIT
Type=notify
NotifyAccess=all

[Install]
WantedBy=multi-user.target

NGINX 配置(/etc/nginx/sites-available/apibackend)

server {
        listen 80;
        server_name *ip*;

        location = /favicon.ico { access_log off; log_not_found off; }
        location /static/ {
                root /home/chuckaguilar/apibackend/apibackend;
        }

        location / {
                include uwsgi_params;
                uwsgi_pass unix:/run/uwsgi/apibackend.sock;
        }
}

正如我所说,它可以正常工作,只是我希望在“www.domain.com”中有一个“普通”网站,在“api.domain.com”中有一个 app api "

当我 ping api.domain.com 时,它可以正常工作。

【问题讨论】:

  • 你能发布你的 NGINX 配置吗?
  • 你能发布更多信息吗,这是在同一台服务器上吗? api.domain.com dns 设置是否正确?你可以发布你的nginx配置文件吗?你正确设置了wsgi吗?
  • 我不知道什么是相关信息。我将发布 nginx 配置。我不知道我是否正确设置了 wsgi,我只是按照该教程进行操作,发现一切正常,当我进行更改时,它们是在 wsgi 重新启动后进行的。是的,是同一台服务器。只是我在没有域的情况下使用它,只是为了测试,现在我希望后端端点只是抛出“api.domain”可访问性。
  • 有规格。非常感谢!!

标签: python django nginx uwsgi digital-ocean


【解决方案1】:

我必须有这个 conf:

server {
        listen 80;
        server_name api.domain.com;

        location = /favicon.ico { access_log off; log_not_found off; }
        location /static/ {
                root /home/chuckaguilar/apibackend/apibackend;
        }

        location / {
                include uwsgi_params;
                uwsgi_pass unix:/run/uwsgi/apibackend.sock;
        }
}

然后在我的设置中:

ALLOWED_HOSTS = ['.domain.com', *ip*, '127.0.0.1']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-31
    • 2015-09-02
    • 2011-03-07
    • 2017-10-05
    • 2021-09-18
    • 2017-04-28
    • 2011-02-10
    • 1970-01-01
    相关资源
    最近更新 更多