鱼C论坛

 找回密码
 立即注册
查看: 2448|回复: 23

[已解决]django + nginx 部署问题

[复制链接]
发表于 2023-7-4 17:55:55 | 显示全部楼层 |阅读模式

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

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

x
服务器在 阿里云上;

通过 docker   + nginx 部署 django;

经验证,
1、 nginx 是成功 部署的;


2、 不用nginx ,   直接 通过 pythan mange.py runserver 0.0.0.0:80   是能访问 django


启动nginx后 再访问 就 访问 不了,  

nginx 配置 如下:
server{
        listen 80;
        server_name localhost;

        location / {
                proxy_pass http://127.0.0.1:8000;   
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
        }

}


django 启动还是用自带的wsgi  
pythan mange.py runserver  127.0.0.1:8000




   试过把 127.0.0.1 改成 0.0.0.0  也是不行;    都 是返回 404 。。   
求高手指点一二。。
最佳答案
2023-7-4 18:50:21
server_name错了,改成你的公网访问的主机地址

在Nginx中,server_name 指令用于定义服务器的名称,它决定了哪些请求会被当前的server块处理

nginx看到请求头的host跟这个server块的server_name不一样,这个请求就不会被这个server块处理

在nginx中一个server就是 端口 和 server_name 的组合
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-4 17:56:08 | 显示全部楼层
你好,我是ChatGPT7。您的问询次数已超限。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 17:56:11 | 显示全部楼层
根据你的描述,你在使用Django和Nginx进行部署时遇到了问题,经过验证,Nginx可以成功部署,但是通过访问Django时出现了404错误。你提供的Nginx配置看起来没有明显的问题,因此我会给出几个可能的解决方案:

1. 检查Django项目的配置:确保Django项目的settings.py文件中已正确设置ALLOWED_HOSTS参数,包括服务器的IP地址或域名。

2. 检查Django项目是否在正确的端口上运行:请确认Django项目确实在127.0.0.1:8000上运行,这可以通过在终端运行python manage.py runserver 127.0.0.1:8000来启动Django项目。

3. 检查防火墙设置:如果服务器上启用了防火墙,请确保允许服务器端口80(HTTP)的流量通过。

4. 检查Nginx日志:查看Nginx的错误日志文件,通常位于/var/log/nginx/error.log,以获取更多关于404错误的详细信息。

5. 确认Nginx配置文件路径正确:确保你所编辑的Nginx配置文件在正确的位置,一般是/etc/nginx/conf.d//etc/nginx/sites-available/目录下。

这些是初步的排查方法,希望能解决你的问题。如果问题仍然存在,请提供更多相关信息,以便更全面地帮助你找到问题所在。

点评

我很赞同!: 0.0 不,我坚决不同意楼主的看法!: 0.0
我很赞同!: 0 不,我坚决不同意楼主的看法!: 0
  发表于 2023-7-4 17:57
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 17:56:18 | 显示全部楼层
根据你提供的信息,出现404错误可能是由于nginx无法正确代理到django应用程序。以下是一些可能的解决方案:

1. 检查django应用程序是否在端口8000上运行,并且可以通过 127.0.0.1:8000 访问。确保在运行 python manage.py runserver 命令时没有出现任何错误。

2. 检查nginx配置文件中的代理设置是否正确。确保 proxy_pass 指令中的URL与django应用程序运行的URL匹配。在你的情况下,应该是 http://127.0.0.1:8000 。

3. 检查nginx配置文件中的 server_name 指令。确保它与你访问服务器时使用的主机名匹配。如果你正在使用localhost或IP地址进行访问,则应该将其设置为 localhost 或服务器的IP地址。

4. 检查nginx日志文件以获取更多信息。默认情况下,nginx错误日志位于 /var/log/nginx/error.log 。查看日志文件以查找任何与代理相关的错误消息。

5. 确保防火墙或安全组设置允许通过80端口访问你的服务器。你可以尝试使用telnet命令测试端口的连通性,例如 telnet 你的服务器IP地址 80 。

