Apache2 всегда открывает веб-сайт по умолчанию на localhost

У меня есть несколько веб-проект на моей localhost Ubuntu 14.04 VM, который я пытаюсь выполнить использование apache2.

Когда я открываю свой веб-браузер и перехожу в http://localhost:80 это загрузит apache2-graphite.conf, Когда я попытаюсь загрузиться localhost:80/grafana от моего веб-браузера это все еще загрузило бы apache2-graphite.conf, но не grafana.conf? Я пытаюсь отобразить свой grafana веб-сайт, который хранится в/var/www/grafana/public_html. Кто-то может объяснить, почему это всегда загружает apache2-graphite.conf

Ниже команды/файлы, которые я присоединяю

sudo a2ensite apache2-graphite
sudo a2ensite grafana
sudo service apache reload

root@marshell:vi/etc/apache2/sites-available/apache2-graphite.conf

<VirtualHost *:80>

        WSGIDaemonProcess _graphite processes=5 threads=5 display-name='%{GROUP}' inactivity-timeout=120 user=_graphite group=_graphite
        WSGIProcessGroup _graphite
        WSGIImportScript /usr/share/graphite-web/graphite.wsgi process-group=_graphite application-group=%{GLOBAL}
        WSGIScriptAlias / /usr/share/graphite-web/graphite.wsgi

        Alias /content/ /usr/share/graphite-web/static/
        <Location "/content/">
                SetHandler None
        </Location>

        ErrorLog ${APACHE_LOG_DIR}/graphite-web_error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/graphite-web_access.log combined

</VirtualHost>

root@marshell: vi/etc/apache2/sites-available/grafana.conf

<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        ServerName grafana
        ServerAlias www.127.0.0.1:80/grafana
        DocumentRoot /var/www/grafana/public_html


        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
1
задан 5 September 2014 в 22:50

4 ответа

sudo /sbin/dhclient -r выпуски (-r) IP-адрес получен из Вашего сервера DHCP. Именно это заставил Ваше соединение отбрасывать, так как теперь Ваша машина не имеет IP-адреса для передачи с сетью.

Для устранения этой проблемы необходимо просто запросить новый IP-адрес. Но сначала, мы удостоверимся, что это выпущено путем выполнения этой команды:

sudo /sbin/dhclient -r wlan0

Затем для запроса нового с сервера DHCP просто сделайте:

sudo /sbin/dhclient wlan0

(Предполагающий, что Ваш беспроводной интерфейс называют wlan0. Если это не, смотрите на вывод iwconfig и узнайте название записи, которая имеет беспроводную информацию рядом с ним).

, Что команда должна завершиться справедливо быстро и Вы будете видеть, что IP-адрес был присвоен Вашему интерфейсу. Теперь попытайтесь просмотреть Интернет.

86
ответ дан 1 November 2019 в 10:25

Два способа решить проблему.

1. Используйте Псевдоним

С этим методом, Вы только имеете один виртуальный файл хоста и определяете псевдоним для Вашего вторичного сайта. Псевдоним укажет на различный каталог при определении Псевдонима в URL. В этом случае URL: localhost/grafana возьмет Вас на Ваш grafana сайт.

упрощенная версия А Ваших виртуальных файлов хоста будет похожа

<VirtualHost *:80>

    ServerAdmin webmaster@localhost
    ServerName localhost

    DocumentRoot /var/www/defaultSite

    <Directory /var/www/defaultSite>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>

    Alias /grafana  /path/to/grafana
    <Directory /path/to/grafana>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>


    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

2. Разделите виртуальный файл хоста и отредактируйте файл

хостов клиента, можно также определить различные виртуальные файлы hosts и использовать параметр ServerName для решения который служить. В этой конфигурации Apache смотрит на часть имени узла URL. Таким образом, необходимо изменить клиент так, чтобы можно было использовать различный URL для получения до него. Таким образом, у Вас было бы два виртуальных файла хоста как тот выше МИНУС материал Псевдонима. В сайте по умолчанию эти ServerName был бы localhost, и для grafana сайта эти ServerName будет grafana

Тогда на Вашем клиенте (который является также сервером здесь), необходимо отредактировать /etc/hosts и добавить строку:

127.0.0.1 grafana

Теперь url http://grafana укажет на localhost. Apache будет знать для использования виртуального файла хоста, который использует grafana в качестве ServerName, и корректный сайт будет обслуживаться.

я предпочитаю метод Псевдонима, потому что настолько легко добавить новое в любое время. Клиенты не должны быть отредактированы для доступа к сайту.

Однако опция ServerName делает URL немного более чистым, но каждому клиенту нужно было обновить их файл hosts.

1
ответ дан 11 November 2019 в 12:36

Сегодня я испытал это. Значение в Конфигурации было обновленным, но приложение возвратит более старое значение, остановитесь, и запуск решения ничего не сделал.

, Таким образом, я очистил папку.Net Temp.

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files

Это не должно создавать ошибки, но быть безопасно близкий Ваше решение вниз сначала. Очиститесь Временные Файлы ASP.NET затем загружают Ваше решение.

Моя проблема была отсортирована.

16
ответ дан 1 November 2019 в 10:25

У меня была та же проблема, но когда я удалил кэшируемые элементы из папки Temp отказавшая сборка.

, Чтобы заставить сборку работать снова, я должен был закрыть проект и вновь открыть ее.

2
ответ дан 1 November 2019 в 10:25

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

Похожие вопросы: