Я хотел бы найти сервис, аналогичный Google App Engine для сайтов / приложений PHP / MySQL / Postgres.
Мы размещаем два разных типа сайтов.
я). PHP / Mysql / Zend Framework
<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). Матричная CMS - PHP / Postgres + множество классов груши
<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). создать виртуальный хост, ii). создать db iii). установить приложение / сайт iv). расслабиться.
Спасибо.
Редактировать:
Я включаю Matrix vhost, потому что это единственное осложнение, которое я не могу решить с помощью файла .htaccess.
Вы можете использовать vhost с Python (полный исходный код здесь) и различные пространства имен для объектов Datastore и 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)