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

Лучший способ запустить два разных веб-сайта на localhost

Я хочу запустить два веб-сайта с XAMPP для Linux на своем компьютере:

Они совершенно не связаны, и я не хочу, чтобы один работал в субдомене другого, и я не хочу связываться с файлом .htaccess.

Как лучше всего это сделать?

Просто настройте свои vhosts как есть:

Name VirtualHost 127.0.0.1
<VirtualHost *:80>
   DocumentRoot /www/thesis
   ServerName thesiswork
</VirtualHost> 

<VirtualHost test2:80>
   DocumentRoot /www/test2
   ServerName test2
</VirtualHost>

<VirtualHost test3:80>
   DocumentRoot /www/test3
   ServerName test3
</VirtualHost>

Затем в вашем файле / etc / hosts просто сделайте следующее:

example.com    127.0.0.1
test2.example.com    127.0.0.1
test2.example.com   127.0.0.1
test2               127.0.0.1
test3               127.0.0.1

Таким образом, вы можете просто перейти на example.com или test3.example.com (после внесения изменений в конфигурацию хостов обязательно перезапустите сеть.

Я рекомендую vhosts.conf на основе портов, например этот (это полный vhosts.conf):

NameVirtualHost *:80

<virtualHost *:80>
DocumentRoot "/var/www/"
ServerName localhost
ServerAdmin admin@localhost
</VirtualHost>

Listen 61 #use random free port number
<virtualHost *:61>
DocumentRoot "/var/vhosts/thesis/"
ServerName asdf
ServerAdmin admin@asdf
</VirtualHost>

Затем вы можете вызвать свою страницу с помощью http: // localhost / и ваш тезис с http: // локальный: 61 /

Преимущество виртуального хостинга на основе портов перед виртуальным хостингом на основе имен состоит в том, что вам не нужен домен, и вам не нужно возиться с файлом хостов, который я считаю «грязным».

Убедитесь, что вы разрешили доступ к каталогу, в котором вы хотите разместить свой файл тезиса, например, в своем httpd.conf, или просто добавьте его в свой vhosts.conf:

<Directory "/var/vhosts/">
Order Deny,Allow
Allow From All
AllowOverride All
</Directory>

127.0.0.0/8 означает, что 127.0.0.2 и 127.0.0.3 и 127.0.0.4 и ... до 127.254.254.254 или что-то в этом роде доступны для использования IP-адресами. Поэтому, если виртуальные хосты на основе имен недостаточно хороши, вы можете иметь разные локальные хосты, например IP-адреса, для каждого веб-сайта.

Вы должны использовать виртуальный хост на основе имени. Полная информация приведена здесь: http://httpd.apache.org/docs/current/vhosts/name-based.html

Основная идея заключается в том, что вы установите виртуальный хост по умолчанию на localhost примерно так:

<VirtualHost _default_:*>
   DocumentRoot /www/default
</VirtualHost> 

Затем для вашего дипломного сайта вы можете настроить еще один виртуальный хост

<VirtualHost *:80>
   DocumentRoot /www/thesis
   ServerName thesiswork
</VirtualHost> 

Затем на вашем локальном компьютере вам придется отредактировать файл / etc / hosts, включив в него «thesiswork», указав на 127.0.0.1