makliu 发表于 2024-1-3 13:04:25

django部署问题

用nginx部署了一个 restframework的项目,   项目并没有静态文件的;因此 nginx 并没有 静态文件的相关配置,


接口的用的 rest_frameworkResponse 返回相关数据;


部署成功后, 可以正常通过浏览器访问。


用IP 访问时,能正常返回 Response的 数据, 且 页面也是经过Response 美化后的页面


但用域名访问时, 它能返回 数据,可 页面却不是 Response 美化后的页面 。

这是为什么?

FishC 发表于 2024-1-3 13:04:42

这个问题可能和你的域名配置有关。当你使用IP地址访问时,服务器会直接返回Response美化后的页面。但是当你使用域名访问时,可能因为域名解析或者Nginx配置的问题,导致返回的页面不是经过Response美化的页面。

首先,你需要确保域名解析正确,将域名指向服务器的IP地址。

其次,你需要检查Nginx的配置文件,确保配置正确。你可以尝试在Nginx的配置文件中添加以下配置,启用nginx的反向代理功能:

server {
    listen 80;
    server_name your_domain.com;

    location / {
      proxy_pass http://localhost:8000;# 将请求转发给Django服务器
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
    }
}

其中,`your_domain.com`是你的域名,`http://localhost:8000`是你Django服务器运行的地址和端口。将上述配置添加到Nginx配置文件中后,记得重新加载Nginx配置文件。

希望这些信息能对你有所帮助!如果问题仍然存在,请提供更多的信息,以便我能更好地帮助你解决问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

makliu 发表于 2024-1-3 13:09:21

FishC 发表于 2024-1-3 13:04
这个问题可能和你的域名配置有关。当你使用IP地址访问时,服务器会直接返回Response美化后的页面。但是当你 ...

是的, nignx配置如下 upstream djanao_demo{
      server 127.0.0.1:8000;
    }

server {
      listen       80;
      # server_namelocalhost;
      server_name bt88.com.cn;      

      location / {      
                proxy_pass http://djanao_demo;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            }
      
         
      error_page   500 502 503 504/50x.html;
      location = /50x.html {
            root   html;
      }
}

FishC 发表于 2024-1-3 13:09:30

makliu 发表于 2024-01-03 13:09
是的, nignx配置如下upstream djanao_demo{
    ...

你的Nginx配置看起来没什么问题。根据你的配置,当访问 `bt88.com.cn` 时,Nginx会将请求转发给运行在 `127.0.0.1:8000` 上的Django服务器。但是,你遇到的问题可能和Django的ALLOWED_HOSTS设置有关。

在Django的settings.py文件中,你需要将ALLOWED_HOSTS设置为你的域名,以允许Django接受来自该域名的请求。尝试将 `ALLOWED_HOSTS` 加入你的Django项目的settings.py文件中,并设置为你的域名或者通配符:

ALLOWED_HOSTS = ['bt88.com.cn']# 或者 ALLOWED_HOSTS = ['*']

然后重新启动Django服务器,看看是否能够解决问题。如果还存在问题,请检查Django服务器的日志,查看是否有任何错误信息。

希望这些信息可以帮助你解决问题!如果问题仍然存在,请提供更多的信息,以便我能更好地帮助你。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

isdkz 发表于 2024-1-3 14:55:39

使用域名的时候有一些请求失败了,你打开开发者工具看一下响应状态码
页: [1]
查看完整版本: django部署问题