位置: 编程技术 - 正文

Linux下将Python的Django项目部署到Apache服务器(linux用python)

编辑:rootadmin

推荐整理分享Linux下将Python的Django项目部署到Apache服务器(linux用python),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux中python命令,linux pythonpath,linux pythonpath,linux python2,linux+python,linux python import,linux+python,linux pythonpath,内容如对您有帮助,希望把文章链接给更多的朋友!

这几天花了点时间,将把django开发好的web项目部署到Apache上,参考了官方的一些文档和互联网上的文档,还是花了比较多的时间,这里把配置的过程说一下。方便有需要的朋友,可以参考,少走弯路!1. django项目部署环境说明操作系统 : Red Hat Enterprise Linux Server release 5.3 (Tikanga) x_apache版本 : httpd-2.2.3-.el5mod_wsgi版本 : mod_wsgi-3.2-1.el5 fedora epel可以下载Django版本 : 1.2.3python 版本 : 2.5这里假定Django和Apache已经安装好,并且Django的项目已经开发好。以上软件包都是通过yum包安装,软件包都是系统标准目录结构! django开发好的项目目录是 /var/www/html/server,项目目录结构如下(标准django项目目录结构)

2. Apache和mod_wsgi配置修改wsgi配置(/etc/httpd/conf.d/wsgi.conf)

项目目录中的django.wsgi这个文件是需要新建的,后面会说到如何新建这个文件。apache使用的标准配置,Apache的DocumentRoot 指向的是 /var/www/html 目录3. 新建django.wsgi文件在项目目录/var/www/html/server下新建一个django.wsgi,文件内容如下:

 第三行 os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' ,这个settings就是指项目目录下的setting.py文件.第四行 os.environ['PYTHON_EGG_CACHE'] = '/tmp/.python-eggs' ,指定解压egg文件的cache目录,确保运行apache的用户,能够对此目录有读写权限.第五,六行 将当前目录自动加入到python的搜索路径,如果项目中有自己写的模块,方便使用和发布  最后,这个django.wsgi文件名可以随便取,例如test.wsgi、app.wsgi等等,但是一定要与/etc/httpd/conf.d/wsgi.conf配置文件中配置保持一致。如果您这里新建的文件名不是django.wsgi而是test.wsgi,那么/etc/httpd/conf.d/wsgi.conf中的配置就应该修改为

4. 修改django项目中的setting.py文件找到项目目录下的setting.py,对于这里就是/var/www/html/server/setting.py。找到其中的TEMPLATE_DIRS,修改为:

注意: 模板目录在这里一定要用绝对路劲,而不能用相对路径,当然也有方法动态设置模板路劲

PS:关于mod_wsgi目前mod_wsgi有两种工作模式:

第一种是嵌入模式,类似于mod_python,直接在apache进程中运行,这样的好处是不需要另外增加进程,但是坏处也很明显,所有内存都和apache共享,如果和mod_python一样造成内存漏洞的话,就会危害整个apache。而且如果apache是用worker mpm,mod_wsgi也就强制进入了线程模式,这样子对于非线程安全的程序来说就没法用了。

这种模式下需要在apache的vhost中如下设置:

即可生效,对于小型脚本的话,直接用这种模式即可。

第二种是后台模式,类似于FastCGI的后台,mod_wsgi会借apache的外壳,另外启动一个或多个进程,然后通过socket通信和apache的进程联系。

这种方式只要使用以下配置即可:

在这种模式下,我们可以通过调节processes和threads的值来设置三种MPM的模式:prefork', 'worker', 'winnt'。

Linux下将Python的Django项目部署到Apache服务器(linux用python)

winnt模式

此时processes=1,但是multiprocess为false

如果显式地指出processes为1那么:

worker模式

preforker模式

后台模式由于是与apache进程分离了,内存独立,而且可以独立重启,不会影响apache的进程,如果你有多个项目(django),可以选择建立多个后台或者共同使用一个后台。

比如在同一个VirtualHost里面,不同的path对应不同的django项目,可以同时使用一个Daemon:

这样子两个django都使用同一个WSGI后台。

也可以把不同的项目分开,分开使用不同的后台,这样开销比较大,但就不会耦合在一起了。

display-name是后台进程的名字,这样方便重启对应的进程,而不需要全部杀掉。

对于django 1.0以下的版本,由于官方认定不是线程安全的,所以建议使用多进程单线程模式

对于django 1.0以后,就可以放心的使用多进程多线程模式:

