MongoDB 4升級提示 /var/run/mongod.pid: Invalid argument`
因安全需要,需要升級MongoDB,本來是件很簡單的事,把包下載下來 ??-Uvh?
??就完事了。萬萬沒想到花了十幾分鐘。升級以后一直報 ??Failed to read PID from file /var/run/mongod.pid: Invalid argument?
?
Starting High-performance, schema-free document-oriented database...
Failed to read PID from file /var/run/mongod.pid: Invalid argument
Stopped High-performance, schema-free document-oriented database.
關鍵是MongoDB配置文件里面已經(jīng)配置了pid文件
[root@ecs-11-152 mongodb]# grep pid /etc/mongod.conf
pidFilePath: /data/mongodb/mongod.pid # location of pidfile
這個 ??/var/run/mongod.pid?
? 不知道是哪來的
網(wǎng)上查沒有只發(fā)現(xiàn)一個類似的報錯?
問題產(chǎn)生原因
因為 nginx 啟動需要一點點時間,而 systemd 在 nginx 完成啟動前就去讀取 pid file
造成讀取 pid 失敗解決方法
讓 systemd 在執(zhí)行 ExecStart 的指令后等待一點點時間即可
如果你的 nginx 啟動需要時間更長,可以把 sleep 時間改長一點
建立目錄
mkdir -p /etc/systemd/system/nginx.service.d在新建目錄中建立文件override.conf,輸入內(nèi)容
[Service]
ExecStartPost=/bin/sleep 0.1然后
systemctl daemon-reload
systemctl restart nginx.service
于是去查看MongoDB的啟動文件,??/lib/systemd/system/mongod.service?
?
結果發(fā)現(xiàn)有這么一行
PIDFile=/var/run/mongod.pid
把這一行屏蔽以后重啟,問題解決
本文摘自 :https://blog.51cto.com/u