17

我使用 django 并开发了一个运行良好的站点,并且它即将投入生产并在几周内准备好部署。

因此,在开始生产之前,我想与我的一些员工共享该站点,以检查其功能和其他内容。实际上,他们的系统与我的系统连接在 LAN 中。

所以我的系统 IP 地址类似于192.168.12.135,当我们运行 run django development server 它运行时,我的意思是使用系统 IP 地址 和正确localhost:8000的端口。8000192.168.12.135:8000

所以我已经将项目站点链接共享给他们192.168.12.135:8000,但是当他们尝试连接在 LAN 中的系统时,它无法访问并显示错误Server not found

我尝试了上述相同的方法,因为最近我使用了 pythonweb.py框架并开发了一个最小的站点,当我们运行服务器时,它默认运行为localhost:8080,当我从与我的局域网连接的其他系统访问此链接时192.168.12.135:8000,它的工作正常并且可以访问。

所以谁能告诉我

1. How to access the site on the systems that are connected in LAN before moving to production(in some real servers like apache, nginx etc.,).

2. Basically i am new to web developing and this is my first site developed in python, so
   i don't know more about servers and deploying a project. So can anyone please let me know   
   the detailed information about deploying django on different servers

(首先,我正在寻找解决方案1st problem(在投入生产之前在 LAN 中访问))

4

3 回答 3

37

如果你跑

python manage.py runserver 0.0.0.0:8000

您的开发服务器将在端口 8000 上可供 LAN 和 localhost 上的任何人使用(并且它不依赖于您的 IP 地址)

于 2013-03-18T09:11:34.357 回答
34

您需要明确告诉开发服务器在您的 IP 上运行,而不是localhost.

试试python manage.py runserver your_ip:port

尽管如果您通过 apache 或除开发服务器之外的任何其他网络服务器运行它,则可以访问它。

对于您的第一个问题,我建议您托管和使用本地 apache 服务器,而不是使用开发服务器。这样做,您可以预见在转向生产时将面临的问题。

第二,有大量可用资源配置 Django 与不同的服务器。向谷歌致敬。:)

于 2013-03-18T06:55:26.947 回答
2

在您的 settings.py 中将 ALLOWED_HOSTS 更改为

ALLOWED_HOSTS = ['*']

通过输入以下命令运行您的服务器

python manage.py runserver 0.0.0.0:8000

为了从另一台设备访问项目,请输入服务器的 IP 地址和端口号,在本例中为 8000。

于 2020-08-09T14:03:52.797 回答