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

作者:goldensun 时间:2021-03-20 22:41:34 

许多共享主机的服务提供商不允许运行你自己的服务进程,也不允许修改 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

标签:Django
0
投稿

猜你喜欢

  • 浅谈用户注册表单

    2008-11-13 12:27:00
  • 网页内容呈现建议十条

    2007-11-06 13:24:00
  • Pandas实现自定义Excel格式并导出多个sheet表

    2022-10-04 18:46:34
  • Python实现人脸识别的详细图文教程

    2022-12-28 04:45:53
  • Dreamweaver如何防止及消除垃圾代码的产生

    2007-11-13 17:15:00
  • python修改包导入时搜索路径的方法

    2023-05-12 07:40:23
  • IE6 升级要不要?

    2009-07-23 20:44:00
  • Python下opencv图像阈值处理的使用笔记

    2023-08-24 21:28:27
  • python画微信表情符的实例代码

    2022-01-09 07:06:40
  • 解决iframe的frameborder在chrome/ff/ie下的差异

    2023-08-09 00:23:24
  • Python类的用法实例浅析

    2023-07-31 11:17:18
  • XML简易教程之二

    2008-09-05 17:19:00
  • python数据结构算法分析

    2022-06-11 02:57:15
  • Windows下将Python文件打包成.EXE可执行文件的方法

    2021-08-04 02:47:59
  • phpstudy apache开启ssi使用详解

    2023-05-25 08:04:44
  • 利用 Monkey 命令操作屏幕快速滑动

    2021-03-06 11:37:50
  • Python自动化之数据驱动让你的脚本简洁10倍【推荐】

    2022-08-20 12:48:57
  • python学生管理系统的实现

    2021-08-30 09:08:25
  • 如何利用SysOjects来获知数据库的信息?

    2010-01-01 15:43:00
  • pytorch使用horovod多gpu训练的实现

    2022-01-07 16:01:18
  • asp之家 网络编程 m.aspxhome.com