Django多域名配置之Django-hosts插件的使用
使用场景:
Django中有两个app,如果通过域名来访问,可以使用www.domain.com/a、www.domain.com/b来访问。这样就显得有点LowB了。如果我想通过a.domain.com、b.domain.com来访问两个app怎办?
请使用django-host来实现。
1、安装django-host 插件
pip install django-host
2、修改django配置 settings.py
1.在 INSTALLED_APP 中注册 'django-host' 应用2.在 MIDDLEWARE 配置项的开始位置,添加 'django_hosts.middleware.HostsRequestMiddleware'3.在 MIDDLEWARE 配置项的结束位置,加'django_hosts.middleware.HostsRequestMiddleware'4.在 settings.py 文件同目录下创建 host.py 文件,添加如下内容: from django_hosts import patterns, host from django.conf import settingsfrom APP1 import views from APP2 import viewshost_patterns = patterns('',host(r'app1', 'APP1.urls', name='APP1'),host(r'app2', 'APP2.urls', name='APP2'), )5.修改 settings.py 文件,在 ROOT_URLCONF 配置项之后增加 ROOT_HOSTCONF = '项目目录名.host' #注意,不是app的名字6.修改 settings.py 文件,在ROOT_HOSTCONF 配置项之后增加 DEFAULT_HOST = 'app1' #设置一个默认的域名,在没有匹配到所请求的域名时,默认返回这个。7.在每个app下创建自己的urls.py
由于线上使用的Nginx+Uwsgi的环境,顺便贴一下Nginx和Uwsgi的配置
Nginx的配置如下:
a.domain.com配置
server {listen 80;server_name a.domain.com;location / {include uwsgi_params;uwsgi_pass 127.0.0.1:8000;uwsgi_param UWSGI_SCRIPT web.wsgi; }location /static {alias /data/local/app/app1/static;} error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}
b.domain.com配置
server {listen 80;server_name b.domain.com;#charset koi8-r; access_log logs/app2.access.log main;error_log logs/app2.error.log info;location / {include uwsgi_params;uwsgi_pass 127.0.0.1:8000;uwsgi_param UWSGI_SCRIPT web.wsgi;uwsgi_read_timeout 20;}#location /static {# alias /data/local/app/blog/web/WeChatAPI/static;#} }
Uwsgi的配置如下:
[uwsgi]socket = :8000 chdir = /data/local/app/ #module = web.wsgi:app1 wsgi-file = web/wsgi.py master = true processes = 1 pidfile = /tmp/web-master.pid daemonize = /var/log/uwsgi/app1.log
参考:http://blog.csdn.net/sinat_21302587/article/details/74017312
django-hsot github地址:https://github.com/jazzband/django-hosts
转载于:https://www.cnblogs.com/ahaii/p/8603489.html
Django多域名配置之Django-hosts插件的使用相关推荐
- 怎么检查python是否安装成功-检查python以及django是否安装配置成功
首先说明下,我使用pycharm作为开发的IDE,在第一次创建django项目的时候,会自动安装django包的.(网上也有很多单独安装的方法),环境变量配置成功后,就是用下面的方法检测安装成功与否. ...
- github—本地域名配置方式
ip查询 进入网址:https://ipaddress.com/website/github.com 查看github的ip地址 得到 140.82.113.4 GitHub.comip地址配置 域名 ...
- Django二级域名路由配置方案django-hosts
最终效果 http://www.mydomain.cn/api/ --> http://api.mydomain.cn/ http://www.mydomain.cn/blog/ --> ...
- VMware workstation虚拟机REHL8下配置安装Django 4.0.6 +uwsgi 2.0.20 +nginx1.22+Mariadb10.9.1
前言: 本文主要的目的是在REHL8的中搭建一个简易的 Django的web应用步骤记录,如果只是想学习Django使用的话,那么直接安装Django就可以了,它有自带的web服务可以直接测试使用.之 ...
- 阿里云服务器centos7配置Python Django项目
阿里云服务器centos7配置Python Django项目 2020-3-25更新更换服务器后还原系统+相应配置 2019-12-13更新 Nginx域名绑定 2019-12-12更新 静态文件加载 ...
- php django mysql配置文件_Mysql学习Django+mysql配置与简单操作数据库实例代码
<Mysql学习Django+mysql配置与简单操作数据库实例代码>要点: 本文介绍了Mysql学习Django+mysql配置与简单操作数据库实例代码,希望对您有用.如果有疑问,可以联 ...
- django配置在MySQL_怎么在Django中安装与配置mysql
怎么在Django中安装与配置mysql 发布时间:2021-02-26 17:42:11 来源:亿速云 阅读:57 作者:Leah 本篇文章为大家展示了怎么在Django中安装与配置mysql,内容 ...
- python django restful框架_python+django+rest框架配置创建方法
安装好所需要的插件和包: python.django.pip等版本如下: 采用Django REST框架3.0 1.在python文件夹下D:\python\Lib\site-packages\dja ...
- Django + Apache + wsgi配置和环境搭建(ubuntu)
上一篇写了Django + nginx + uwsgi配置和环境搭建(ubuntu) 由于公司服务器环境问题,又配置了apache的环境.记录例如以下: 一. 安装环境: #apache sudo a ...
最新文章
- tomcat外网映射工具
- WWDC2014:留给微软的时间不多了!
- 通过传入的栏目编号找出并返回当前栏目编号及其所有子栏目编号
- 在Windows下搭QT编程环境
- 如何在 ASP.NET Core 中为同一接口配置不同的实现
- 学习之路>>负载均衡
- JVM—类加载过程学习
- 学生信息管理系统问题集锦(二)
- Spring+springMvc+Mybatis
- 蓝桥杯 平方怪圈 JAVA
- c语言矩阵键盘反转法扫描,行列扫描法,反转法,状态机法三种矩阵键盘扫描方法详解 带程序...
- mysql 预处理stmt操作(写入数据库和从数据库中取出)
- Mac pro 安装ubuntu系统
- 【禁止套娃】用PPSSPP模拟PSP模拟Neogeo模拟SNK拳皇97
- 什么是生物质发电?生物质发电有哪些方法?
- 如何让自己的网站快速被百度收录(方法一)
- (wa待对拍)HDU - 2057 十六进制加法 难度:C++入门 复杂度:有点复杂 翻译难度:简单...
- CampusBulider(模模搭)学习笔记6:室内搭建
- obs 推流编码在哪设置_在OBS上进行H265推流
- Android UI 测试指南之 Espresso