So starten Sie * Apache * mit * httpd.conf * in * systemd * von * CentOS7 * oder * CentOS8 *.
Es wird davon ausgegangen, dass die Einstellungsdatei myhttpd.conf
, die Sie beim Starten von * Apache * verwenden möchten, im Verzeichnis / etc / httpd / conf
vorhanden ist.
Ändern Sie die * Apache * * systemd * -Einheitsdefinitionsdatei / usr / lib / systemd / system / httpd.service
.
Der "httpd.service" vor der Änderung lautet wie folgt.
/usr/lib/systemd/system/httpd.Service (vor Änderung)
[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
/usr/lib/systemd/system/httpd.Service (nach Änderung)
[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
/usr/lib/systemd/system/httpd.Service (Unterschied)
-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
Starten Sie * Apache * mit der Einheitendefinitionsdatei (httpd.service
), die mit dem folgenden Befehl geändert wurde.
systemctl start httpd
Ausführungsergebnis
[root@CENTOS7 ~]# systemctl start httpd
[root@CENTOS7 ~]#
Überprüfen Sie den * Apache (httpd) * -Prozess mit dem folgenden Befehl und stellen Sie sicher, dass er in / etc / httpd / conf / myhttpd.conf
gestartet wird.
ps -ef | grep httpd
Ausführungsergebnis
[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 ~]#
Dieses Mal habe ich -f / etc / httpd / conf / myhttpd.conf
direkt zu ExecStart
und ExecReload
von / usr / lib / systemd / system / httpd.service
hinzugefügt, aber es zu einer Variablen gemacht. Du kannst auch.
Im Folgenden erfahren Sie, wie Sie Variablen in der Einheitendefinitionsdatei verwenden.
Verwendung von Variablen in der Systemd-Einheitendefinitionsdatei
das ist alles
Recommended Posts