這個問題剛開始困惑了我很久,明明檔案是存在的啊,指令碼也沒什麼錯啊,怎麼就是說檔案找不到,後面在網看到說是因為檔案格式為doc,linux不能識別,所以,我的做法是:把檔案內容複製出來,然後把之前的/etc/init.d/nginx刪除,用 vi /etc/init.d/nginx再建乙個,再把內容複製進去,我是這麼解決了。在網上又看到乙個理簡便的方法:可以通過vim開啟該檔案,如果可以看到出現 ^m 的字元,就可以確定是dos格式的了。那麼可以在vim中執行命令 :%s/\r\+$//e ,將其轉換成unix格式即可。 第二種方法沒試過,不知道能不能行,我相信應該是可以的。
這是乙個警告,這個是在我修改/etc/init.d/nginx檔案之後出現的,這個問題,直接按它提示的操作:$ systemctl daemon-reload 就可以了。
出現這樣的提示,一般先執行 $ systemctl status nginx.service 看看下面的具體情況,比如:
[root@leco init.d]# systemctl status nginx.service
nginx.service - lsb: start and stop nginx
loaded: loaded (/etc/rc.d/init.d/nginx)
active: failed (result: resources) since 三 2015-06-24 20:21:31 cst; 5min ago
process: 18620 execstart=/etc/rc.d/init.d/nginx start (code=exited, status=0/success)
6月 24 20:21:31 leco.lan systemd[1]: starting lsb: start and stop nginx...
6月 24 20:21:31 leco.lan nginx[18620]: starting nginx: nginx: [emerg] open() "/var/run/nginx/nginx.pid" failed (2: no such file or directory)
6月 24 20:21:31 leco.lan nginx[18620]: [ 確定 ]
6月 24 20:21:31 leco.lan systemd[1]: pid file /var/run/nginx/nginx.pid not readable (yet?) after start.
6月 24 20:21:31 leco.lan systemd[1]: failed to start lsb: start and stop nginx.
6月 24 20:21:31 leco.lan systemd[1]: unit nginx.service entered failed state.
這種都屬於常見的,$ sudo mkdir -p /var/cache/nginx/client 就可以了,類似的問題都是這樣做,但是像/var/run/nginx/nginx.pid這樣的程序檔案好像不能這樣做吧。
這個一看就是許可權問題,切換 $ sudo 或 $ su。大家主要還是要耐心的把錯誤日誌看完整,不要一出問題就去google,以前我也有那樣的臭毛病,很簡單的問題,大家也不會去在網上發,結果找半天也沒有網上找到答案,結果回頭仔細看看日誌,又找到了毛病。
CentOS 7 Nginx 控制指令碼
傳送門 2 乾貨 相信看了準備活動,基本上就會了,這個比起下面那個方法實在是簡單多了直接上指令 sudo vi usr lib systemd system nginx.service 輸入下面內容,並儲存 unit description nginx high performance web se...
CentOS7 Nginx基本操作
我初學nginx伺服器配置,有些操作記不住,所以總結一下放一起。根據學習使用的情況,內容會不定期更新。yum安裝nginx的配置檔案目錄 etc nginx 編譯安裝的nginx的配置檔案目錄 usr local nginx conf 無論是如何安裝的nginx,配置檔案的修改方式都是一樣的,只需要...
centos7 nginx 日誌清理
nginx 日誌檔案需要手動清理分割,因此寫個指令碼實現自動化 建立指令碼檔案clear log.shcd usr local nginx sbin vi clear log.sh bin bash 先複製原來的錯誤日誌檔案,請根據自己實際的日誌路徑填寫 cp usr local nginx log...