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

Nginx + PHP-fastcgi + MySQL на CentOS: 502 Bad Gateway во всех файлах с подключением к MySQL

Я пытаюсь установить сервер 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. Если нет, вам следует проверить, что вы сделали, чтобы снова включить его как службу.