Comment démarrer Apache en spécifiant httpd.conf avec systemd (CentOS7, CentOS8)

Voici comment démarrer * Apache * avec * httpd.conf * dans * systemd * de * CentOS7 * ou * CentOS8 *.

Environnement de contrôle de fonctionnement

Commencez par spécifier myhttpd.conf au lieu de httpd.conf

On suppose qu'il existe un fichier de configuration myhttpd.conf sous le répertoire / etc / httpd / conf que vous souhaitez utiliser lors du démarrage de * Apache *.

1. Modifiez httpd.service

Modifiez le fichier de définition d'unité * Apache * * systemd * / usr / lib / systemd / system / httpd.service.

Le httpd.service avant modification est le suivant.

/usr/lib/systemd/system/httpd.service (avant modification)


[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=man:httpd(8)
Documentation=man:apachectl(8)

[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/httpd
ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND
ExecReload=/usr/sbin/httpd $OPTIONS -k graceful
ExecStop=/bin/kill -WINCH ${MAINPID}
# We want systemd to give httpd some time to finish gracefully, but still want
# it to kill httpd after TimeoutStopSec if something went wrong during the
# graceful stop. Normally, Systemd sends SIGTERM signal right after the
# ExecStop, which would kill httpd. We are sending useless SIGCONT here to give
# httpd time to finish.
KillSignal=SIGCONT
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Le «httpd.service» modifié est le suivant.

/usr/lib/systemd/system/httpd.service (après modification)


[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=man:httpd(8)
Documentation=man:apachectl(8)

[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/httpd
ExecStart=/usr/sbin/httpd -f /etc/httpd/conf/myhttpd.conf $OPTIONS -DFOREGROUND
ExecReload=/usr/sbin/httpd -f /etc/httpd/conf/myhttpd.conf $OPTIONS -k graceful
ExecStop=/bin/kill -WINCH ${MAINPID}
# We want systemd to give httpd some time to finish gracefully, but still want
# it to kill httpd after TimeoutStopSec if something went wrong during the
# graceful stop. Normally, Systemd sends SIGTERM signal right after the
# ExecStop, which would kill httpd. We are sending useless SIGCONT here to give
# httpd time to finish.
KillSignal=SIGCONT
PrivateTmp=true

[Install]
WantedBy=multi-user.target

La différence de «httpd.service» est la suivante.

/usr/lib/systemd/system/httpd.service (différence)


-ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND
-ExecReload=/usr/sbin/httpd $OPTIONS -k graceful
+ExecStart=/usr/sbin/httpd -f /etc/httpd/conf/myhttpd.conf $OPTIONS -DFOREGROUND
+ExecReload=/usr/sbin/httpd -f /etc/httpd/conf/myhttpd.conf $OPTIONS -k graceful

2. Démarrez Apache

Démarrez * Apache * avec le fichier de définition d'unité (httpd.service) modifié par la commande suivante. systemctl start httpd

Résultat d'exécution


[root@CENTOS7 ~]# systemctl start httpd
[root@CENTOS7 ~]#

Vérifiez le processus * Apache (httpd) * avec la commande suivante et assurez-vous qu'il est démarré dans / etc / httpd / conf / myhttpd.conf. ps -ef | grep httpd

Résultat d'exécution


[root@CENTOS7 ~]# ps -ef | grep httpd
root      1332     1  0 22:20 ?        00:00:00 /usr/sbin/httpd -f /etc/httpd/conf/myhttpd.conf -DFOREGROUND
apache    1333  1332  0 22:20 ?        00:00:00 /usr/sbin/httpd -f /etc/httpd/conf/myhttpd.conf -DFOREGROUND
apache    1334  1332  0 22:20 ?        00:00:00 /usr/sbin/httpd -f /etc/httpd/conf/myhttpd.conf -DFOREGROUND
apache    1335  1332  0 22:20 ?        00:00:00 /usr/sbin/httpd -f /etc/httpd/conf/myhttpd.conf -DFOREGROUND
apache    1336  1332  0 22:20 ?        00:00:00 /usr/sbin/httpd -f /etc/httpd/conf/myhttpd.conf -DFOREGROUND
apache    1337  1332  0 22:20 ?        00:00:00 /usr/sbin/httpd -f /etc/httpd/conf/myhttpd.conf -DFOREGROUND
root      1341  1295  0 22:21 pts/0    00:00:00 grep --color=auto httpd
[root@CENTOS7 ~]#

Autre

Cette fois, j'ai ajouté -f / etc / httpd / conf / myhttpd.conf directement à ʻExecStart et ʻExecReload de / usr / lib / systemd / system / httpd.service, mais en fait une variable. Vous pouvez également. Reportez-vous à ce qui suit pour savoir comment utiliser les variables dans le fichier de définition d'unité.

Comment utiliser les variables dans le fichier de définition d'unité systemd

c'est tout

Recommended Posts

Comment démarrer Apache en spécifiant httpd.conf avec systemd (CentOS7, CentOS8)
Comment installer Apache (httpd) sur CentOS7
Comment installer Apache (httpd) sur CentOS8
Comment installer python3 avec docker centos
[Django] Comment obtenir des données en spécifiant SQL.
[CentOS8] Comment afficher la sortie Python standard dans le journal systemd
Comment installer Python2.7 python3.5 avec pyenv (sur RHEL5 CentOS5) (novembre 2016)
[Test automatique] Comment commencer à créer un test automatique pendant l'exécution avec Airtest
[Cyberduck] Comment échanger des fichiers sous Linux (CentOS7) démarré par VirtualBox avec mac en utilisant l'interface graphique
Comment mettre à jour avec SQLAlchemy?
Comment lancer avec Theano
Comment calculer le rayonnement X (CXB) de fond d'espace avec Python en spécifiant la plage de flux
Comment séparer les chaînes avec ','
Comment faire RDP sur Fedora31
Comment supprimer avec SQLAlchemy?
Comment démarrer la première projection
Comment démarrer par lots un programme Python créé avec le notebook Jupyter
Comment annuler RT avec Tweepy
Python: comment utiliser async avec
Pour utiliser virtualenv avec PowerShell
Comment installer python-pip avec ubuntu20.04LTS
Comment gérer les données déséquilibrées
Comment installer PyPy sur CentOS
Comment démarrer avec Python
Comment gérer l'erreur DistributionNotFound
Comment démarrer avec Django
Comment augmenter les données avec PyTorch
Comment calculer la date avec python
Comment installer mysql-connector avec pip3
Comment installer Maven sur CentOS
Comment INNER JOIN avec SQL Alchemy
Comment installer Anaconda avec pyenv
Pour se connecter au WIFI, qui est limité par l'adresse MAC avec CentOS (Network Manager).
Créez un environnement CentOS Linux 8 avec Docker et démarrez Apache HTTP Server
Configurer un proxy inverse vers le serveur https avec CentOS Linux 8 + Apache mod_ssl
Comment trier en spécifiant une colonne dans le tableau Python Numpy.
Que faire lorsque la version Python est ancienne dans Cloud 9 créée par une autre personne
[Blender] Comment définir shape_key avec un script
Comment titrer plusieurs figures avec matplotlib
Comment obtenir l'identifiant du parent avec sqlalchemy
Comment ajouter un package avec PyCharm
Comment installer DLIB avec 2020 / CUDA activé
Comment utiliser ManyToManyField avec l'administrateur de Django
Comment utiliser OpenVPN avec Ubuntu 18.04.3 LTS
Comment utiliser Cmder avec PyCharm (Windows)
Recherche de propriétés pour commencer avec TensorFlow-Part 1
Comment empêcher les mises à jour de paquets avec apt
Comment utiliser BigQuery en Python
Comment utiliser Ass / Alembic avec HtoA
Installer en spécifiant la version avec pip
Comment gérer les erreurs de compatibilité d'énumération
Comment faire un test de sac avec python
Comment rechercher Google Drive dans Google Colaboratory
CentOS 6.4, Python 2.7.3, Apache, mod_wsgi, Django
Comment télécharger des vidéos YouTube avec youtube-dl
Comment utiliser le notebook Jupyter avec ABCI
Comment activer SSL (TLS) dans Apache