Назад | Перейти на главную страницу

Развертывание приложения Django как подстраницы Wordpress (по дополнительному URL-адресу), mod-wsgi

У меня есть блог на Wordpress, допустим, его адрес похож на yakblog.org и это блог Wordpress, установленный на сервере Ubuntu 12.04.

Теперь я хотел бы запустить приложение Django как одну из подстраниц моего блога, чтобы получить к нему доступ следующим образом: yakblog.org/testproject.

Вот ТОЧНАЯ ситуация: https://community.webfaction.com/questions/17758/wordpress-on-root-domain-django-in-subdirectory (хотя я не использую webfaction). Кроме того, я попробовал решение, приведенное здесь: https://stackoverflow.com/questions/26013379/run-django-project-inside-wordpress-on-suburl-of-wordpress-using-apache-and-mod, но затем у меня есть сообщение Wordpress: This is somewhat embarrassing, isn’t it?

Однако я столкнулся с некоторыми проблемами при этом, и я не уверен, возможно ли это с моей настройкой. Хорошо, вот что я сделал, чтобы добиться того, что мне нужно:

  1. Создал проект Django в /var/www/yak/public_htmlтак что в /var/www/yak/public_html У меня такая структура:

  1. Затем добавил строку WSGIPythonPath /var/www/yak/public_html/testproject к моему /etc/apache2/apache2.conf файл

  2. Вот мой код виртуального хоста:

    <VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName  yakblog.org/testproject 
        ServerAlias www.yakblog.org/testproject 
    
    #RedirectPermanent / http://yakblog.org/testproject
    
    WSGIScriptAlias /testproject /var/www/yak/public_html/testproject/testproject/wsgi.py
    
    DocumentRoot /var/www/yak/public_html/testproject/
    
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    
    <Directory /var/www/yak/public_html/testproject/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
    
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>
    
    ErrorLog /home/yak/logs/error.log
    
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    
    CustomLog /home/yak/logs/access.log combined
    
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
    
    </VirtualHost>
    

Проблема при входе http://yakblog.org/testproject Я не вижу свое приложение, а только список файлов в этом каталоге:

Проблема здесь

<Directory /var/www/yak/public_html/testproject/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>

Вы показываете содержимое папки, а не запускаете фактическое приложение.

Вы можете посмотреть документацию по настройке вашего сервера https://docs.djangoproject.com/es/1.9/howto/deployment/wsgi/modwsgi/

Что вам нужно сделать, так это установить mod_wsgi и добавить его в

<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

Если вы обслуживаете только wsgi.py и wsgi.py, он используется для обслуживания вашего приложения.