Сценарий Nginx init.d

После обновления dist на моей машине debian вчера у меня возникли проблемы с скриптом init nginx. Всякий раз, когда я пытаюсь запустить nginx с помощью скрипта init, появляется сообщение об ошибке:

# service nginx start Job for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' for details. 

Вывод состояния systemctl nginx.service:

 # systemctl status nginx.service ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled) Active: failed (Result: exit-code) since Tue 2015-05-19 12:36:12 CEST; 7s ago Process: 14087 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 14126 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=203/EXEC) 

Вывод журналаctln-xn:

 # journalctl -xn systemd[1]: nginx.service never wrote its PID file. Failing. systemd[1]: Failed to start A high performance web server and a reverse proxy server. -- Subject: Unit nginx.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit nginx.service has failed. -- -- The result is failed. systemd[1]: Unit nginx.service entered failed state. systemd[14126]: Failed at step EXEC spawning /usr/sbin/nginx: No such file or directory -- Subject: Process /usr/sbin/nginx could not be executed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- The process /usr/sbin/nginx could not be executed and failed. -- -- The error number returned while executing this process is 2. systemd[1]: nginx.service: control process exited, code=exited status=203 systemd[1]: Failed to start A high performance web server and a reverse proxy server. -- Subject: Unit nginx.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit nginx.service has failed. -- -- The result is failed. systemd[1]: Unit nginx.service entered failed state. В # journalctl -xn systemd[1]: nginx.service never wrote its PID file. Failing. systemd[1]: Failed to start A high performance web server and a reverse proxy server. -- Subject: Unit nginx.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit nginx.service has failed. -- -- The result is failed. systemd[1]: Unit nginx.service entered failed state. systemd[14126]: Failed at step EXEC spawning /usr/sbin/nginx: No such file or directory -- Subject: Process /usr/sbin/nginx could not be executed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- The process /usr/sbin/nginx could not be executed and failed. -- -- The error number returned while executing this process is 2. systemd[1]: nginx.service: control process exited, code=exited status=203 systemd[1]: Failed to start A high performance web server and a reverse proxy server. -- Subject: Unit nginx.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit nginx.service has failed. -- -- The result is failed. systemd[1]: Unit nginx.service entered failed state. 

мой nginx-файл в init.d:

 #! /bin/sh ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web server # Description: starts nginx using start-stop-daemon ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/sbin/nginx NAME=nginx DESC=nginx test -x $DAEMON || exit 0 # Include nginx defaults if available if [ -f /etc/default/nginx ] ; then . /etc/default/nginx fi set -e . /lib/lsb/init-functions case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \ --exec $DAEMON -- $DAEMON_OPTS || true echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \ --exec $DAEMON || true echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --pidfile \ /usr/local/nginx/logs/$NAME.pid --exec $DAEMON || true sleep 1 start-stop-daemon --start --quiet --pidfile \ /usr/local/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true echo "$NAME." ;; reload) echo -n "Reloading $DESC configuration: " start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \ --exec $DAEMON || true echo "$NAME." ;; status) status_of_proc -p /usr/local/nginx/logs/$NAME.pid "$DAEMON" nginx && exit 0 || exit $? ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|reload|force-reload|status}" >&2 exit 1 ;; esac exit 0 и #! /bin/sh ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web server # Description: starts nginx using start-stop-daemon ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/sbin/nginx NAME=nginx DESC=nginx test -x $DAEMON || exit 0 # Include nginx defaults if available if [ -f /etc/default/nginx ] ; then . /etc/default/nginx fi set -e . /lib/lsb/init-functions case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \ --exec $DAEMON -- $DAEMON_OPTS || true echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \ --exec $DAEMON || true echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --pidfile \ /usr/local/nginx/logs/$NAME.pid --exec $DAEMON || true sleep 1 start-stop-daemon --start --quiet --pidfile \ /usr/local/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true echo "$NAME." ;; reload) echo -n "Reloading $DESC configuration: " start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \ --exec $DAEMON || true echo "$NAME." ;; status) status_of_proc -p /usr/local/nginx/logs/$NAME.pid "$DAEMON" nginx && exit 0 || exit $? ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|reload|force-reload|status}" >&2 exit 1 ;; esac exit 0 по #! /bin/sh ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web server # Description: starts nginx using start-stop-daemon ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/sbin/nginx NAME=nginx DESC=nginx test -x $DAEMON || exit 0 # Include nginx defaults if available if [ -f /etc/default/nginx ] ; then . /etc/default/nginx fi set -e . /lib/lsb/init-functions case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \ --exec $DAEMON -- $DAEMON_OPTS || true echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \ --exec $DAEMON || true echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --pidfile \ /usr/local/nginx/logs/$NAME.pid --exec $DAEMON || true sleep 1 start-stop-daemon --start --quiet --pidfile \ /usr/local/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true echo "$NAME." ;; reload) echo -n "Reloading $DESC configuration: " start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \ --exec $DAEMON || true echo "$NAME." ;; status) status_of_proc -p /usr/local/nginx/logs/$NAME.pid "$DAEMON" nginx && exit 0 || exit $? ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|reload|force-reload|status}" >&2 exit 1 ;; esac exit 0 и #! /bin/sh ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web server # Description: starts nginx using start-stop-daemon ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/sbin/nginx NAME=nginx DESC=nginx test -x $DAEMON || exit 0 # Include nginx defaults if available if [ -f /etc/default/nginx ] ; then . /etc/default/nginx fi set -e . /lib/lsb/init-functions case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \ --exec $DAEMON -- $DAEMON_OPTS || true echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \ --exec $DAEMON || true echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --pidfile \ /usr/local/nginx/logs/$NAME.pid --exec $DAEMON || true sleep 1 start-stop-daemon --start --quiet --pidfile \ /usr/local/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true echo "$NAME." ;; reload) echo -n "Reloading $DESC configuration: " start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \ --exec $DAEMON || true echo "$NAME." ;; status) status_of_proc -p /usr/local/nginx/logs/$NAME.pid "$DAEMON" nginx && exit 0 || exit $? ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|reload|force-reload|status}" >&2 exit 1 ;; esac exit 0 

