Я только что установил nginx 1.9 на сервер Debian 8. nginx работает нормально, когда я говорю, что он запускается, но при загрузке он не загружается автоматически.
Я пробовал многочисленные сценарии инициализации, рекомендуемые в Интернете, но пока ничего не получалось. Так что теперь я пытаюсь понять это с помощью systemctl.
~$ systemctl status nginx
● nginx.service
Loaded: masked (/dev/null)
Active: inactive (dead)
~$ sudo systemctl try-restart nginx
Failed to try-restart nginx.service: Unit nginx.service is masked.
~$ sudo systemctl reload nginx
Failed to reload nginx.service: Unit nginx.service is masked.
~$ sudo systemctl reload nginx
Failed to reload nginx.service: Unit nginx.service is masked.
К сожалению, я не знаю, что означает «служба маскируется», и я не знаю, почему она маскируется.
когда я бегу
sudo nginx
сервер работает просто отлично. Итак, я посмотрел на разоблачение службы nginx.
~$ sudo systemctl unmask nginx.service
Removed symlink /etc/systemd/system/nginx.service.
Хорошо, теперь я могу запустить nginx с помощью systemctl. Поэтому я проверил, будет ли перезагрузка автоматически загружать nginx. Но этого не происходит, и я понятия не имею, куда идти отсюда.
Может кто-нибудь помочь мне автоматически запустить nginx при загрузке?
systemctl enable nginx
...Ответы:
Вы, кажется, путаете операции включения, запуска и маскирования.
systemctl start
,systemctl stop
: запускает (останавливает) данный блок немедленно ;systemctl enable
,systemctl disable
: помечает (снимает отметки) модуль для автоматического запуска во время загрузки (в зависимости от модуля , как описано в его[Install]
разделе);systemctl mask
,systemctl unmask
: запрещает (разрешает) все и любые попытки запуска рассматриваемого модуля (либо вручную, либо как зависимость от любого другого модуля, включая зависимости цели загрузки по умолчанию). Обратите внимание, что пометка для автозапуска в systemd реализована путем добавления искусственной зависимости от цели загрузки по умолчанию к рассматриваемому модулю, поэтому «маска» также запрещает автозапуск.Итак, все это разные операции. Из них вы хотите
systemctl enable
.Ссылка: systemctl (1) .
Подробнее: Леннарт Поэттеринг (2011-03-02). «Три уровня выключения» . systemd для администраторов . 0pointer.de.
источник
systemctl enable
(неsystemctl start
), чтобы что-то запускалось при загрузке.Исправлена ссылка в принятом ответе, поэтому она перенаправляла на нужную страницу. Но вот соответствующий бит:
где
/lib/systemd/system/nginx.service
выглядит что-то вроде:источник
Вот что сработало для меня: https://web.archive.org/web/20150328063215/https://longhandpixels.net/blog/2014/02/install-nginx-debian-ubuntu
Я проигнорировал большую часть документа, относящегося к компиляции других версий nginx, и перешел к «Сделать автозапуском».
Я следовал указаниям там, и теперь, когда я перезагружаюсь, nginx 1.9 работает.
Я определенно ценю помощь каждого и понимание. Спасибо вам всем!
источник
из ресурсов nginx https://www.nginx.com/resources/wiki/start/topics/examples/systemd/
источник