最近在研究Postfix郵件網關,由于自己還是Linux界的白菜,是以在研究路上免不了遇到一些問題,比如今天就遇到了Postfix服務無法啟動的問題,最後經過排查後發現是一個配置影響的,但還是覺得應該分享出來排錯和解決的方法,以便有同我一樣也在開始研究Postfix的朋友能在遇到此問題時,少走彎路,好了報錯截圖如下附上:
好,重新開機無法成功,那麼先不要着急想是哪裡出問題,先來看看這個Postfix實際的狀态都提示什麼報錯?當執行“ [root@pek1-mgw-01 spool]# /etc/init.d/postfix status ”指令時,報了“-b 已死,但pid檔案仍存”,這不是擺明了告我服務已經死了,但是你的程序還是存在,是以程序号被占用了,還上哪裡去起動,好吧我也是真心醉了。
網上查了半天報錯,仍無結果,隻記得自己執行過一次yum update postfix,其它還沒有配了,但之前安裝時,也什麼也沒有配置,服務也是可以正常起來的呀?感覺不是服務的事情,很有可能是主配置檔案錯,因為之前的另一台Postfix是yum install postfix裝上的,就沒有這個報錯,更新也隻不過是到了現有yum源裡最新的版本,接下來,我執行了postfix check指令來檢查main.cf配置檔案是否正确,執行後,還真是有一個報錯,還是有一定的幫助,如下:
從這個報錯來持,應該是指定postfix系統監聽的網絡接口配置有問題。那接下來,通過“vi /etc/postfix/main.cf”進入main.cf主配置檔案看看,果然監聽了loalhost,但是這台機器的主機名稱已經是PEK1-MGW-01,上哪裡去找監聽這個名字去?好了,将“inet_interfaces = localhost”注釋掉,改為如下,再次重新開機,發現Postfix已經正常了。
但是,目前為了友善測試,還是inet_interfaces部分的監聽項改為了,取消對“inet_interfaces = all”的注釋,其它項全部注釋掉,如下圖所示:
好了,測試telnet 25端口是否正常吧,如下可見已經正常telnet連接配接25端口:
如下檢視端口,顯示25端口已經正常啟動:
如上就是關于Postfix服務無法啟動的排錯和分析過程,希望能給遇到類似問題的朋友們一定幫助。
本文轉自wangtingdong 51CTO部落格,原文連結:http://blog.51cto.com/tingdongwang/1655769,如需轉載請自行聯系原作者