Редко можно найти веб-разработчика, ответственного только за один сайт. В этой статье мы настроим ваш компьютер для разработки, чтобы вы могли тестировать любое количество веб-сайтов, используя выделенное доменное имя для каждого. Вам потребуется локальная установка Apache 2.2 и, опционально, PHP и MySQL .
Файл Небесных Хозяев
Когда вы вводите адрес в браузере, имя домена обычно преобразуется в IP-адрес сервером доменных имен. Непосредственно перед этим компьютер проверит собственный файл hosts. Файлы хоста доступны практически во всех операционных системах:
- Windows NT, 2000, XP, 2003 и Vista: % WinDir% system32driversetchosts (обратите внимание, это расположение можно изменить в разделе реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersDataBasePath)
- Windows 95, 98, ME: % WinDir% hosts
- Linux, Unix, BSD: / etc / hosts
- Mac OS X: / private / etc / hosts
В большинстве случаев ваши файлы хостов будут содержать одну запись:
127.0.0.1 localhost
Если вы в браузере введете «http: // localhost /», то получите адрес обратной связи TCP / IP 127.0.0.1 (ваш компьютер).
Файл hosts может содержать любое количество отображений домена. Предположим, мы хотим протестировать два сайта локально: www.mysite1.com и www.mysite2.org . Мы можем создать два домена в нашем файле hosts для тестирования, например, mysite1 и mysite2 :
127.0.0.1 localhost
127.0.0.1 mysite1
127.0.0.1 mysite2
Некоторые операционные системы реализуют изменения, как только файл hosts будет сохранен. Пользователи Windows должны ввести «nbtstat -R» в командной строке. Попробуйте перезагрузиться, если ничего не помогает.
Настройка виртуальных хостов Apache
Apache может запускать любое количество веб-сайтов на одном компьютере. (Примечание: также могут быть версии сервера Microsoft IIS, но не версии Windows Professional или VisualStudio.NET).
Завершите работу Apache и загрузите его конфигурационный файл confhttpd.conf в текстовом редакторе. Предполагая, что мы хотим, чтобы домен mysite1 использовал файлы в D: WebPagesmysite1 и mysite2 для использования файлов в D: WebPagesmysite2, мы добавили бы следующие определения виртуальных хостов в конец файла:
# Virtual hosts
NameVirtualHost *:80
# Any unspecified domain
<VirtualHost *:80>
DocumentRoot D:/WebPages
</VirtualHost>
# mysite1 domain
<VirtualHost *:80>
ServerName mysite1
DocumentRoot D:/WebPages/mysite1
</VirtualHost>
# mysite2 domain
<VirtualHost *:80>
ServerName mysite2
DocumentRoot D:/WebPages/mysite2
</VirtualHost>
Сохраните файл и перезапустите Apache.
Тестирование ваших сайтов
Скопируйте файлы вашего сайта в D: WebPagesmysite1 и D: WebPagesmysite2 соответственно. Теперь вы можете ввести http: // mysite1 / или http: // mysite2 / в браузере, чтобы протестировать соответствующий сайт.
Бонусный совет для PHP-кодеров
Может быть полезно узнать, работает ли сайт в реальной среде или в среде разработки, например, сообщения об отладке не отображаются на рабочем сайте. Вы можете обнаружить домен с помощью кода, такого как:
<?php
$debug == ($_SERVER['HTTP_HOST'] == 'mysite1');
if ($debug) echo "debug message";
?>
Смотрите также:
Есть ли у вас какие-либо другие советы для тестирования нескольких веб-сайтов на одном компьютере?