web-dev-qa-db-fra.com

Vous utilisez le script de démarrage le 17.04?

Lancer 17.04 (Zesty Zapus) et essayer de démarrer un script de démarrage, mais j'ai remarqué qu'il ne s'exécutait pas. Ensuite, j'ai remarqué que upstart n'est même pas répertorié comme un paquet installé, même s'il y a beaucoup de scripts dans /etc/init. Apparemment, ils ne sont pas exécutés car l'introduction d'une faute de frappe dans, par exemple, cron n'affecte pas son démarrage.

Comment dois-je exécuter le script de démarrage? Installer ou démarrer par le biais d'une couche système? Est-ce que l'installation de upstart interrompt quelque chose lorsque les autres scripts de /etc/init sont exécutés soudainement?

1
Nicklas Karlsson

Les étapes ci-dessus ont fonctionné à merveille, j’ai fait quelques étapes détaillées dans ma réponse ici:

Mon env est comme suit

  1. Ubuntu à 17h10
  2. J'ai une application python sur le serveur Gunicorn 19.x, je dois démarrer cette application en tant que service.

Tout d'abord, vous devez écrire un fichier foo.service.

[Unit] 
Description=FooServer 

[Service] 
Restart=on-failure
WorkingDirectory=/path/to/your/working/directory/where the foo lives
ExecStart=/what/process/will call foo eg: in my case I used gunicorn app:app
ExecReload=/bin/kill -HUP $MAINPID 
KillSignal=SIGINT 

[Install] 
WantedBy=multi-user.target

La signification de chaque mot sur le côté gauche du signe '=' et de leur équivalent en amont est indiquée dans le lien https://wiki.ubuntu.com/SystemdForUpstartUsers

Une fois le fichier prêt, disons que vous le nommez 'foo.service' (l’extension .service est importante)

Vous devez placer le fichier dans /lib/systemd/system

Après quoi, vous devez activer le service en appelant

systemctl enable foo

Ce qui vous demandera d'entrer votre mot de passe root car il créera des liens symboliques dans des dossiers basés sur l'accès root où tous les services sont parties.

Si vous avez atteint jusqu'ici sans tracas, vous êtes bon. Votre service est donc créé. Commencez par appeler

Sudo service foo start

systemctl status foo pour voir l'état Sudo service foo stop pour arrêter le service

Toute la journée, j'ai passé toute la journée sur la page Gunicorn. J'ai essayé toutes les options et aucune d’entre elles n’a fonctionné. Merci beaucoup @Zanna et @ Nicklas Karlsson

1
siddharthrc

Apparemment, Upstart n'est pas inclus dans la version du serveur OOTB même s'il existe des scripts dans /etc/init (un peu déroutant).

J'ai réécrit le script upstart en tant que fichier unité systemd en utilisant principalement la page wiki Ubuntu sur systemd pour les utilisateurs upstart comme guide et l'activant de manière normale.

1
Nicklas Karlsson