希望这些解决方案能够帮助你找到问题所在。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助你解决。

点评

我很赞同!: 0.0 不,我坚决不同意楼主的看法!: 0.0
我很赞同!: 0 不,我坚决不同意楼主的看法!: 0
反对脚本,从我做起  发表于 2023-7-4 17:57
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 17:57:12 | 显示全部楼层
编程追风梦 发表于 2023-7-4 17:56
你好,我是ChatGPT7。您的问询次数已超限。

问题:32秒前。
你:19秒前。
陶远航:16秒前。
isdkz:9秒前。
isdkz:wtm
你的回答:胡说八道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-4 17:59:26 | 显示全部楼层
isdkz 发表于 2023-7-4 17:56
根据你提供的信息,出现404错误可能是由于nginx无法正确代理到django应用程序。以下是一些可能的解决方案: ...

现在论坛 搞GPT回答了么。。   
django 运行没问题的;

django 和 nginx都 是在同一个容器中;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 18:00:16 | 显示全部楼层
歌者文明清理员 发表于 2023-7-4 17:57
问题:32秒前。
你:19秒前。
陶远航:16秒前。

编程追风梦得罪陶远航被封杀了,我是被他们俩逼的迫不得已开启脚本
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 18:01:16 | 显示全部楼层
makliu 发表于 2023-7-4 17:59
现在论坛 搞GPT回答了么。。   
django 运行没问题的;

端口有映射出来吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 18:01:32 | 显示全部楼层
makliu 发表于 2023-7-4 17:59
现在论坛 搞GPT回答了么。。   
django 运行没问题的;

不是搞gpt回答,是他们开gpt脚本
(我发誓过不用gpt,没说不用脚本@isdkz 用脚本先占楼更快
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 18:02:07 | 显示全部楼层
陶远航 发表于 2023-7-4 17:56
根据你的描述,你在使用Django和Nginx进行部署时遇到了问题,经过验证,Nginx可以成功部署,但是通过访问Dj ...

笑死,你还给他整一个chatgpt7
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 18:03:15 | 显示全部楼层
isdkz 发表于 2023-7-4 18:02
笑死,你还给他整一个chatgpt7

哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 18:04:27 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 18:05:58 | 显示全部楼层
歌者文明清理员 发表于 2023-7-4 18:04
https://fishc.com.cn/thread-230053-1-1.html @陶远航

哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈笑死我了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 18:06:57 | 显示全部楼层
陶远航 发表于 2023-7-4 18:05
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈笑死我了

我还以为是你搞的呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 18:08:03 | 显示全部楼层
实在解决不了可以加我微信:isdkz_,远程给你解决,只求解决完能有一个最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 18:09:28 | 显示全部楼层
isdkz 发表于 2023-7-4 18:08
实在解决不了可以加我微信:isdkz_,远程给你解决,只求解决完能有一个最佳答案

我也要你微信
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-4 18:09:33 | 显示全部楼层
isdkz 发表于 2023-7-4 18:01
端口有映射出来吗?

映射出来的;     不启动nginx , 直接  用django 的wsgi  运行项目,  外网是能访问的;

主机 80      映射容器80 ;

不启动项目时, 直接访问 公网IP, 能显示 nginx 界面;
不启动nginx ,  通过 python manage.py runserver 0.0.0.0:80   外网也能访问 项目;

但是启动nginx后;   再运行  python manage.py runserver 8000 就返回 404  ;   

nginx 配置 如上面所示;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-4 18:12:09 | 显示全部楼层
makliu 发表于 2023-7-4 18:09
映射出来的;     不启动nginx , 直接  用django 的wsgi  运行项目,  外网是能访问的;

主机 80     ...

docker ps 的截图可以看看吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-4 18:15:07 | 显示全部楼层
本帖最后由 makliu 于 2023-7-4 18:23 编辑

1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-7-4 18:15:51 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 10:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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