1

現在、 cinepass.com.ecで動作しているDjangoサイトがあります。追加のPHPサイトをmobile.cinepass.com.ecの同じサーバーにデプロイしたいと思います。

私の現在のhttpd.confDjangoFooから):

<Directory "/home/ec2-user/cinepass/media">
   Order deny,allow
   Allow from all
</Directory>

<Directory "/home/ec2-user/cinepass/cinepass">
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>

Alias /media/ /home/ec2-user/cinepass/media/
ServerAdmin smansfield@palapa.com.ec
ErrorLog "logs/cinepass.com-error_log"
CustomLog "logs/cinepass.com-access_log" common

# mod_wsgi configuration is here
# we are running as user/group 'deamon', if you don't have those you need to change or create.
WSGIDaemonProcess cinepass python-path=/home/ec2-user/cinepass:/home/ec2-user/cinepass/venv/lib/python2.6/site-packages user=daemon group=daemon processes=2 threads=25
WSGIProcessGroup cinepass
# this is our WSGI file.
WSGIScriptAlias / /home/ec2-user/cinepass/cinepass/wsgi.py

私の現在のwsgi.py

import os, sys
sys.path.append('/home/')
sys.path.append('/home/ec2-user/cinepass/')

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cinepass.settings_production.py")
os.environ['PYTHON_EGG_CACHE'] = '/tmp'

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

mobile.cinepass.com.ecでphpサイトを実行できるように、Apache構成を編集するにはどうすればよいですか?

4

1 に答える 1

3

ここでは、 apacheのvirtualhostsを使用して、私のサーバーに似たような例を示します。ここでは、メインドメインにdjangpアプリがあり、サブドメインにjoomlaがあります。両方のファイルはにあります/etc/apache2/sites-enabled

Joomlaのapacheconfファイル(/etc/apache2/sites-enabled/manual.domain.comという名前):

NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin dsanabria@domain.com
    ServerName manual.domain.com

    DocumentRoot "/home/ubuntu/manual/"

    <Directory /home/ubuntu/manual/>
        Order deny,allow
        Allow from all
    </Directory>

    ErrorLog /var/log/apache2/manual.domain-error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel debug

    CustomLog /var/log/apache2/manual.domain-access.log combined

</VirtualHost>

そして、djangoアプリ(/etc/apache2/sites-enabled/www.domain.coという名前):

NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin diego@diegue.us
    ServerName domain.co
    ServerAlias machete.anotherdomain.com
    Alias /admin/media/ /home/ubuntu/webapps/machete/lib/python2.7/site-packages/grappelli/media/
    Alias /media/ /home/ubuntu/webapps/machete/machete/media/
    Alias /static/ /home/ubuntu/webapps/machete/machete/collected/

    <Directory /home/ubuntu/webapps/machete/lib/python2.7/site-packages/grappelli/media/>
        Order deny,allow
        Allow from all
    </Directory>

    <Directory /home/ubuntu/webapps/machete/lib/python2.7/site-packages/django/contrib/admin/media/ >
        Order deny,allow
        Allow from all
    </Directory>

    <Directory /home/ubuntu/webapps/machete/machete/media/>
        Order deny,allow
        Allow from all
    </Directory>

    <Directory /home/ubuntu/webapps/machete/machete/collected/>
        Order deny,allow
        Allow from all
    </Directory>

    WSGIScriptReloading On
    WSGIDaemonProcess machete python-path=/home/ubuntu/webapps/machete/lib/python2.7/site-packages
    WSGIProcessGroup machete
    WSGIApplicationGroup machete
    WSGIPassAuthorization On

    WSGIScriptAlias / /home/ubuntu/webapps/machete/machete/machete/wsgi.py
    ErrorLog /var/log/apache2/machete-error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel debug

    CustomLog /var/log/apache2/machete-access.log combined

</VirtualHost>

1つ目は、ユーザーがmanual.domain.comにアクセスした場合、phpアプリケーション(joomla)で応答することをApacheに通知します。2番目のファイルは、ユーザーがPython wsgy(django)を使用してwww.domain.com応答でサーバーを呼び出すとapacheに通知します。

これはubuntuサーバーにあり、redhat / centos /fedoraはフォルダーsites-enabledを私が覚えていない別の場所に配置しますが、とにかく仮想ホストを使用できます。

一般的に、私はhttpd.confファイルをいじるのを避け、virtualhostsを使用することを好みます。

于 2013-01-17T23:07:40.890 に答える