鱼C论坛

 找回密码
 立即注册
查看: 1088|回复: 4

django部署问题

[复制链接]
发表于 2024-1-3 13:04:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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


接口的用的 rest_framework  Response 返回相关数据;


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


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


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

这是为什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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_name  localhost;
        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;
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-3 14:55:39 | 显示全部楼层
使用域名的时候有一些请求失败了,你打开开发者工具看一下响应状态码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-14 15:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表