指南:本文的首席执行官注释将介绍使用哪种Django部署的相关内容。我希望这对每个人都会有所帮助。让我们来看看。
部署一种容器化方法以在容器中运行。
首先,创建Dockerfile:
然后,输入dockerfile文件目录,执行命令以构建镜像映像,镜像名称为myproject:v1:docker build -t myproject:v1。
施工完成后,您可以看到我们刚刚创建的图像:
最后,启动容器:Docker Run -D -P 9999:8000 -V/home/myproject/:/myproject/ - 名称myProject1 myproject:v1
如果您开发在Windows上开发的Django项目,则需要将其分为三个步骤。
步骤1:在Linux下下载Python的依赖项软件包,并构建Python环境。副本在Windows到Linux下的项目,并从Django开始,并从您自己的服务开始。
步骤2:下载UWSGI模块并编写配置文件以替换Django随附的服务模块。
步骤3:下载nginx软件包并编译并安装。然后创建一个配置文件来配置nginx启动django项目的信息。然后访问它。
如何使用apache和mod_wsgi部署django?
使用Apache和MOD_WSGI的Django项目的部署是第三方。该测试方法用于获得Django生产环境。
mod_wsgi是一个可以托管任何Python WSGI应用程序的Apache模块,包括Django.django将使用任何版本的MOD_WSGI版本。
官方的mod_wsgi文档很棒!它是有关如何使用mod_wsgi的详细信息来源。您可能需要从安装和配置文档开始。
基本配置b
安装并激活mod_wsgi并进行编辑Apache服务器的HTTPD.Conf文件并添加以下内容。如果您的Apache版本低于2.4,请替换允许的允许允许的允许并添加订单拒绝,请允许。
wsgiscriptalias // path/to/mysite.com/mysite/wsgi.py.py
wsgipythonpath/path/to/mysite.com
目录/path/to/mysite.com/mysite
文件wsgi.py
要求所有授予
/文件
/目录
WSGIScriptAlias行中的第一个位是您要(/指示root URL)的服务应用程序的基本URL路径。第二个位置是“ WSGI文件” - 在您的项目软件包下方请参见(此示例中的mySite)。该文件告诉Apache的WSGI应用程序中定义的WSGI应用程序以提供以下给定URL的任何请求。
WSGIPHONPANPATH线路可确保您的项目包可在Python Path上导入;换句话说,ImportMysite起作用。
目录作品仅确保Apache可以访问您的wsgi.py文件。
接下来,我们需要确保存在此WSGI.PY和WSGI应用程序。从Django版本1.4,StartProject将为您创建一个;否则,您需要创建它。请参阅WSGI概述文档,以获取您应该放入此文件中的默认内容,以及您可以添加的其他内容。
警告
如果多个Django站点在单个MOD_WSGI进程中运行,所有这些站点都将使用第一个运行设置,可以更改:
os.environ.setDefault(“ django_settings_module”,“ {{project_name}。设置”)
在wsgi.py中:
os.environ [“ django_settings_module”] =“ {project_name}。设置”
或使用使用MOD_WSGI守护程序模式来确保每个站点在自己的监护过程中运行。
使用虚拟机?
使用Windows。如果目录路径的任何部分包含空格字符,则必须引用WSGipyThonPath的完整参数字符串:
wsgipythonpath/path/to/mysite.com:path/to/your/ven/lib/python3.x/site-packages
确保为Virtualenv指定正确的路径,然后将正确的Python版本替换为Python3.x.python3.4)。
使用mod_wsgi监护过程模式?
“守护程序模式”是一种推荐模式,该模式运行mon_wsgi(在非Windows Platform上)。如果需要由WSGIPROCESSGROUP GROCESSGROUP指令实现,则需要在Guard Process组中实现Django实例。如果使用防御程序模式,上述配置所需的进一步更改是您不能使用wsgipythonpath;但是应使用WSGIDAEMONPROCESS的Python-Path选项。
wsgidaemonprocess example.com python-path =/path/to/mysite.com:/path/to/venv/lib/python2.7/site-packages
wsgiprocessgroup example.com
如果要在sub -directory中设置项目(在此示例中),则可以在上面的配置中添加wsgiscriptalias:
wsgiscriptalias/mysite/path/to/mysite.com/mysite/wsgi.py process group = example.com
有关设置守护程序模式的详细信息,请参见Office Mod_wsgi文档。
服务文件
Django不提供文件本身;它将作业留给了您选择的任何Web服务器。
我们建议使用单独的Web服务器(即不运行Django的服务器)提供媒体。这里有一些不错的选择:
nginx
Apache的简化版本
但是,如果您不能选择与Django相同的Apache VirtualHost上提供媒体文件,则可以将Apache设置为某些URL的静态媒体,并为Django的MOD_WSGI接口设置其他URL。
alias/robots.txt/path/to/mysite.com/stative/robots.txt
alias/favicon.ico/path/to/mysite.com/stative/favicon.ico
别名/媒体// path/to/mysite.com/媒体/
别名/static // path/to/mysite.com/stative/
目录/path/to/mysite.com/stative
要求所有授予
/目录
目录/path/to/mysite.com/media
要求所有授予
/目录
wsgiscriptalias // path/to/mysite.com/mysite/wsgi.py.py
目录/path/to/mysite.com/mysite
文件wsgi.py
要求所有授予
/文件
/目录
如果您使用的是2.4岁以上的Apache版本,则替换需要全部授予所有授予,并添加了围绕它的Line Orderdeny。
服务管理文件S
当django.contrib.staticfiles位于installed_apps中时,django开发服务器将自动提供管理应用程序的静态文件(以及任何其他已安装的应用程序)。但是,当您使用任何其他服务器布局时,情况并非如此。用于设置Apache或您用于提供管理文件的任何Web服务器。
该管理文件位于Django发布的Django/conv/admin/station/admin中。
static_url的static_root),但这里还有其他三种方法:
创建一个符号链接来管理文档根目录中的静态文件(这可能需要Apache配置中的+Clastsymlinks)。
使用上面显示的别名指令,适当的URL(可能static_url + admin/)别名与管理文件的实际位置。
复制管理员的静态文件,使其存在于Apache文档的根目录中。
从Apache?授权Django的用户数据库
Django提供了一个处理程序,该程序允许Apache直接验证Django身份验证的后端。请参阅MOD_WSGI身份验证文档。
如果您获得了aicodeencodeer?
如果您使用Django的国际功能(请参阅国际化和本地化),并且打算允许用户上传文件,则必须确保将Apache的环境配置配置为接受非ASCII文件名。如果环境未配置,则正确地,当调用类似于OS.Path的函数时,将触发UnicenCodeError异常,其中包含非ASCII字符。
为了避免这些问题,用于启动Apache的环境应包括类似于以下情况的设置:
导出lang ='en_us.utf-8'
导出lc_all ='en_us.utf-8'
请检查操作系统的文档以获取适当的语法和位置以放置这些配置项目;/etc/apache2/envvars是UNIX平台上的一个常见位置。将这些语句添加到环境中并重新启动Apache。
目录
如何使用django和apache和mod_wsgi
基本配置
使用Virtualenv
使用mod_wsgi监护程序模式
提供文档
提供管理文件
来自Apache的Django用户数据库的身份验证
如果您得到UnicencodeError
浏览
上一:如何使用WSGI部署
下一步:Apache的Django用户数据库的身份验证
你在这里:
Django 1.8.2.dev20150513143415文档
部署Django
如何使用django和apache和mod_wsgi
如何使用WSGI进行部署
“操作指南”
这一页
显示源
快速搜索
输入搜索字或模块,类或功能名称。
最新更新:
2015年5月13日
环境:
Python3.6
Centos 7
django1.11
用Django编写一个小网站,只能在您自己的位置运行!该怎么办?我听说它可以在云服务器上部署,以便其他人可以访问它!
它从哪里开始?从django!旧规则开始,请按照以下步骤操作:
请勿在此处谈论Django项目的实施。假设您已经写了一个Django项目,并且可以以127.0.0.0.1:8000局部奔跑,请给您参考,该项目可能会像这样增长:
也就是说,项目目录中的settings.py文件主要强调几个地方:
①关闭调试模式:
②修改允许的host:
③配置静态文件存储路径:
修改配置后,执行:
关于这一点,无话可说。
最好在安装UWSGI和验证方法后进行验证:
创建一个test.py文件:
启动UWSGI服务器:
如果您可以正常启动而无需报告,那应该没有问题。如果您不用担心,则可以在终端进行验证:
以下配置在uwsgi.ini中执行:
找到NGINX配置文件夹,CentOS7的NGINX配置文件在/etc/nginx下。此路径下有一个nginx.conf总配置文件,两个文件夹https://www.shouxicto.com/article/conf.d,https://wwwww.shouxicto.com/article/article/default.d,我们复制复制nginx.conf到conf.d文件夹,并将其命名为nginx.conf(或project name.conf),如下所示(根据中文注释相应的配置):
输入uwsgi.ini文件夹以执行:
在终端执行:
参考资料:
刘江的博客
博客花园
问答;
匿名博客
Django教程
Django文档
empty_xl博客
Django部署也非常方便。我使用了以下三种方法,这些方法适用于特定场景。
不要看不起Django自己的服务器。命令解决部署问题。尽管性能不高,但某些场景和此方法最合适。Runserver0.0.0.0:80可以打开LAN中的Django服务,这适用于不需要用户和性能要求的场景。
您可以使用apache+mod_wsgi或iis+wfastcgi部署。相比之下,IIS更方便,毕竟,Microsoft拥有自己的工具。
最广泛使用的是Nginx+UWSGI的部署方法。还有许多教程。此外,Docker的一个单击部署正在节省时间和精力。
在Linux系统上建议使用Django的部署建议。Linux服务器的发行版更容易启动,应该是Ubuntu。Aliyyun上的最新版本应为16.04,建议使用64位。
如果您是一个新网站,则没有太多访问权限,建议使用1个核心1内存或2G内存,而1-2M宽带就足够了。
部署,安装nginx:
APT安装nginx
我不知道您的Django项目是Python2还是Python3。如果您选择UWSGI部署方法,除了UWSIG需要安装Uwsgi-Plugin-Python或Uwsgi-Plugin-Python3333
其余文档的剩余UWSGI部署部分基本上还可以,因为完整的实现时间太长,并且有UWSGI配置文件。
结论:以上是首席CTO注释为每个人编写的Django部署的所有内容。感谢您阅读本网站的内容。我希望这对您有帮助。有关Django部署的更多相关内容,请不要忘记此网站上的信息。