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

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

相关推荐

  • 在Apache服务器上同时运行多个Django程序的方法

    在同一个 Apache 实例中运行多个 Django 程序是完全可能的. 当你是一个独立的 Web 开发人员并有多个不同的客户时,你可能会想这么做. 只要像下面这样使用 VirtualHost 你可以实现: NameVirtualHost * <VirtualHost *> ServerName www.example.com # ... SetEnv DJANGO_SETTINGS_MODULE mysite.settings </VirtualHost> <Virtual

  • 使用相同的Apache实例来运行Django和Media文件

    Django本身不用来服务media文件:应该把这项工作留给你选择的网络服务器. 我们推荐使用一个单独的网络服务器(即没有运行Django的一个)来服务media. 想了解更多信息,看下面的章节. 不过,如果你没有其他选择,所以只能在同Django一样的Apache VirtualHost 上服务media文件,这里你可以针对这个站点的特定部分关闭mod_python: <Location "/media/"> SetHandler None </Location&g

  • 在Django中同时使用多个配置文件的方法

    我们仅仅处理一个单一的设置文件 settings.py文件由django-admin.py startproject命令生成.但是当你准备要进行配置的时候,你将发现你需要多个配置文件以使你的开发环境和产品环境相独立. 比如,你可能不想每次在本地机器上测试代码改变的时候将DEBUG从False 改为True.Django通过使用多个配置文件而使得这种情况很容易得到避免. 如果你想把你的配置文件按照产品设置和开发设置组织起来,你可以通过下面三种方法的其中一种达到这个目的. 设置成两个全面的,彼此独立

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

    许多共享主机的服务提供商不允许运行你自己的服务进程,也不允许修改 httpd.conf 文件. 尽管如此,仍然有可能通过Web服务器产生的子进程来运行Django. 记录 如果你要使用服务器的子进程,你没有必要自己去启动FastCGI服务器. Apache会自动产生一些子进程,产生的数量按照需求和配置会有所不同. 在你的Web根目录下,将下面的内容增加到 .htaccess 文件中: AddHandler fastcgi-script .fcgi RewriteEngine On Rewrite

  • Apache上部署Django步骤详细介绍

    Apache上部署Django 目前,Apache和mod_python是在生产服务器上部署Django的最健壮搭配.mod_python 是一个在Apache中嵌入Python的Apache插件,它在服务器启动时将Python代码加载到内存中. Django 需要Apaceh 2.x 和mod_python 3.x支持. Apache的配置参见:http://www.djangoproject.com/r/apache/docs/  使用mod_python部署 1.为了配置基于 mod_py

  • 使用k8s部署Django项目的方法步骤

    接触了一下docker和k8s,感觉是非常不错的东西.能够方便的部署线上环境,而且还能够更好的利用机器的资源,感觉是以后的大趋势.最近刚好有一个基于django的项目,所以就把这个项目打包到docker里面,放到k8是里面运行,顺便学习下k8s和docker的使用. docker 为什么使用docker? 我觉得docker最大的好处是部署的时候比较方便,一个预先打包好的docker镜像,可以在任何安装有docker的机器上面直接运行,不用再安装其他任何的依赖环境.不管是在开发.测试.还是发布阶

  • 在MyEclipse上部署Tomcat服务器的方法

    在上篇文章中给大家介绍了在Windows下安装Tomcat服务器,这篇博客将介绍在MyEclipse上部署Tomcat服务器 第一步:启动MyEclipse 第二步:选项Window->Preferences->MyEclipse->Severs->Tomcat->Tomcat7.x完成前面的所有操作后会进入下图所示的界面 第三步:将Tomcat 7.x server选项改成Enable 第四步:Tomcat base directory中的路径设置成Tomcat服务器的安装

  • Docker 部署Django项目的方法示例

    使用docker部署django项目也很简单,挺不错,分享下 环境 默认你已安装好docker环境 django项目大概结构 (p3s) [root@opsweb]# tree opsweb opsweb ├── apps ├── logs ├── manage.py ├── media ├── opsweb ├── README.md ├── requirements.txt └── static 编写Dockerfile 这里指定 Python 版本为docker官方提供的 "0.0.0.0

  • 使用Docker-compose离线部署Django应用的方法

    我们所在的内网环境需要部署一个类似CMS的应用,就是一些表格的CRUD,数据导出,人员权限管理等功能.想到Django做这方面的工作挺擅长的,而且开发量不大,于是选择Django作为开发基础.开发功能比较简单,差不多就是使用xadmin等插件实现以上功能.但有一个问题我们是不好绕过去的,那就是部署到一个内网环境,在内网pip等工具是不能使用的,但好在内网有一个yum服务器可以使用,所以我们决定在内网服务器上安装Docker,然后把开发环境的容器复制到生产环境实现部署.以下是主要的步骤: 安装开发

  • Forever+nginx部署Node站点的方法示例

    最近入手了一款最便宜的腾讯云服务器,主要用来部署自己的个人博客以及学习一些liunx知识,从而全方面了解掌握web技术.强烈建议前端人员拥有一个属于自己的服务器.在写此文章之前,我的云服务器已经安装好Mysql以及node, nginx等.下面以部署node网站为例,讲解几个常见的场景 线程持久运行 一般来说,我们在window cmd上通过node index.js启动一个服务器,只要不关闭,就可以一直访问和调用接口.但是在linux上往往如果长时间不操作或者你要执行其他操作时候,你的node

  • Django框架安装方法图文详解

    本文实例讲述了Django框架安装方法.分享给大家供大家参考,具体如下: Window 下安装 Django 如果你还未安装Python环境需要先下载Python安装包. 1.Python 下载地址:https://www.python.org/downloads/ 2.Django 下载地址:https://www.djangoproject.com/download/ 注意:目前Django 1.6.x以上版本已经完全兼容Python 3.x. Python 安装(已安装的可跳过) 安装Py

  • 在Heroku云平台上部署Python的Django框架的教程

    Heroku是一个很棒的平台,它有很多的控件,并且搭建环境相对来说也比较容易.本指南中,我将一步一步指导你在Heroku平台上部署一个简单地Django应用 搭建开发环境 Heroku工具链 假设你已经在Heroku平台上注册了一个帐户,并且在里面创建了一款应用,为了一会儿通过CLI与Heroku交互,你需要安装Heroku工具链.在这篇指南中,我们用"Sample-Project"作为应用的名字. Git仓库 在部署你的应用到Heroku之前,你需要先将你的代码签入git仓库中.He

  • 在Python的Django框架上部署ORM库的教程

    Python ORM 概览 作为一个美妙的语言,Python 除了 SQLAlchemy外还有很多ORM库.在这篇文章里,我们将来看看几个流行的可选ORM库,以此更好地窥探到Python ORM 境况.通过写一段脚本来读写2个表 ,person 和 address 到一个简单的数据库,我们能更好地理解每个ORM库的优缺点. SQLObject SQLObject 是一个介于SQL数据库和Python之间映射对象的Python ORM.得益于其类似于Ruby on Rails的ActiveReco

随机推荐