这样子性能会更好。

Linux系统上Nginx+Python的web.py与Django框架环境 1.编译nginx在网上买了一本《实战nginx-取代Apache的高性能服务器》,写的比较浅,主要是些配置方面的东西,不过却正是目前我所需要的。由于需要支持h

在Linux系统上通过uWSGI配置Nginx+Python环境的教程 1.安装ubuntu有uwsgi的ppa:add-apt-repositoryppa:stevecrozz/ppaapt-getupdateapt-getinstalluwsgi2.用uwsgi代替mod_wsgiNginx的整体配置这里不说了,假设已经明白Nginx的基本配置

Windows系统下使用flup搭建Nginx和Python环境的方法 首先确保你的电脑里已经安装了Python和Django,接下来我们还需要两个组件,nginx服务器和flup(Python的FastCGI组件)nginx下载地址:

标签: linux用python

本文链接地址:https://www.jiuchutong.com/biancheng/379961.html 转载请保留说明!

上一篇:在Linux系统上部署Apache+Python+Django+MySQL环境(在linux的主要组成部分中最基础的是哪一项?)

下一篇:Linux系统上Nginx+Python的web.py与Django框架环境(linux运行nginx)

  • 投资公司取得的投资收益属于销售额吗
  • 出口退税的条件有哪些
  • 印花税的处理
  • 一般纳税人缴税
  • 税收缴款书现在还有吗
  • 收到货款会计分录怎么做
  • 个体户定额征收标准
  • 出售技术所有权的会计分录
  • 电费为什么计入成本费用
  • 抵扣进项税怎么做凭证
  • 长期待摊费用的账务处理
  • 长期待摊一般摊几年
  • 增值税专用发票可以开电子发票吗
  • 从小规模纳税人购进产品进项税怎么计算
  • 下岗职工可以享受低保吗
  • 油费补贴是否计入个税
  • 公司美元账户收到美元要交税吗
  • 个税手续费返还比例
  • 白酒出口税收
  • 消费税的征收范围
  • 广告费准予扣除怎么算
  • 小微企业按季度报送财务报表
  • 餐费发票怎么开
  • 劳务公司差额征收税率是多少
  • 工程结算在资产负债表的哪个科目
  • 专用发票的开票人收款人复核人都要开齐吗
  • 资产账实不符说明
  • 固定资产报废鉴定意见
  • 用人单位逾期未缴纳社会保险费可能会使用的文书
  • macos monterey支持哪些显卡
  • 给员工支付的房租怎么算
  • 建筑业预缴企业所得税是分季预缴按年抵减吗
  • win10补丁kb5005543
  • wordpress使用
  • 税控机动车销售统一发票抵扣
  • 下一页分页符中间空白页
  • phpsql防注入代码
  • vue路由跳转的三种方法
  • 股东以原材料出资
  • html cssjs
  • php二分查找算法两种方法
  • okhttp源码
  • 什么是合伙企业?它的特点有哪些?
  • 金税盘证书已冻结怎么解决
  • python idle有什么用
  • 未分配利润做账
  • 国内旅客运输服务
  • 同一控制下企业合并发生的审计费用计入
  • 为什么开票需要提供开户许可证
  • 股权变更如何交税
  • 职工福利费涉及哪些科目
  • 缴纳残保金工资是实发工资还是应发工资
  • 残保金如何做账务处理
  • 视同销售是按成本价入账还是按计税价格入账,为什么?
  • 预计负债计提时调减还是调增
  • 收到公众号消息提醒
  • 公司支付宝账户提现需要手续费吗
  • 会计复式记账法题目
  • 无建账能力的纳税人是什么意思
  • MySQL timestamp的类型与时区实例详解
  • windowsxp关闭窗口操作方法有哪些
  • 如何用命令关机
  • windows2008r2驱动包
  • linux中df命令详解
  • 电脑无法使用qq
  • redhat6.9安装图解
  • linux 卸载 mysql
  • win10 edge浏览器怎样添加信任站点
  • linux基本环境怎么选
  • win8如何调屏幕亮度
  • Win10 Mobile RedStone预览版14267更新内容汇总(持续更新)
  • jqgrid动态生成表头
  • nodejs爬虫 与python爬虫
  • node. js教程
  • js模拟点击confirm
  • android Graphics(一):概述及基本几何图形绘制
  • 基于javascript的毕业设计选题
  • 定额发票查询app
  • 税务局赵昭
  • 广东政务平台网上办事大厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设