在主机商的共享服务器上部署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
投稿

猜你喜欢

  • PHP 字符串 小常识

    2023-11-20 22:08:32
  • python模块简介之有序字典(OrderedDict)

    2023-12-14 07:46:46
  • Spring Security使用数据库登录认证授权

    2024-01-23 05:26:59
  • IE不支持overrideMimeType()方法,即使是IE7.

    2009-02-08 16:58:00
  • 小试Python中的pack()使用方法

    2021-02-03 06:00:43
  • vue-cli 环境变量 process.env的使用及说明

    2024-05-29 22:28:45
  • Python实现一键抠图的示例代码

    2022-01-31 10:15:49
  • Vuex 在Vue 组件中获得Vuex 状态state的方法

    2024-06-05 09:16:34
  • python3 使用openpyxl将mysql数据写入xlsx的操作

    2024-01-25 14:58:23
  • ubuntu kylin 14.10下多个mysql 5.7.14安装教程

    2024-01-24 12:50:13
  • asp如何准确获知对方来访问的时间和URL?

    2010-07-07 12:25:00
  • 如何使用Python基于接口编程的方法实现

    2023-12-24 20:15:41
  • 教你如何在SQL Server计算机列和平均值

    2009-01-20 15:10:00
  • iPhone应用设计趋势[译]

    2009-11-27 19:52:00
  • Python中创建二维数组

    2023-11-24 15:14:54
  • 关于Vue单页面骨架屏实践记录

    2024-05-09 15:14:23
  • ubuntu下mysql版本升级到5.7

    2024-01-13 11:10:00
  • Python深入学习之装饰器

    2021-09-25 15:00:38
  • java自定义动态链接数据库示例

    2024-01-27 13:05:29
  • 解决oracle用户连接失败的解决方法

    2011-01-04 19:35:00
  • asp之家 网络编程 m.aspxhome.com