Демон-файл nginx находится в /usr/local/sbin/nginx (я скомпилировал его там).

Вещи, которые я пробовал до сих пор: я скопировал файл демона /usr/local/sbin/nginx в /usr/sbin/nginx

Когда я использую service nginx start он зависает при запуске nginx. Когда я пытаюсь подключиться к порту 80, он работает. Поэтому я приступил к редактированию сценария инициализации и изменению PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin в PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin . Однако это дало тот же результат.

До сих пор я не пробовал ничего.

  • Какой пользователь (www-data или vagrant) запускает приложение Laravel в виртуальном сервере Homestead?
  • Не удается удалить или отключить nginx
  • Как я могу выполнить «псевдоним» с nginx?
  • nginx - userdir с разрешениями пользователей
  • Поиск IP-адресов, посещающих / page1, но не / page2 из файла журнала доступа nginx
  • nginx ./configure не может найти openssl
  • Nginx на Debian 8 dev setup. PHP через PHP FPM не работает
  • Уязвимость OpenSSL Padding для Oracle (CVE-2016-2107) + Nginx
  • 2 Solutions collect form web for “Сценарий Nginx init.d”

    мой nginx-файл в init.d:

    совершенно не имеет значения . Посмотрите на вывод systemctl . Он рассказал вам, какой файл посмотреть:

      Загружено: загружено ( /lib/systemd/system/nginx.service ; включено) 

    Это ваша единица обслуживания. И systemctl сообщает вам, что настроил этот сервисный модуль для подготовки к запуску службы:

      Процесс: 14126 ExecStartPre = / usr / sbin / nginx -t -q -g daemon on;  master_process on;  (код = выведен, статус = 203 / EXEC) 

    Это то, что вы найдете в настройке ExecStartPre в сервисном модуле. Вы заметите, что PATH также совершенно неуместен (что по дизайну в systemd). Журнал еще более подробно рассказал о том, что произошло:

      systemd [14126]: сбой при выполнении этапа EXEC / usr / sbin / nginx: нет такого файла или каталога 

    Что бы вы ни думали, компьютер думает, что в то время, когда вы пытались запустить эту службу /usr/sbin/nginx нельзя было запускать как программу, потому что ни один файл не существовал под этим именем.

    Моя образованная догадка заключается в том, что у вас есть параметр RootDirectory в вашем сервисном модуле, и либо вы скопировали файл в /usr/sbin который не находится в измененной корневой среде, либо некоторые вспомогательные разделяемые библиотеки, необходимые для загрузки образа программы, отсутствуют в изменилась корневая среда.

    У меня была такая же проблема в debian 8. Для меня я нахожу

     [date] debian systemd[1]: nginx.service never wrote its PID file. Failing. 

    в / var / log / syslog, что похоже на вопрос

     # journalctl -xn systemd[1]: nginx.service never wrote its PID file. Failing. 

    Причина в том, что в /lib/systemd/system/nginx.service у меня есть

     PIDFile=/var/run/nginx.pid 

    Но поскольку nginx построен, он пишет pid в /usr/local/nginx/log/nginx.pid

    Исправление состоит в том, чтобы изменить / добавить строку в /usr/local/nginx/conf/nginx.conf

     pid /var/run/nginx.pid; 
    Interesting Posts

    Как настроить sendmail.postfix для ретрансляции на Exchange 2010?

    Как отлаживать случайные перезагрузки, без паники ядра встроенной системы?

    Как добавить нуль (0) в пробелы в большом файле (пример файла ниже)

    Подробный вывод ./configure не является подробным

    USB-модем: интерфейс не распознается

    Блокировка веб-сайтов с помощью / etc / hosts

    Не удалось войти в tty1

    .bashrc синтаксическая ошибка рядом с неожиданным токеном `('

    можем ли мы использовать что-то лучше, чем больше для завершения табуляции?

    Не удается получить связанные формы некоторых кластеров графена unicode с сочетанием диакритических знаков

    Как установить исполняемые файлы

    как выполнять скрипт каждый раз, когда какой-либо USB подключается

    Создание файла jks, а затем его проверка

    Какую команду я использую для просмотра начального и конечного блоков файла в файловой системе?

    Как я могу проверить, работает ли мой / tmp?

    Linux и Unix - лучшая ОС в мире.