Django:runserver实现远程访问

Django自带的runserver实现远程访问
最近在Ubuntu服务器上创建了一个Django项目,想实现远程访问:
新创建一个名为my_site的Django项目,目录结构如下:

项目结构
…/my_site/
├── db.sqlite3
├── manage.py
└── my_site
├── init.py
├── pycache
│ ├── init.cpython-36.pyc
│ ├── settings.cpython-36.pyc
│ ├── urls.cpython-36.pyc
│ └── wsgi.cpython-36.pyc
├── settings.py
├── urls.py
└── wsgi.py

查看IP
首先得获取服务器公网IP,留着后面有用
比如本机的公网IP是:48.108.238.27; curl ifconfig.me查看
内网IP是:173.18.50.48 ; ifconfig查看

修改配置文件
如果是在另一台电脑上web访问要用 python manage.py ip:port (注意port不要冲突)的形式;
在项目中找到my_site(项目名称)目录下面的settings.py文件,在ALLOWED_HOSTS列表中添加以下内容

root@onefine:/home/admin/PythonProject/test/my_site# vim my_site/settings.py

省略…

ALLOWED_HOSTS = [‘48.108.238.27’,‘173.18.50.48’,‘localhost’,‘0.0.0.0:8000’,‘127.0.0.1’]
#省略…
1
2
3
4
这里的’48.108.238.27’是公网IP,‘173.18.50.48’是内网IP(这个可以不要)
保存之后退出,最好cat一下确认。
注意ALLOWED_HOSTS 列表也可以改为ALLOWED_HOSTS = [’*’]但是最好不要这样做。

启动测试
启动时使用python3 manage.py runserver 0.0.0.0:80监听所有IP,端口为80:

root@onefine:/home/admin/PythonProject/test/my_site# python3 manage.py runserver 0.0.0.0:80
Performing system checks…

System check identified no issues (0 silenced).

You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run ‘python manage.py migrate’ to apply them.

January 17, 2019 - 07:31:45
Django version 2.1.5, using settings ‘my_site.settings’
Starting development server at http://0.0.0.0:80/
Quit the server with CONTROL-C.

打开浏览器输入***公网IP(这里是48.108.238.27,80端***口可省略),或者输入IP所绑定的域名就可以看到下面的调试页面。

可以看到终端中有响应:


Not Found: /favicon.ico
[17/Jan/2019 07:38:12] “GET /favicon.ico HTTP/1.1” 404 1972
[17/Jan/2019 07:38:13] “GET / HTTP/1.1” 200 16348

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值