在主机商的共享服务器上部署Django站点的方法


Posted in Python onJuly 22, 2015

许多共享主机的服务提供商不允许运行你自己的服务进程,也不允许修改 httpd.conf 文件。 尽管如此,仍然有可能通过Web服务器产生的子进程来运行Django。

记录

如果你要使用服务器的子进程,你没有必要自己去启动FastCGI服务器。 Apache会自动产生一些子进程,产生的数量按照需求和配置会有所不同。

在你的Web根目录下,将下面的内容增加到 .htaccess 文件中:

AddHandler fastcgi-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ mysite.fcgi/$1 [QSA,L]

接着,创建一个脚本,告知Apache如何运行你的FastCGI程序。 创建一个 mysite.fcgi 文件,并把它放在你的Web目录中,打开可执行权限。

#!/usr/bin/python
import sys, os

# Add a custom Python path.
sys.path.insert(0, "/home/user/python")

# Switch to the directory of your project. (Optional.)
# os.chdir("/home/user/myproject")

# Set the DJANGO_SETTINGS_MODULE environment variable.
os.environ['DJANGO_SETTINGS_MODULE'] = "myproject.settings"

from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")

重启新产生的进程服务器

如果你改变了站点上任何的python代码,你需要告知FastCGI。 但是,这不需要重启Apache,而只需要重新上传 mysite.fcgi 或者编辑改文件,使得修改时间发生了变化,它会自动帮你重启Django应用。 你可以重新上传mysite.fcgi或者编辑这个文件以改变该文件的时间戳。 当阿帕奇服务器发现文档被更新了,它将会为你重启你的Django应用。

如果你拥有Unix系统命令行的可执行权限,只需要简单地使用 touch 命令:

touch mysite.fcgi

Python 相关文章推荐
python调用cmd复制文件代码分享
Dec 27 Python
Python获取脚本所在目录的正确方法
Apr 15 Python
python实现的简单RPG游戏流程实例
Jun 28 Python
python批量下载网站马拉松照片的完整步骤
Dec 05 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
May 13 Python
Django CSRF跨站请求伪造防护过程解析
Jul 31 Python
使用虚拟环境打包python为exe 文件的方法
Aug 29 Python
python tkinter基本属性详解
Sep 16 Python
python多线程案例之多任务copy文件完整实例
Oct 29 Python
python序列类型种类详解
Feb 26 Python
opencv 查找连通区域 最大面积实例
Jun 04 Python
Python基于tkinter canvas实现图片裁剪功能
Nov 05 Python
在Lighttpd服务器中运行Django应用的方法
Jul 22 #Python
简单的Apache+FastCGI+Django配置指南
Jul 22 #Python
使用FastCGI部署Python的Django应用的教程
Jul 22 #Python
使用相同的Apache实例来运行Django和Media文件
Jul 22 #Python
在Apache服务器上同时运行多个Django程序的方法
Jul 22 #Python
通过mod_python配置运行在Apache上的Django框架
Jul 22 #Python
在Django中同时使用多个配置文件的方法
Jul 22 #Python
You might like
php 图片上添加透明度渐变的效果
2009/06/29 PHP
php中smarty实现多模版网站的方法
2015/06/11 PHP
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
jQuery 使用手册(五)
2009/09/23 Javascript
测试你的JS的掌握程度的代码
2009/12/09 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
jQuery使用$.get()方法从服务器文件载入数据实例
2015/03/25 Javascript
详解Bootstrap glyphicons字体图标
2016/01/04 Javascript
Javascript基础回顾之(一) 类型
2017/01/31 Javascript
js实现添加删除表格(两种方法)
2017/04/27 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
2018/02/06 Javascript
详解JavaScript中操作符和表达式
2018/09/12 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
2018/10/09 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
2018/12/03 Javascript
微信小程序如何利用getCurrentPages进行页面传值
2019/07/01 Javascript
微信小程序开发常见问题及解决方案
2019/07/11 Javascript
element中Steps步骤条和Tabs标签页关联的解决
2020/12/08 Javascript
python函数式编程学习之yield表达式形式详解
2018/03/25 Python
python实现贪吃蛇双人大战
2020/04/18 Python
python中pathlib模块的基本用法与总结
2020/08/17 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
一款纯css3实现的tab选项卡的实列教程
2014/12/11 HTML / CSS
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
h5封装下拉刷新
2020/08/25 HTML / CSS
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
俄罗斯在线购买飞机票、火车票、巴士票网站:Tutu.ru
2020/03/16 全球购物
全国道德模范事迹
2014/02/01 职场文书
创业计划书如何编写
2014/02/06 职场文书
城市规划应届生推荐信
2014/09/08 职场文书
2014年销售员工作总结
2014/12/01 职场文书
小班下学期个人总结
2015/02/12 职场文书
大学学生会竞选稿
2015/11/19 职场文书
利用Nginx代理如何解决前端跨域问题详析
2021/04/02 Servers
python绘制箱型图
2021/04/27 Python
欧元符号 €
2022/02/17 杂记