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

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

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

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

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

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

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

Есть идеи, как я могу решить эту проблему, чтобы я мог использовать файл hosts для сопоставления доменов с двумя разными стеками 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 в своем браузере, я получаю сообщение «сервер не найден», поэтому я думаю, что виртуальные хосты не работали.

В моем хост-файле у меня есть

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, в частности ServerName для DocumentRoot C:/xampp/htdocs и попробуй еще раз.

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