首页 > 编程 > Python > 正文

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

2020-01-04 18:00:21
字体:
来源:转载
供稿:网友

这篇文章主要介绍了在主机商的共享服务器上部署Django站点的方法,Django是最具人气的Python框架,需要的朋友可以参考下

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

记录

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

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

 

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

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

 

 
  1. #!/usr/bin/python 
  2. import sys, os 
  3.  
  4. # Add a custom Python path. 
  5. sys.path.insert(0, "/home/user/python"
  6.  
  7. # Switch to the directory of your project. (Optional.) 
  8. # os.chdir("/home/user/myproject") 
  9.  
  10. # Set the DJANGO_SETTINGS_MODULE environment variable. 
  11. os.environ['DJANGO_SETTINGS_MODULE'] = "myproject.settings" 
  12.  
  13. from django.core.servers.fastcgi import runfastcgi 
  14. runfastcgi(method="threaded", daemonize="false"

重启新产生的进程服务器

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

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

 

 
  1. touch mysite.fcgi 
   

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表