Hi,
Most of our systems have the apache customized, and started manually via the command line. One eg :
[root@dev1-myeg system]# ps -aux | grep http
root 6278 0.0 0.0 112708 984 pts/2 S+ 16:32 0:00 grep --color=auto http
root 6398 0.0 0.3 570636 14376 ? Ss Sep17 8:34 /usr/local/apache-2.4.33/bin/httpd -k start
apache 17671 0.0 5.5 2598496 209928 ? Sl Dec10 0:21 /usr/local/apache-2.4.33/bin/httpd -k start
apache 17672 0.0 5.5 2601972 209792 ? Sl Dec10 0:20 /usr/local/apache-2.4.33/bin/httpd -k start
apache 17673 0.0 5.3 2601972 201648 ? Sl Dec10 0:23 /usr/local/apache-2.4.33/bin/httpd -k start
apache 17799 0.0 5.5 2602232 209604 ? Sl Dec10 0:24 /usr/local/apache-2.4.33/bin/httpd -k start
To start the httpd service ,we use :
/usr/local/apache-2.4.33/bin/httpd -k start
However, we want to automate the service via systemd. Thus I modified the original script which is this :
[root@dev1-myeg system]# cat httpd24-httpd.service.bak
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=notify
EnvironmentFile=/opt/rh/httpd24/root/etc/sysconfig/httpd
ExecStart=/opt/rh/httpd24/root/usr/sbin/httpd-scl-wrapper $OPTIONS -DFOREGROUND
ExecReload=/opt/rh/httpd24/root/usr/sbin/httpd-scl-wrapper $OPTIONS -k graceful
ExecStop=/opt/rh/httpd24/root/usr/sbin/httpd-scl-wrapper $OPTIONS -k graceful-stop
# 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
[root@dev1-myeg system]#
To this :
[root@dev1-myeg system]# cat httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=notify
EnvironmentFile=/usr/local/apache-2.4.33/bin/httpd
ExecStart=/usr/local/apache-2.4.33/bin/httpd $OPTIONS -DFOREGROUND
ExecReload=/usr/local/apache-2.4.33/bin/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
[root@dev1-myeg system]#
I then killed the currently running httpd process, to test if the script works. I get this error when I start the script :
HTTP process killed :
[root@dev1-myeg system]# ps -aux | grep http
root 7272 0.0 0.0 112708 984 pts/2 S+ 16:44 0:00 grep --color=auto http
Starting the httpd service after it had been killed :
[root@dev1-myeg system]# systemctl start httpd.service
Warning: httpd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Job for httpd.service failed because a configured resource limit was exceeded. See "systemctl status httpd.service" and "journalctl -xe" for details.
I then edit the script to this (edited the command to start httpd) :
[root@dev1-myeg system]# cat httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=notify
EnvironmentFile=/usr/local/apache-2.4.33/bin/httpd
#ExecStart=/usr/local/apache-2.4.33/bin/httpd $OPTIONS -DFOREGROUND
ExecStart=/usr/local/apache-2.4.33/bin/httpd -k start
ExecReload=/usr/local/apache-2.4.33/bin/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
[root@dev1-myeg system]#
Trying to stop the service after the error :
[root@dev1-myeg system]# systemctl stop httpd.service
Warning: httpd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Still get error when trying to start the service :
[root@dev1-myeg system]# systemctl start httpd.service
Warning: httpd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Job for httpd.service failed because a configured resource limit was exceeded. See "systemctl status httpd.service" and "journalctl -xe" for details.
Trying to reload httpd :
[root@dev1-myeg system]# systemctl daemon-reload httpd.service
Invalid number of arguments.
Checking the output from httpd status :
[root@dev1-myeg system]# systemctl status httpd.service
�- httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: failed (Result: resources)
Dec 16 16:42:21 dev1-myeg.int.myeg.com.my systemd[1]: Failed to load environment files: Argument list too long
Dec 16 16:42:21 dev1-myeg.int.myeg.com.my systemd[1]: httpd.service failed to run 'start' task: Argument list too long
Dec 16 16:42:21 dev1-myeg.int.myeg.com.my systemd[1]: Failed to start The Apache HTTP Server.
Dec 16 16:42:21 dev1-myeg.int.myeg.com.my systemd[1]: Unit httpd.service entered failed state.
Dec 16 16:42:21 dev1-myeg.int.myeg.com.my systemd[1]: httpd.service failed.
Dec 16 16:44:35 dev1-myeg.int.myeg.com.my systemd[1]: Failed to load environment files: Argument list too long
Dec 16 16:44:35 dev1-myeg.int.myeg.com.my systemd[1]: httpd.service failed to run 'start' task: Argument list too long
Dec 16 16:44:35 dev1-myeg.int.myeg.com.my systemd[1]: Failed to start The Apache HTTP Server.
Dec 16 16:44:35 dev1-myeg.int.myeg.com.my systemd[1]: httpd.service failed.
Warning: httpd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
[root@dev1-myeg system]#
This is the output from journalctl -xe :
-- Logs begin at Tue 2019-12-10 05:01:01 +08, end at Mon 2019-12-16 17:40:02 +08. --
Dec 16 16:42:01 dev1-myeg.int.myeg.com.my systemd[1]: Started Session 133274 of user root.
-- Subject: Unit session-133274.scope has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit session-133274.scope has finished starting up.
--
-- The start-up result is done.
Dec 16 16:42:01 dev1-myeg.int.myeg.com.my CROND[7051]: (root) CMD (cd /usr/local/apache31-MYEG/htdocs/myeg_new_ui && php artisan get:survey > /usr/local/apache31-MYEG/logs/getsurvey-cron.lo
Dec 16 16:42:02 dev1-myeg.int.myeg.com.my postfix/pickup[6538]: 34C8D479D7F: uid=0 from=<root>
Dec 16 16:42:02 dev1-myeg.int.myeg.com.my postfix/cleanup[4839]: 34C8D479D7F: message-id=<20191216084202.34C8D479D7F@dev1-myeg.int.myeg.com.my>
Dec 16 16:42:02 dev1-myeg.int.myeg.com.my postfix/qmgr[5740]: 34C8D479D7F: from=<root@dev1-myeg.int.myeg.com.my>, size=2539, nrcpt=1 (queue active)
Dec 16 16:42:02 dev1-myeg.int.myeg.com.my postfix/local[4841]: 34C8D479D7F: to=<root@dev1-myeg.int.myeg.com.my>, orig_to=<root>, relay=local, delay=0.41, delays=0.39/0/0/0.01, dsn=5.2.2, st
Dec 16 16:42:02 dev1-myeg.int.myeg.com.my postfix/cleanup[4839]: 3B9CC47C211: message-id=<20191216084202.3B9CC47C211@dev1-myeg.int.myeg.com.my>
Dec 16 16:42:02 dev1-myeg.int.myeg.com.my postfix/qmgr[5740]: 3B9CC47C211: from=<>, size=4538, nrcpt=1 (queue active)
Dec 16 16:42:02 dev1-myeg.int.myeg.com.my postfix/bounce[6960]: 34C8D479D7F: sender non-delivery notification: 3B9CC47C211
Dec 16 16:42:02 dev1-myeg.int.myeg.com.my postfix/qmgr[5740]: 34C8D479D7F: removed
Dec 16 16:42:02 dev1-myeg.int.myeg.com.my postfix/local[4841]: 3B9CC47C211: to=<root@dev1-myeg.int.myeg.com.my>, relay=local, delay=0.02, delays=0.01/0/0/0.01, dsn=5.2.2, status=bounced (ca
Dec 16 16:42:02 dev1-myeg.int.myeg.com.my postfix/qmgr[5740]: 3B9CC47C211: removed
Dec 16 16:42:15 dev1-myeg.int.myeg.com.my graylog-collector-sidecar[3251]: time="2019-12-16T16:42:15+08:00" level=error msg="[UpdateRegistration] Failed to report collector status to server
Dec 16 16:42:21 dev1-myeg.int.myeg.com.my polkitd[3254]: Registered Authentication Agent for unix-process:7087:779850084 (system bus name :1.269220 [/usr/bin/pkttyagent --notify-fd 5 --fall
Dec 16 16:42:21 dev1-myeg.int.myeg.com.my systemd[1]: Failed to load environment files: Argument list too long
Dec 16 16:42:21 dev1-myeg.int.myeg.com.my systemd[1]: httpd.service failed to run 'start' task: Argument list too long
Dec 16 16:42:21 dev1-myeg.int.myeg.com.my systemd[1]: Failed to start The Apache HTTP Server.
-- Subject: Unit httpd.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit httpd.service has failed.
--
-- The result is failed.
Dec 16 16:42:21 dev1-myeg.int.myeg.com.my systemd[1]: Unit httpd.service entered failed state.
Dec 16 16:42:21 dev1-myeg.int.myeg.com.my systemd[1]: httpd.service failed.
Dec 16 16:42:21 dev1-myeg.int.myeg.com.my polkitd[3254]: Unregistered Authentication Agent for unix-process:7087:779850084 (system bus name :1.269220, object path /org/freedesktop/PolicyKit
Dec 16 16:42:23 dev1-myeg.int.myeg.com.my graylog-collector-sidecar[3251]: time="2019-12-16T16:42:23+08:00" level=error msg="[RequestConfiguration] Fetching configuration failed: Get http:/
Dec 16 16:42:55 dev1-myeg.int.myeg.com.my graylog-collector-sidecar[3251]: time="2019-12-16T16:42:55+08:00" level=error msg="[UpdateRegistration] Failed to report collector status to server
Dec 16 16:43:01 dev1-myeg.int.myeg.com.my systemd[1]: Started Session 133275 of user root.
-- Subject: Unit session-133275.scope has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit session-133275.scope has finished starting up.
--
-- The start-up result is done.
Dec 16 16:43:01 dev1-myeg.int.myeg.com.my CROND[7144]: (root) CMD (cd /usr/local/apache31-MYEG/htdocs/myeg_new_ui && php artisan get:survey > /usr/local/apache31-MYEG/logs/getsurvey-cron.lo
Dec 16 16:43:02 dev1-myeg.int.myeg.com.my postfix/pickup[6538]: 36908479D7F: uid=0 from=<root>
Dec 16 16:43:02 dev1-myeg.int.myeg.com.my postfix/cleanup[4839]: 36908479D7F: message-id=<20191216084302.36908479D7F@dev1-myeg.int.myeg.com.my>
lines 1-48/1435 3%
Please help me debug this, as I am not sure where to start.