You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 16.04下redis-server无法启动问题求助

Hey there, let's dig into this Redis startup issue you're facing on Ubuntu 16.04. Looking at your systemd and journalctl logs, the key red flag is this line from journalctl:

PID file /var/run/redis/redis-server.pid not readable (yet?) after start-post

This, combined with the "Start request repeated too quickly" error, tells us systemd isn't seeing the PID file Redis is supposed to create, so it keeps restarting until it hits the retry limit and gives up. Here are the actionable steps to fix this:

Step 1: Verify the PID directory exists and has correct permissions

Redis runs as the redis user by default, so it needs write access to the /var/run/redis directory where it creates the PID file. Run these commands to check and fix permissions:

# Check if the directory exists
ls -ld /var/run/redis

# If it doesn't exist, create it and set proper ownership/permissions
sudo mkdir -p /var/run/redis
sudo chown redis:redis /var/run/redis
sudo chmod 755 /var/run/redis

Step 2: Ensure Redis config matches systemd's expected PID path

Open your Redis config file (/etc/redis/redis.conf) and check the pidfile directive. It should point to the same path systemd is looking for:

pidfile /var/run/redis/redis-server.pid

If it's set to something else, update it, save the file, and proceed.

Step 3: Adjust systemd's startup timeout (if needed)

Sometimes Redis takes a few extra seconds to start up, and systemd might be too quick to check for the PID file. Edit the systemd service file:

sudo nano /lib/systemd/system/redis-server.service

Add this line under the [Service] section:

TimeoutStartSec=30

Then reload systemd to apply the change:

sudo systemctl daemon-reload

Step 4: Test Redis manually to catch hidden errors

Before trying to start the service again, stop any existing Redis processes and run it manually to see if there are underlying issues:

sudo systemctl stop redis-server
sudo -u redis /usr/bin/redis-server /etc/redis/redis.conf

Watch the output here—if there's a configuration error, missing dependencies, or memory issue, it will show up directly instead of being masked by systemd's messages.

Step 5: Check Redis's own log file

Don't forget to look at Redis's dedicated log for more details:

cat /var/log/redis/redis-server.log

This might reveal why Redis isn't creating the PID file in the first place (e.g., permission issues on the log directory, invalid config directives).

Once you've gone through these steps, try starting the service again:

sudo systemctl start redis-server

Then check its status with sudo systemctl status redis-server to confirm it's running.


Your Original Logs for Reference

systemctl status redis-server Output:

redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled) Active: inactive (dead) (Result: resources) since Fri 2018-05-25 22:08:43 EDT; 1min 3s ago Docs: http://redis.io/documentation, man:redis-server(1) Process: 29520 ExecStopPost=/bin/run-parts --verbose /etc/redis/redis-server.post-down.d (code=exited, status=0/SUCCESS) Process: 29515 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS) Process: 29509 ExecStop=/bin/run-parts --verbose /etc/redis/redis-server.pre-down.d (code=exited, status=0/SUCCESS) Process: 29505 ExecStartPost=/bin/run-parts --verbose /etc/redis/redis-server.post-up.d (code=exited, status=0/SUCCESS) Process: 29500 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS) Process: 29496 ExecStartPre=/bin/run-parts --verbose /etc/redis/redis-server.pre-up.d (code=exited, status=0/SUCCESS) Main PID: 18177 (code=exited, status=1/FAILURE) May 25 22:08:43 mysqlwebserv systemd[1]: Failed to start Advanced key-value store. May 25 22:08:43 mysqlwebserv systemd[1]: redis-server.service: Unit entered failed state. May 25 22:08:43 mysqlwebserv systemd[1]: redis-server.service: Failed with result 'resources'. May 25 22:08:43 mysqlwebserv systemd[1]: redis-server.service: Service hold-off time over, scheduling restart. May 25 22:08:43 mysqlwebserv systemd[1]: Stopped Advanced key-value store. May 25 22:08:43 mysqlwebserv systemd[1]: redis-server.service: Start request repeated too quickly. May 25 22:08:43 mysqlwebserv systemd[1]: Failed to start Advanced key-value store.

journalctl Output:

Subject: Unit redis-server.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit redis-server.service has failed. -- -- The result is failed. May 25 21:57:56 mysqlwebserv systemd[1]: redis-server.service: Unit entered failed state. May 25 21:57:56 mysqlwebserv systemd[1]: redis-server.service: Failed with result 'resources'. May 25 21:57:56 mysqlwebserv systemd[1]: redis-server.service: Service hold-off time over, scheduling restart. May 25 21:57:56 mysqlwebserv systemd[1]: Stopped Advanced key-value store. -- Subject: Unit redis-server.service has finished shutting down -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit redis-server.service has finished shutting down. May 25 21:57:56 mysqlwebserv systemd[1]: Starting Advanced key-value store... -- Subject: Unit redis-server.service has begun start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit redis-server.service has begun starting up. May 25 21:57:56 mysqlwebserv run-parts[27649]: run-parts: executing /etc/redis/redis-server.pre-up.d/00_example May 25 21:57:56 mysqlwebserv run-parts[27659]: run-parts: executing /etc/redis/redis-server.post-up.d/00_example May 25 21:57:56 mysqlwebserv systemd[1]: redis-server.service: PID file /var/run/redis/redis-server.pid not readable (yet?) after start-post: No such file or directory May 25 21:57:56 mysqlwebserv run-parts[27663]: run-parts: executing /etc/redis/redis-server.pre-down.d/00_example May 25 21:57:56 mysqlwebserv run-parts[27674]: run-parts: executing /etc/redis/redis-server.post-down.d/00_example May 25 21:57:56 mysqlwebserv systemd[1]: Failed to start Advanced key-value store. -- Subject: Unit redis-server.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit redis-server.service has failed. -- -- The result is failed. May 25 21:57:56 mysqlwebserv systemd[1]: redis-server.service: Unit entered failed state. May 25 21:57:56 mysqlwebserv systemd[1]: redis-server.service: Failed with result 'resources'. May 25 21:57:57 mysqlwebserv systemd[1]: redis-server.service: Service hold-off time over, scheduling restart. May 25 21:57:57 mysqlwebserv systemd[1]: Stopped Advanced key-value store. -- Subject: Unit redis-server.service has finished shutting down -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit redis-server.service has finished shutting down. May 25 21:57:57 mysqlwebserv systemd[1]: redis-server.service: Start request repeated too quickly. May 25 21:57:57 mysqlwebserv systemd[1]: Failed to start Advanced key-value store. -- Subject: Unit redis-server.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit redis-server.service has failed. -- -- The result is failed. May

内容的提问来源于stack exchange,提问作者Sandman007

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:06:07