Одно соображение является требованиями RAM виртуальной машины. Вы найдете, что MySQL и Lighttpd используют больше памяти в Ubuntu на 64 бита по сравнению с Ubuntu на 32 бита.
Таким образом, мне нравится использовать установки на 32 бита на маленьком VMs с небольшой RAM, такой как 512 или меньше. Вы часто видели бы эти низкокачественные конфигурации со многими поставщиками VPS как linode или slicehost.
Возможно, порт 8080 является заблокирован iptables. Используйте iptables -L -n -v
, чтобы узнать, включен ли iptables и эффективно ли блокирует пакеты на порт 8080.
какой у вас дистрибутив? Возможно, у вас включен SElinux, который отклоняет ваши запросы.
Проверьте, включен ли SElinux.
# sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
Если текущий режим принудительный, попробуйте отключить его во время устранения неполадок:
#setenforce 0
Если он работает сейчас, вы должны создать собственный SElinux политики через audit2allow
.
Судя по выходным данным netstat, порт 8080 прослушивает ipv6. Вы используете ipv6 для подключения?
Слушает ли httpd ipv4?
Можете ли вы запустить netstat -lntp | grep 80
и показать нам весь вывод вместо того, чтобы просто вставить бит, который, как вы думаете актуально.
Я предлагаю следующее обходное решение,
проверьте конфигурацию apache
apachectl configtest
протестируйте страницу с самого сервера и проверьте вывод HTTP
wget -O - "localhost"
проверьте apache error_log, что за ошибка, возможно, конфигурация на вашем веб-сайте не позволяет порт 8080
попробуйте использовать только порт 8080, чтобы узнать, что происходит
NameVirtualHost *: 8080 Listen 8080
создает только VirtualHost, который прослушивает порт 8080
Я почти уверен, что ваша проблема в том, что apache прослушивает ipv6 по крайней мере для :: 1.
Не могли бы вы сообщить мне, хотите ли вы использовать ipv4, ipv6 или оба ?
Выполните следующее и вставьте в вывод:
ifconfig -a
Это должно показать нам все IP-адреса, которые работают на интерфейсах.
Предполагая, что вы используете http: //
в качестве URL-адреса в chrome, затем запустите эти команды, вставьте их в команду и вывод:
dig <servername>.<foo.com>
dig <servername>
dig -t A <servername>.<foo.com>
dig -t A <servername>
dig -t AAAA <servername>.<foo.com>
dig -t AAAA <servername>
Я предполагаю, что вы хотите использовать ipV4, а не ipv6. В этом случае попробуйте следующее:
Измените ваш / etc / hosts так, чтобы он выглядел так:
127.0.0.1 localhost
10.0.0.1 <servername>.<foo.com> <servername>
# The following lines are desirable for IPv6 capable hosts
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Но замените 10.0.0.1 своим адресом ipv4. Затем перезапустите apache. И попробуйте еще раз в браузере и с помощью curl.
С помощью curl попробуйте localhost
и
.
Согласно вашему тесту curl на localhost, apache слушает 8080 и отвечает, хотя и перенаправляет вас с 301 на http: // localhost /, но похоже, что это происходит с сайта по умолчанию.
В соответствии с вашей конфигурацией apache вы настраиваете именованный виртуальный хост с ServerName www.foo.com
Попробуйте:
$ telnet localhost 8080
GET / HTTP/1.0
Host: www.foo.com
Завершение с возвратом двух строк. Если это возвращает контент, это означает, что конфигурация сервера работает нормально. Значит, ваша проблема между вами и вашим сервером.