$m = new Memcached();
$m->addServer('localhost', 11211);
Нужно ли открыть порт 11211 в IPTables
чтобы это работало, или его обошли, учитывая, что это localhost
?
sudo iptables -L -n -v
вывод
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
1155K 95M ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
8817K 1451M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
183 10452 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:6685
574K 30M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
122 7232 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
2649 154K DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 8343K packets, 12G bytes)
pkts bytes target prot opt in out source destination
6 2524 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:20
То, что все остальные отметили об установках по умолчанию, справедливо, хотя в большинстве систем, например, CentOS, уже некоторое время уже есть базовый брандмауэр. Но даже базовый брандмауэр обычно разрешает все соединения с localhost на localhost, поскольку запрещать их крайне неразумно; могут начаться самые странные вещи. Если рядом с верхней частью вашей цепочки INPUT (или любой цепочки, которой INPUT делегирует основную часть своей работы) есть строка, в которой говорится:
iptables -A INPUT -i lo -j ACCEPT
или в iptables -L -n -v
формат,
840 97979 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
(не говоря уже о первых двух полях, это количество пакетов и байтов, и ваше, конечно, будет другим), тогда вы, вероятно, в порядке. Еще один хороший тест - сделать
telnet localhost 11211
если ты получишь
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
тогда вы знаете, что ваш слушатель работает и брандмауэр не блокирует его. В противном случае дайте нам свой iptables -L -n -v
и ваш netstat -an
результаты, как предлагают другие, так что мы можем взглянуть.
Это зависит от вашей установки / дистрибутива. Базовая установка почти всего должна быть открыта. Как указал Дфранке, вы можете перечислить записи iptables с помощью 'iptables -L'. Я могу вам сказать, что с базовой установкой Ubuntu, Debian и CentOS мне не пришлось ничего делать, кроме как просто установить memcached, чтобы он работал и был открыт.