Как запустить Unicorn с помощью systemd / systemctl?

Я написал файл systemd для systemctl для запуска unicorn :

 [Unit] Description=Unicorn server [Service] SyslogIdentifier=my-app-unicorn User=deployer PIDFile=/tmp/unicorn.my-app.pid WorkingDirectory=/opt/www/my-app.com ExecStart=/home/deployer/.rvm/gems/ruby-2.2.1@my-app/bin/bundle exec "unicorn_rails -D -c /opt/www/my-app.com/config/unicorn.rb -E production" #ExecReload=/bin/kill -s HUP $MAINPID ExecReload=/bin/kill -s USR2 $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID [Install] WantedBy=multi-user.target 

Вот команды, которые я использовал для запуска службы

 $ sudo systemctl daemon-reload $ sudo systemctl start my-app.service 

Здесь я проверяю статус:

 $ sudo systemctl status my-app ● my-app.service - My app unicorn server Loaded: loaded (/lib/systemd/system/my-app.service; disabled; vendor preset: enabled) Active: failed (Result: exit-code) since Tue 2016-03-15 14:56:31 UTC; 4s ago Process: 22165 ExecStop=/bin/kill -s QUIT $MAINPID (code=exited, status=200/CHDIR) Process: 22162 ExecStart=/home/deployer/.rvm/gems/ruby-2.2.1@my-app/bin/bundle exec unicorn_rails -D -c /opt/www/my-app.com/config/unicorn.rb -E production (code=exited, status=200/CHDIR) Main PID: 22162 (code=exited, status=200/CHDIR) Mar 15 14:56:31 fat-man systemd[1]: Started My-App unicorn server. Mar 15 14:56:31 fat-man systemd[22162]: my-app.service: Failed at step CHDIR spawning /home/deployer/.rvm/gems/ruby-2.2.1@my-app/bin/bundle: No such file or directory Mar 15 14:56:31 fat-man systemd[1]: my-app.service: Main process exited, code=exited, status=200/CHDIR Mar 15 14:56:31 fat-man systemd[1]: my-app.service: Control process exited, code=exited status=200 Mar 15 14:56:31 fat-man systemd[1]: my-app.service: Unit entered failed state. Mar 15 14:56:31 fat-man systemd[1]: my-app.service: Failed with result 'exit-code'. 

В чем может быть проблема?

LE: Доступ к ресурсам пользовательского развертывателя в каталог / opt / www / my-app:

 $ ls -alh total 84K drwxr-xr-x 12 deployer admin 4.0K Mar 12 20:10 . drwxr-xr-x 3 root root 4.0K Mar 11 20:43 .. drwxr-xr-x 9 deployer admin 4.0K Mar 11 20:52 app drwxr-xr-x 2 deployer admin 4.0K Mar 11 20:52 bin drwxr-xr-x 5 deployer admin 4.0K Mar 13 14:02 config -rw-r--r-- 1 deployer admin 153 Mar 11 20:52 config.ru drwxr-xr-x 3 deployer admin 4.0K Mar 11 20:52 db -rw-r--r-- 1 deployer admin 1.9K Mar 11 20:52 Gemfile -rw-r--r-- 1 deployer admin 5.1K Mar 11 20:52 Gemfile.lock -rw-r--r-- 1 deployer admin 616 Mar 11 20:52 .gitignore drwxr-xr-x 5 deployer admin 4.0K Mar 11 20:52 lib drwxr-xr-x 2 deployer admin 4.0K Mar 12 20:53 log drwxr-xr-x 3 deployer admin 4.0K Mar 12 19:12 public -rw-r--r-- 1 deployer admin 249 Mar 11 20:52 Rakefile -rw-r--r-- 1 deployer admin 478 Mar 11 20:52 README.rdoc -rw-r--r-- 1 deployer admin 9 Mar 11 20:52 .ruby-gemset -rw-r--r-- 1 deployer admin 11 Mar 11 20:52 .ruby-version drwxr-xr-x 8 deployer admin 4.0K Mar 11 20:52 test drwxr-xr-x 6 deployer admin 4.0K Mar 12 20:53 tmp drwxr-xr-x 3 deployer admin 4.0K Mar 11 20:52 vendor 

  • Свежая установка спасения Ubuntu Grub
  • Скрыть все открытые окна на Ubuntu 12.04 LTS
  • Проблема с samba share Ubuntu server 12.04
  • Почему копирование занимает намного больше времени, чем время запроса DNS?
  • Различные сайты на разных интерфейсах с использованием агрегации ссылок
  • Запуск демона как непривилегированного пользователя
  • Как указать команду отключения демона с выскочкой?
  • Резервное копирование с помощью find и ssh для сервера вне сайта
  • 2 Solutions collect form web for “Как запустить Unicorn с помощью systemd / systemctl?”

    Сообщение об ошибке Failed at step CHDIR означает, что systemd не может cd в каталог, указанный в WorkingDirectory . Он указан как /opt/www/my-app.com но позже вы указываете его как /opt/www/my-app .

    Еще одна проблема заключается в том, что вы unicorn_rails с опцией -D которая сообщает процессу unicorn_rails выполнить daemonize ( unicorn_rails процесс переводит дочерний элемент и немедленно выходит), но ваш раздел [Service] не указывает Type поэтому по умолчанию он simple и systemd ожидает, что процесс останется в живых , Вам необходимо удалить опцию -D или указать Type=forking .

    См. Пример единичного файла для единорога

    Это возможно из-за случая с буквой вместо eg /opt/www/my-app.com try /opt/www/My-app.com

    Interesting Posts

    Анализ производительности команды rsync с FreeNAS на USB-накопитель

    Есть ли проблема поместить / в качестве домашнего каталога пользователя root с точки зрения безопасности?

    Является открытым исходным кодом `Tru64 UNIX`?

    Перенос установки Linux с жесткого диска на SSD, который уже установил Windows 10

    отправлять электронную почту с моего локального домена example.com на внешний почтовый сервер с помощью Sendmail

    mount overlayFS в качестве Read-Write FS

    Запуск некоторых приложений в полноэкранном режиме в Xfce

    Написание драйвера для обмана * nix систем с наличием GPU

    Увеличение выделенных узлов для заданий в очереди в кластере PBS

    Звук USB выводит только белый шум

    Трубопровод sed для grep не работает должным образом

    При удалении пакета Debian, как я могу удалить файлы Python * .pyc?

    Сброс автозаполнения bash в каждом окне

    Как правильно перемещать веб-ссылки из моего браузера в папку с помощью перетаскивания в Debian с помощью KDE? (названия страниц не показаны)

    Переписать исходный IP-адрес в протоколах TCP с помощью iptables

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