** * Ubuntu 20.04 a la même implémentation, donc je pense que vous en serez également accro **
--Je veux créer un serveur API pour une application appelée hoge
--La réception reçoit une demande avec nginx
et la transmet à l'application
--hoge
est transformé en un démon avec systemd
--hoge
reçoit une requête de nginx
avec ʻUNIX Socket --ʻUNIX Socket
est / var / run / hoge / hoge.sock
--Créez un répertoire / var / run / hoge
hoge
et nginx
et lancez le démon.nginx
a renvoyé une erreur Bad Gateway
.
--Lorsque je l'ai recherché, / var / run / hoge / hoge.sock
manquait pour chaque répertoire./ var / run
est tmpfs
, et quand le serveur est redémarré, les fichiers sous / var / run
disparaissent.# /var/courir est/Lien symbolique à exécuter
$ ls -ld /var/run
lrwxrwxrwx. 1 root root 6 Jul 25 2019 /var/run -> ../run
# /exécuter les montages tmpfs
$ mount | grep /run
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
RuntimeDirectory
au fichier d'unité systemdSelon la [page MAN] de tmpfiles.d
(https://www.freedesktop.org/software/systemd/man/tmpfiles.d.html#Description)
Original
System daemons frequently require private runtime directories below /run to store communication sockets and similar.
For these, it is better to use RuntimeDirectory= in their unit files (see systemd.exec(5) for details), if the flexibility provided by tmpfiles.d is not required.
The advantages are that the configuration required by the unit is centralized in one place, and that the lifetime of the directory is tied to the lifetime of the service itself.
Similarly, StateDirectory=, CacheDirectory=, LogsDirectory=, and ConfigurationDirectory= should be used to create directories under /var/lib/, /var/cache/, /var/log/, and /etc/.
tmpfiles.d should be used for files whose lifetime is independent of any service or requires more complicated configuration.
Traduction en japonais
Le démon système est utilisé pour stocker les sockets de communication, etc./Vous avez souvent besoin d'un répertoire d'exécution privé en cours d'exécution.
Pour ceux-ci, tmpfiles.Si vous n'avez pas besoin de la flexibilité offerte par d, le RuntimeDirectory dans le fichier d'unité=Il est recommandé d'utiliser (pour plus d'informations, systemd.Voir exec (5)).
L'avantage est que la configuration requise pour l'unité est centralisée en un seul endroit, et la durée de vie de l'annuaire est associée à la durée de vie du service lui-même.
De même/var/lib/、/var/cache/、/var/log/,et/etc/Pour créer un répertoire sous, StateDirectory=、CacheDirectory=、LogsDirectory=,etConfigurationDirectory=Doit être utilisé.
tmpfiles.d doit être utilisé pour les fichiers dont la durée de vie est indépendante du service ou qui nécessite une configuration plus complexe.
Puisqu'il y en a, ajoutez le paramètre RuntimeDirectory
.
De plus, puisque nous voulons définir l'autorisation sur «0755» cette fois, définissez «RuntimeDirectoryMode» comme suit.
Lignes ajoutées au fichier UNIT
RuntimeDirectory=hoge
RuntimeDirectoryMode=0755
systemd.exec
, / run
est le point de départ, donc le chemin complet Spécifiez le nom du répertoire que vous souhaitez créer sous / run
à la placeRecommended Posts