因此,我不得不在Rocky Linux 8 memcached中部署/var/run/memcached中的套接字
为了避免服务失败,我运行了以下命令:
粘在:
[Unit]
Description=Memcached
Before=httpd.service
After=network.target
[Service]
Type=simple
User=memcached
Group=memcached
# Run ExecStartPre with root-permissions
ExecStartPre=-/usr/bin/mkdir /var/run/memcached
ExecStartPre=-/usr/bin/chown -R memcached:memcached /var/run/memcached/
[Install]
WantedBy=multi-user.target
[root@cp monit.d]# service memcached status
Redirecting to /bin/systemctl status memcached.service
● memcached.service - Memcached
Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/memcached.service.d
└─override.conf
Active: active (running) since Thu 2022-10-13 15:23:50 CEST; 3s ago
Process: 1336192 ExecStartPre=/usr/bin/chown -R memcached:memcached /var/run/memcached/ (code=exited, status=0/SUCCESS)
Process: 1336188 ExecStartPre=/usr/bin/mkdir /var/run/memcached (code=exited, status=1/FAILURE)
Main PID: 1336194 (memcached)
Tasks: 10 (limit: 101049)
Memory: 3.6M
CGroup: /system.slice/memcached.service
└─1336194 /usr/bin/memcached -p 11211 -u memcached -m 256 -c 1024 -s /var/run/memcached/memcached.sock -a 0770
Oct 13 15:23:50 cp.uhlhosting.ch systemd[1]: Starting Memcached...
Oct 13 15:23:50 cp.uhlhosting.ch systemd[1]: Started Memcached.
怎样才能避免这种失败呢?
ExecStartPre=/usr/bin/mkdir /var/run/memcached (code=exited, status=1/FAILURE)
谢谢!
发布于 2022-10-13 12:16:05
您现在所做的--通过ExecStartPre
创建D1
--是很好的,但是处理这个问题的标准方法是通过systemd-tmpfiles
服务。您可以使用以下内容创建/etc/tmpfiles.d/memcache.conf
:
D /run/memcached 0700 memcached memcached
这将在系统启动时创建目录/run/memcached
(通常,/var/run
只是指向/run
的符号链接)。这意味着您不需要处理在服务单元中创建目录的问题。
还请参阅tmpfiles.d
手册页和/etc/tmpfiles.d
或/usr/lib/tmpfiles.d
中的现有配置文件。
https://serverfault.com/questions/1112997
复制