当前位置: 首页 > 网络应用技术

如何将Django用作服务器(2023年的最新答案)

时间:2023-03-07 12:41:07 网络应用技术

  简介:今天,首席CTO Note将与您分享如何将Django用作服务器。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  通常,客户端(即您说的前段)和服务器(您将使用Django)通过HTTP协议(除非有特殊需求,否则您将使用其他或自定义的协议)。

  在客户端(PYQT)中,您可以安装请求库,该请求库可以帮助您将HTTP请求发送到服务器,

  在Django中,您可以使用Django Rest Framework Web链接来处理客户端的HTTP请求。

  几天前,老师要求我将Django Project(爬行动物网页)放在校园的内网上,但我想先用自己的服务器尝试一下。我刚刚在数字海洋上购买了一台服务器以运行SS脚本。通常,服务器始终没有用,因此请进行测试。

  第一步并没有太多胡说八道,将Django文件通过WINSCP软件传递给服务器。

  在服务器中安装Django所需的环境和我需要的第三方库。

  完成上述步骤完成后,有必要执行一个步骤操作,这是我体验的一个坑。在Django文件目录中打开settings.py,然后将允许的_hosts = []更改为werse_hosts = [**“*”]。

  打开“ anage.py位于服务器中”的目录,然后输入命令:

  python3 manage.py runserver 0.0.0.0:8000

  然后按Enter并输入浏览器:服务器IP地址:8000,伟大的成就!

  注意力:

  1. Python3不是特定的,它是根据您的Django项目所需的环境指定的。

  2. 8000是可以修改的端口号。

  如果您希望Django项目在关闭终端后运行和运行,则需要运行以下命令,NOHUP命令,命令casted Python3 Manage.py Runserver 0.0.0.0.0.0:8000。

  有很多方法可以实现缓存,本地内存缓存,数据库缓存和文件系统缓存。在这里是将REDIS数据库用于缓存的简介。

  环境

  Redis

  django-redis

  配置

  settings.py

  caches = {“ default”:{“ back”:“ django_redis.cache.cache.rediscache”,“ local”:“ redis://127.0.0.0.1:6379/1”,“ options”,“ options”:{“ client_classs”::“:”django_redis。“ client.defaultclient”,“密码”:“ mySecret”

  }

  }

  }

  python manage.py createCachetable1

  缓存具有站点缓存和单个视图缓存

  站点缓存:

  settings.py

  中间件= [#M M CACHE,请注意您必须处于第一个位置

  'django.middleware.cache.updatecachemiddleware',

  ...#... ... ...,请注意,您必须处于最后一个位置

  'django.middleware.cache.cache.fetchfromcachemiddle”,

  这是给予的

  查看缓存:

  Views.py

  要求):

  bar = foo.objects.all()返回渲染(请求,'cache/index.html',{'bar':bar':bar})

  使用mod_python部署

  1.为了基于mod_python配置django,首先

  apache。

  2.然后在Apache配置文件中应该有一个LoadModule指令。看起来像这样:

  loadModule python_module/usr/lib/apache2/modules/mod_python.so

  3.配置Apache将请求URL定位到Django应用程序:

  VirtualHost *:80

  服务器名称

  本地“/python1”

  Sethandler Python -Program

  pythonhandler django.core.handlers.modpython

  setEnv django_settings_module python1.settings

  Pythonautoreload Off

  pythondebug off

  pythonpath“ ['/var/www/html/python1'] + sys.path”

  Pythonininterpreter Python1

  /当地的

  本地“/python2”

  Sethandler Python -Program

  pythonhandler django.core.handlers.modpython

  setEnv django_settings_module python2.settings

  Pythonautoreload Off

  pythondebug off

  pythonpath“ ['/var/www/html/python2'] + sys.path”

  Pythonininterpreter Python2

  /当地的

  [......]

  /VirtualHost

  它告诉Apache, / python之后的任何URL都使用Django的mod_python对其进行处理。

  它传递了django_settings_module的值,以便mod_python知道此时应使用哪种配置。

  检查mod_python文档以获取详细的说明列表。

  4.重新启动apache并查看:“ target =“ _ blank”:

  /etc/init.d/apache2 restart

  使用mod_wsgi部署

  1.下载并安装mod_wsgi模块以生成mod_wsgi.so和wsgi.conf

  2.将模块加载到配置中:

  loadModule python_module/usr/lib/apache2/modules/mod_wsgi.so

  3.修改Apache配置文件httpd.conf

  VirtualHost *:80

  服务器名称

  document root/var/www/html/python

  wsgiscriptalias // var/www/html/python/apache/django.wsgi

  目录 /

  命令拒绝,允许

  从所有人那里允许

  /目录

  目录 /apache

  从所有人那里允许

  /目录

  /VirtualHost

  4.创建和配置WSGI配置文件:

  #文件名:python.apache.django.wsgi

  导入OS,系统

  #calculcul callcul the Lath基于WSGI脚本的位置。

  apache_configuration = os.path.dirname(__file__)

  project = os.path.dirname(apache_configuration)

  workspace = os.path.dirname(project)

  sys.path.append(工作区)

  os.environ ['django_settings_module'] ='python.settings'

  os.environ ['python_egg_cache'] ='/tmp'

  导入django.core.handlers.wsgi

  应用程序= django.core.handlers.wsgi.wsgihandler()

  打印sys.stderr,ss.path

  shellchmod a+x django.wsgi

  5.修改django项目配置文件设置.py:

  数据库= {

  '默认': {

  '引擎':'django.db.backends.mysql',

  “名字”:'Python',

  “用户”:“ admin”,

  '密码':'admin123',

  “主机”:'127.0.0.1',

  '端口':'3306',},}

  }

  template_dirs =((

  '/var/www/html/python/pyplates',,

  治愈

  6.重新启动Apache,访问

  /etc/init.d/apache2 restart

  安装PIP

  下载

  [播放]查看普通副本

  #WGET-NO-CHECK-CAMEICKATE

  解压缩并在减压后输入文件夹

  [播放]查看普通副本

  #TAR ZVXF 1.5.5.5.tar.gz

  #CD Pip-1.5.5/

  安装

  [播放]查看普通副本

  #python setup.py install

  第四,使用pip安装django

  [播放]查看普通副本

  #PIP安装Django

  结论:以上是首席CTO注释,这些注释是由如何使用Django用作服务器的相关内容编制的。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?