在webfaction上运行django的工具集合更加无缝
django-webfaction的Python项目详细描述
Django网络阵营
在webfaction上运行django的工具集合更加无缝
安装:
- 使用pip或easy Install安装(pip Install django webfaction)
用法:
控制台实用程序
Django webfaction包含webfactionctl实用程序,可用于从命令行控制webfaction服务
您可以访问基本命令,如列出machines/apps/databases/ips/。把应用程序和数据库打包。 例如,要获取当前数据库的列表,只需运行:
webfactionctl list_dbs
您可以使用state命令获得当前RAM使用情况下的计算机、应用程序和进程的扩展信息:
$ webfactionctl state Query machines list... Query apps list... Query machine state detail: Web210 Web217 Web223 Web317 Web327 +-----------+------------------+--------+--------------------+-----------+---------------+-----+ | ram_usage | operating_system | name | location | app_count | process_count | id | +===========+==================+========+====================+===========+===============+=====+ | 209708 | Centos5-32bit | Web210 | Europe (Amsterdam) | 19 | 20 | 376 | +-----------+------------------+--------+--------------------+-----------+---------------+-----+ | 43112 | Centos5-32bit | Web217 | Europe (Amsterdam) | 2 | 7 | 386 | +-----------+------------------+--------+--------------------+-----------+---------------+-----+ | 175352 | Centos5-32bit | Web223 | Europe (Amsterdam) | 12 | 17 | 395 | +-----------+------------------+--------+--------------------+-----------+---------------+-----+ | 8220 | Centos6-64bit | Web317 | Europe (Amsterdam) | 6 | 7 | 445 | +-----------+------------------+--------+--------------------+-----------+---------------+-----+ | 66092 | Centos6-64bit | Web327 | Europe (Amsterdam) | 2 | 9 | 462 | +-----------+------------------+--------+--------------------+-----------+---------------+-----+
django部署向导
使用webfactionctl stup_django_project,您可以运行django部署向导:
- 通过为您的帐户全局安装pip、virtualenv、gunicorn、django webfaction来准备服务器。
- 为您的项目创建主应用程序
- 为您的主项目设置virtualenv
- 为项目准备gunicorn控制脚本
- 为您的项目创建静态应用程序
- 为项目准备本地设置
从本地发送邮件异步
当没有sendmail服务器时,webfaction部署失败 在本地主机上运行,在美国只有SMTP服务器。对于在欧洲运行的应用程序 从stmp.webfaction.com发送邮件或运行本地sendmail进程 需要1.2秒,这显然需要异步系统。
要使用非同步消息发送系统,只需将此行添加到django设置文件:
EMAIL_BACKEND = 'webfaction.backends.EmailBackend'
从django访问远程地址
当Django应用程序的Apache实例代理对Django的请求时, 未使用客户端的IP地址设置远程地址头。 将此webfaction.middleware.webfactionfixes添加到您的中间件类中 用正确的客户端IP替换远程地址
如果使用经典方法修改部署的设置,请放置:
try: from settings_local import * except ImportError: pass
在settings.py文件的末尾,您可以将此代码放入settings\u local:
MIDDLEWARE_CLASSES = ( 'webfaction.middleware.WebFactionFixes', ) + MIDDLEWARE_CLASSES