Запуск 2 стека LAMP на одном экземпляре

У меня есть работающая установка apache и mysql с использованием стандартных портов, и мой файл хоста указывает на домены 127.0.0.1.

Я нахожусь в процессе переключения моего стека LAMP на Zend Server, но хочу, чтобы мои старые настройки работали одновременно.

Я попытался переключить старый порт apache на 8080, а другой порт для старого mysql. Кажется, это работает нормально (apache работает, mysql прослушивает новый порт, но я не пытался подключиться к базе данных).

Однако моя проблема в том, что я не могу сопоставить домены с 8080 на локальном хосте, потому что файл хоста не обрабатывает порты, только IP-адрес.

Я должен упомянуть, что я на машине с Windows.

Любые идеи, как мне решить эту проблему, чтобы я мог использовать файл hosts для сопоставления доменов с 2 различными стеками LAMP?

редактировать

Что касается файла hosts и виртуального хоста. Когда я захожу на localhost, я запускаю новый Zend apache, когда я захожу на localhost:8080 У меня есть старый корневой каталог apache. Это как и ожидалось.

Однако я не могу получить файл hosts и виртуальные хосты, работающие на:8080. В моем файле хоста у меня есть

127.0.0.1     example.dev:8080

и в моих виртуальных хостах (httpd-vhosts.conf на моем старом экземпляре apache, а не на моем экземпляре Zend) у меня есть

NameVirtualHost *:8080

<VirtualHost *:8080>
    DocumentRoot "C:/xampp/htdocs"
</VirtualHost>

<VirtualHost *:8080>
    DocumentRoot "C:\xampp\htdocs\example.dev"
    ServerName example.dev
</VirtualHost>

Теперь, когда я пытаюсь использовать example.dev в своем браузере, я получаю "сервер не найден", поэтому я думаю, что виртуальные хосты не работают.

2 ответа

Решение

Хотя хосты не будут сопоставлять порты, вы должны иметь возможность доступа к двум экземплярам, ​​используя их порты и имена хостов, например, http://site1:8080/, http://site2/. Или, если вам действительно нужно, чтобы оба были доступны на одном порту, переместите новый стек на порт, подобный 8081, и настройте NGINX, HAProxy, Squid или даже другой экземпляр Apache для прокси сайтов из одного порта.

In my host file I have

127.0.0.1     example.dev:8080

Файл hosts не может понять порт. Перестань пытаться.

и в моих виртуальных хостах (httpd-vhosts.conf на моем старом экземпляре apache, а не на моем экземпляре Zend) у меня есть

NameVirtualHost *:8080

<VirtualHost *:8080>
    DocumentRoot "C:/xampp/htdocs"
</VirtualHost>

<VirtualHost *:8080>
    DocumentRoot "C:\xampp\htdocs\example.dev"
    ServerName example.dev
</VirtualHost>

VirtualHost означает, что вы можете запускать несколько веб-сайтов на одном IP-адресе. Таким образом, измените порт на 80, указав имя сервера для DocumentRoot C:/xampp/htdocs и попробуй еще раз.

Другие вопросы по тегам