如何用django运行真实的服务器的网址

先说一下环境
centos6.8
python3.5.2
nginx 忘了

然后我一切都搭建到服务器上了
也python manage.py startapp apptest 创建了一个测试文件

coding:utf-8 (前面有一个# 这里有格式问题)

from django.http import HttpResponse

def index(request):

return HttpResponse(u"欢迎!")  

也顺利在www.xxxxxx.cn:8000/app 输出了欢迎 这是自己的真实网址

但是这是建立在运行了 python manage.py runserver 0.0.0.0:8000这条语句的基础上 才能访问网址

我第一次用Django 之前是写PHP的 不过有一些开源库只支持Python 所以现在碰到这个问题 求指教 谢谢

阅读 8.7k
4 个回答

PHP的确是只要类似LAMP环境搭建好,直接访问PHP文件就能启动网站。

但是PYTHON不同,标准启动方法的确就是你用的那个命令行,当然这个性能比较差,实际中会改用类似Gunicorn这样的服务器。不过原理一样,都是用命令行启动并在后台,然后访问链接来使用。

工作原理与PHP略有不同的。

一般在生产环境配置django,需要 apache 或者 nginx + wsgi + django 三者搭配使用。网页请求先到nginx,服务器处理之后(比如,静态文件等),然后请求再经过wsgi处理后, 再到django中url,找view,找tem等。
你需要知道怎么配置nginx, 搜一下资料一大把,在nginx config中配置自己买的域名和指向django项目地址,然后在django中的wsgi文件中也要指向nginx canfig。 不需要运行runserver

新手上路,请多包涵

你的意图是不是去掉8000端口号,直接使用80端口?好像在Linux上django没有权限开80端口,所以还是用Apache+mod_wsgi部署吧。一般80都是留给正真的web服务器(Apache或者Nginx)。这个是自强学堂的部署教程http://code.ziqiangxuetang.co...。django的命令,python manage.py runserver 0.0.0.0:80 在windows上是可以运行的。

你的项目部署在服务器上,需要启动一个http服务,才能让外部访问,至于这个http服务你怎么启动,有多种方式,比如apache,uwsgi,也可以运行python manage.py runserver 0.0.0.0:8000,之后别人就可以通过htttp://ip:8000,来访问你的项目

另外域名只是对ip地址的映射,相当于你访问http://www.xxx.com,真实访问的是htttp://ip

所以你问的问题,不明白你具体是想解决什么?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题