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

Как я могу запустить wordpress на поддомене на том же сервере, что и приложение Flask WSGI?

В течение последнего года у меня было приложение Flask / WSGI, которое отлично работало на хосте Apache. Httpd.conf настроен следующим образом:

ServerName myapp.com

WSGISocketPrefix /var/run/wsgi
WSGIScriptAlias / /var/www/myapp/myapp/myapp.wsgi
WSGIDaemonProcess myapp user=user group=user threads=5
<Directory /var/www/myapp/myapp>
    WSGIProcessGroup myapp
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>

RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^/?(.*)$ https://www.myapp.com/$1 [R=301,L]

Итак, вы идете в https://myapp.com или https://myapp.com/blah и он отлично работает.

Мой клиент теперь хочет создать блог Wordpress для сайта, который будет жить по адресу blog.myapp.com. Мой Apache слабый, поэтому я не знаю, как это сделать. Вот что я пробовал в httpd.conf:

WSGISocketPrefix /var/run/wsgi

NameVirtualHost *:80

<VirtualHost *:80>
   ServerName myapp.com

   WSGIScriptAlias / /var/www/myapp/myapp/myapp.wsgi
   WSGIDaemonProcess myapp user=user group=user threads=5
   <Directory /var/www/myapp/myapp>
       WSGIProcessGroup myapp
       WSGIApplicationGroup %{GLOBAL}
       Order deny,allow
       Allow from all
   </Directory>

   RewriteEngine on
   RewriteCond %{SERVER_PORT} 80
   RewriteRule ^/?(.*)$ https://www.myapp.com/$1 [R=301,L]
</VirtualHost>

<VirtualHost *:80>
   ServerName blog.myapp.com
   DocumentRoot "/var/www/html/wordpress"
</VirtualHost>

Служба HTTPD перезапускается без проблем, но когда я перехожу в http://myapp.com Я получаю тестовую страницу Apache. Можно ли делать то, что хочет мой клиент?

Мне удалось уговорить своего клиента изменить местоположение блога на:

myapp.com/blog

что значительно упростило решение, потребовав добавления только одной строки директивы alias:

ServerName myapp.com

Alias /blog /var/www/html/wordpress

WSGISocketPrefix /var/run/wsgi
WSGIScriptAlias / /var/www/myapp/myapp/myapp.wsgi
WSGIDaemonProcess myapp user=user group=user threads=5
<Directory /var/www/myapp/myapp>
    WSGIProcessGroup myapp
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>

RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^/?(.*)$ https://www.myapp.com/$1 [R=301,L]