PID-файл недоступен после обновления nginx

PID-файл недоступен после обновления nginx

После того, как я удалил версию 0.7.x, которая поставлялась в составе стандартных пакетов Debian, я установил версию nginx 1.4.1 из исходного кода.

Можно запустить nginx, service nginx startи я вижу, что nginx резервирует порт 80, когда я выполняю netstat.

netstat -apn | grep nginxвыход:

tcp      0    0 0.0.0.0:80            0.0.0.0:*             LISTEN    3115/nginx 

Проблема в том, что когда я это делаю service nginx statusили service nginx stopполучаю это сообщение:

не удалось получить доступ к PID-файлу для nginx ... ошибка!

Кто может это исправить? И как предотвратить возникновение этой проблемы?

EDIT: решение

  1. remove nginx
  2. затем идите к источнику и./configure --pid-path=/var/run/nginx.pid
  3. make
  4. checkinstall make install

решение1

Debian, вероятно, настроил/исправил nginx для своего пакета, чтобы поместить pid-файл в определенное место, чего он не делает по умолчанию. Когда вы заменили его чем-то, скомпилированным из исходников, это не соответствует ожиданиям инфраструктуры сервиса.

Я бы посмотрел, какие исправления и параметры конфигурации были сделаны ребятами из Debian, и перекомпилировал бы вашу версию 1.4.x с опциями, чтобы поместить pid-файл в то же место.

Как предотвратить этот тип проблем? Либо делайте что-то через пакеты, либо компилируйте из исходников, но не и то, и другое. Или знайте, что вам нужно будет проявлять особую осторожность, когда вы это делаете, так как все может сломаться.

Связанный контент