我想找到一个类似于 Google App Engine 的适用于 PHP/MySQL/Postgres 网站/应用程序的服务。
我们托管两种不同类型的网站。
一)PHP / Mysql / Zend框架
<VirtualHost *:80>
DocumentRoot "/home/websites/website.com/public"
ServerName website.com
# This should be omitted in the production environment
SetEnv APPLICATION_ENV development
<Directory "/home/websites/website.com/public">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
</Directory>
</VirtualHost>
ii). Matrix CMS - PHP/Postgres + 大量 pear 类
<VirtualHost *:80>
ServerName server.example.com
DocumentRoot /home/websites/mysource_matrix/core/web
Options -Indexes FollowSymLinks
<Directory /home/websites/mysource_matrix>
Order deny,allow
Deny from all
</Directory>
<DirectoryMatch "^/home/websites/mysource_matrix/(core/(web|lib)|data/public|fudge)">
Order allow,deny
Allow from all
</DirectoryMatch>
<DirectoryMatch "^/home/websites/mysource_matrix/data/public/assets">
php_flag engine off
</DirectoryMatch>
<FilesMatch "\.inc$">
Order allow,deny
Deny from all
</FilesMatch>
<LocationMatch "/(CVS|\.FFV)/">
Order allow,deny
Deny from all
</LocationMatch>
Alias /__fudge /home/websites/mysource_matrix/fudge
Alias /__data /home/websites/mysource_matrix/data/public
Alias /__lib /home/websites/mysource_matrix/core/lib
Alias / /home/websites/mysource_matrix/core/web/index.php/
</VirtualHost>
我的主要要求是:
- 我不想担心/了解/关心服务器/基础设施
- 安全/最新的软件/操作系统
- 良好的监控
- 自动可扩展性
- 服务水平协议
对于这个问题太长,我深感抱歉。
简而言之,我想要做的是 i)。 创建 vhost,ii)。 创建 db iii)。 安装应用程序/站点 iv)。 放松。
谢谢。
编辑:
我包含了 Matrix vhost,因为这是唯一无法通过 .htaccess 文件真正完成的复杂操作。
答案1
您可以将 vhost 与 Python 结合使用(完整源代码在这里) 以及针对数据存储区和 MemCache 实体的不同命名空间。
application_default = webapp.WSGIApplication([('/', DefaultMainPage)],debug=False)
application_test = webapp.WSGIApplication([('/', TestMainPage)],debug=True)
def main():
import os
if os.environ['HTTP_HOST'].startswith('test.'):
run_wsgi_app(application_test)
else:
run_wsgi_app(application_default)