Django 开发:如何在同一服务中使用不同域名访问小程序和后台管理系统

2024-08-01
来源:网络整理

最近开发了一个小程序和一个后台管理系统,需要把这两个不同的项目部署到同一个服务中,然后使用不同的域名来访问不同的项目,默认只支持单服务访问,要实现不同域名,需要安装第三方扩展包:-.

本文采用简单的demo进行演示,阅读本文的前提条件是对项目环境有一定的了解,对项目环境有一定的理解。

1.搭建环境及项目:

我一般用它来管理包,所以本文也是用管理环境,当然如果你习惯使用管理环境也没问题,本文主要演示如何完整搭建单体服务实现多域访问,不涉及具体的业务流程。

由于生成项目需要先下载包,所以我们先创建一个基本的虚拟环境,然后在虚拟环境中通过特定的命令来生成项目文件。

1.环境搭建:

conda create --name applite_web

创建完虚拟环境之后,现在需要下载一些依赖包,这里只需要分别安装即可。

通过开发小程序及后台管理系统实现多域名访问

2.创建项目:

django-admin.py startproject applite_web

3. 创建应用程序

通过开发小程序及后台管理系统实现多域名访问

解释2点:

下面的截图是本文的Demo项目结构,当然这也是比较简单的项目结构,实际项目开发中还需要配置其他参数和文件。

通过开发小程序及后台管理系统实现多域名访问

2. 配置 -

创建好虚拟环境和项目后,接下来就是在中配置多个域名,为了方便,本文只演示了两个域名,多个域名的添加方式与两个域名相同。

1、首先在.py同级目录下添加一个.py文件,并进行如下配置:

通过开发小程序及后台管理系统实现多域名访问

2.然后在配置文件中添加3个配置:

将以下内容添加到

通过开发小程序及后台管理系统实现多域名访问

需要在第一行和最后一行添加2行配置

通过开发小程序及后台管理系统实现多域名访问

在下面一行添加以下两行参数配置

通过开发小程序及后台管理系统实现多域名访问

3.配置url并查看

完成上面两步之后,需要进入app文件夹,写入对应的URL和view,本文演示的是两个域名,考虑到单个项目一般有多个模块,还需要分别配置两个URL,具体配置如下:

1、在文件夹中创建urls.py文件,添加相应的URL,代码如下:

urls.py文件如下:

通过开发小程序及后台管理系统实现多域名访问

urls.py文件如下

通过开发小程序及后台管理系统实现多域名访问

2.然后在中添加相应的URL和函数

匹配成功后会直接跳转到urls,然后根据当前匹配情况跳转到当前函数

1)首先,匹配到的url的路由:

通过开发小程序及后台管理系统实现多域名访问

2)url匹配成功后,跳转到此处的视图函数,并返回响应

通过开发小程序及后台管理系统实现多域名访问

同样的,匹配成功后会直接跳转到urls中,然后根据当前的匹配情况跳转到当前函数

1)首先匹配到的url的路由如下:

通过开发小程序及后台管理系统实现多域名访问

2)url匹配成功后,跳转到此处的视图函数,并返回响应

通过开发小程序及后台管理系统实现多域名访问

4.域名绑定及测试

经过上面三步,一个基本的演示功能已经完成,本文的目的是实现单服务加载后,在一个服务中访问不同的域名,所以在配置uwgi和参数的时候,也需要绑定域名。

1、下面是同一个局域网内两台机器的用户访问:

访问机器IP:192.168.2.17,部署服务IP:192.168.2.200,实际生产中需要购买真实域名,这里作为演示,在本机绑定服务器IP即可访问另一台机器服务,具体修改如下:

访问开发程序网站需要小程序吗_小程序需要访问的网站开发_访问开发程序网站需要小窗口吗

通过开发小程序及后台管理系统实现多域名访问

2、绑定之后,把此项目放到192.168.2.200机器上,测试一下当前服务配置是否有问题。

项目位置路径为:/home/yxy///

进入app文件夹,使用以下命令运行项目:

python manage.py runserver 192.168.2.200:8000

在浏览器中输入::8000/app1/,如果浏览器显示如下结果,则表示项目配置与域名绑定成功。

通过开发小程序及后台管理系统实现多域名访问

5.参数配置及测试

前面步骤成功之后,接下来就是配置参数了。熟悉后端开发的朋友应该知道,开发时用来运行服务器的.py只适合开发时进行代码调试,自带的服务无法满足实际项目部署的需求。作为服务器,它不仅可以提供稳定的服务,还可以提供较大的并发量,所以在后端开发中使用较多。

1.在项目文件夹中创建一个文件夹,进入该文件夹并创建一个.ini文件,配置参数如下:

通过开发小程序及后台管理系统实现多域名访问

2.配置完成后,运行以下命令启动服务。

# 在项目路径下,启动服务命令如下: uwsgi --ini ./uwsgi/uwsgi.ini

启动完成后文件夹里会多出两个文件:.pid .sock

通过开发小程序及后台管理系统实现多域名访问

然后检查当前服务是否启动成功:

# 命令如下 ps -ef|grep uwsgi

当出现下图时,表示项目已经启动成功。

通过开发小程序及后台管理系统实现多域名访问

3.检查浏览器服务是否正常:

在浏览器中直接输入::8000/app1/,如果显示以下内容,则表示配置成功。

通过开发小程序及后台管理系统实现多域名访问

6.配置和测试

如果前面5步都没有问题的话,那么恭喜你,你只需要最后一步就可以完成本次demo的演示了。现在开始最后一步,配置参数。

1.首先安装,本文就不讲解安装,毕竟网上教程那么多,大家可以找一个好的教程照着做,小编会把它安装为默认路径,在:/usr//,输入这个文件,直接在命令行启动就可以了。

/usr/local/nginx/sbin/nginx

检查启动是否成功,命令如下:

ps -ef|grep nginx

出现下图,表示启动成功

通过开发小程序及后台管理系统实现多域名访问

在浏览器中输入:,出现如下内容,表示安装成功

通过开发小程序及后台管理系统实现多域名访问

2.检查配置没有问题之后,就要配置多域名了。

注释掉原有的配置

通过开发小程序及后台管理系统实现多域名访问

添加下面一行参数,主要是为了方便单独添加配置以及两个域名的文件

通过开发小程序及后台管理系统实现多域名访问

在/usr//conf/下新建文件夹,进入文件夹分别创建.conf、.conf文件,具体配置参数如下:

.conf配置如下:

通过开发小程序及后台管理系统实现多域名访问

.conf配置如下:

通过开发小程序及后台管理系统实现多域名访问

3、多域名的参数配置就完成了,不过此刻别忘了,作为负载均衡使用的时候,需要将.ini中的参数http改为如下:

通过开发小程序及后台管理系统实现多域名访问

4、到此本文的参数已经配置完毕,接下来我们需要自动重启,并查看启动效果如上图,说明启动成功,接下来就是浏览器检测多域名配置是否正确:

分别输入:,结果如下,说明多个域名配置成功。

通过开发小程序及后台管理系统实现多域名访问

通过开发小程序及后台管理系统实现多域名访问

至此,单个服务实现多域名访问的演示就完成了,当然本文只做了简单的demo版本,在实际的项目开发过程中,还是需要根据实际需求进行评估,决定是后台加载多个服务,还是加载单个服务映射多个域名。

分享