У меня есть блог на 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?
Однако я столкнулся с некоторыми проблемами при этом, и я не уверен, возможно ли это с моей настройкой. Хорошо, вот что я сделал, чтобы добиться того, что мне нужно:
/var/www/yak/public_html
так что в /var/www/yak/public_html
У меня такая структура:Затем добавил строку WSGIPythonPath /var/www/yak/public_html/testproject
к моему /etc/apache2/apache2.conf
файл
Вот мой код виртуального хоста:
<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, он используется для обслуживания вашего приложения.