Обслуживание нескольких проектов Django с разными virtualenv на одном IP (Apache) - PullRequest
0 голосов
/ 09 июня 2018

Я пытаюсь обслуживать два проекта Django на разных virtualenv с одного IP-адреса на Apache.

Мой первый сайт находится на http://myip/site-1, а второй: http://myip/site-2

Когда я запускаю http://myip/site-1, Apache обслуживает его без проблем, но когда я запускаю второй (http://myip/site-2), он вызывает следующее:

The requested URL /site-2/ was not found on this server.

Поскольку он ищет вкорень документа первого сайта.

Вот мой apache.conf

<VirtualHost *:80>
  ServerName site-1.example.com
  DocumentRoot /home/venv/site-1

 # adjust the following line to match your Python path 
 WSGIDaemonProcess site-1.example.com processes=2 threads=15 display-name=%{GROUP} python-home=/home/venv/lib/python2.7
 WSGIProcessGroup site-1.example.com
 WSGIScriptAlias / /home/venv/site-1/site-1/wsgi.py

 <directory /home/venv/site-1>
   AllowOverride all
   Require all granted
   Options FollowSymlinks
 </directory>

 Alias /static/ /home/venv/site-1/static_root/

 <Directory /home/venv/site-1/static_root>
   AllowOverride all
   Require all granted
   Options FollowSymlinks
 </Directory>

</VirtualHost>

<VirtualHost *:80>
  ServerName site-2.example.com
  DocumentRoot /home/venv_mob/site-2

  # adjust the following line to match your Python path 
  WSGIDaemonProcess site-2.example.com processes=2 threads=15 display-name=%{GROUP} python-home=/home/venv_mob/lib/python2.7
  WSGIProcessGroup site-2.example.com
  WSGIScriptAlias / /home/venv_mob/site-2/site-2/wsgi.py

<directory /home/venv_mob/site-2>
   AllowOverride all
   Require all granted
   Options FollowSymlinks
 </directory>

 Alias /static/ /home/venv_mob/site-2/static_root/

<Directory /home/venv_mob/site-2/static_root>
  AllowOverride all
  Require all granted
  Options FollowSymlinks
 </Directory>

</VirtualHost>

Я пробовал много решений, которые я нашел в Интернете, но проблема остается той же.

Есть идеи?

1 Ответ

0 голосов
/ 09 июня 2018

Вы должны подключиться к http://site-1.example.com (используя термины из вашего примера), а не http://myip/site-1http://site-2.example.com, а не http://myip/site-2.

Вообще говоря, вы можете иметь виртуальные хосты на основе имен , для которых вам нужно настроить DNS (сопоставление site-1.example.com и site-2.example.com с вашимIP-адрес) или вы можете запускать разные сайты на разных портах .

...