Запуск 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
и попробуй еще раз.