Я пытаюсь установить сервер Nginx с PHP и MySQL на свой VPS под управлением CentOS.
Я последовал за этот учебник установить все программное обеспечение.
Сервер работает, виртуальные хосты работают, но когда я пытаюсь подключиться к MySQL в файле PHP, сервер возвращает 502 Bad Gateway.
Я новичок в Linus, поэтому не знаю, где найти все логи и т. Д.
Я обнаружил эту ошибку в журнале виртуального хоста, но не знаю, что это значит.
2012/04/15 23:07:33 [ошибка] 22360 # 0: * 3 connect () не удалось (111: соединение отклонено) при подключении к восходящему потоку, клиент: 212.45.63.107, сервер: @host, запрос: "GET / test.php HTTP / 1.1 ", восходящий поток:" fastcgi: //127.0.0.1: 9000 ", хост:" @host "
(где @host - мой сервер)
Похоже, PHP не сможет подключиться к MySQL, спорьте, какой http-сервер вы используете и как вы подключаете php к http-серверу.
Во-первых, проверьте, работает ли ваш MySQL, и слушайте его (можете забыть запустить его). Просто беги mysql
из CLI и посмотрите, подключается ли он. Возможно, вам придется использовать -h host
ключ, чтобы указать клиент mysql на правильный хост.
Затем попробуйте запустить самый простой сценарий (например,
<?php
$link = mysql_connect('hostname', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
так что вы увидите, в чем ошибка. Если ваш MySQL прослушивает localhost (127.0.0.1), используйте 'localhost' как имя хоста (в примере - имя хоста), если он слушает в сокете, используйте путь к сокету (что-то вроде ': / tmp / mysql').
Удачи!
Есть ли что-нибудь работающее на порту 9000? Проверьте вывод netstat -anp | grep :9000
. Похоже, PHP либо не запущен (или защищен брандмауэром).
На самом ли деле работает PHP? Проверьте вывод ps aux | grep php
. Если нет, вам следует проверить, что вы сделали, чтобы снова включить его как службу.