systemd 開機無法啟動privoxy


此博客不在更新,我的博客新地址:www.liuquanhao.com

---------------------------------------------------------------------

 

系統環境:ubuntu15.10 64bit , privoxy 3.0.24

代理環境:http://www.cnblogs.com/liuxuzzz/p/5324749.html

 

1. 重現失敗環境。

不知道是什么原因,privoxy無法開機啟動。於是,我手動使用systemctl開啟。

$ sudo systemctl start privoxy.service

結果失敗,提示使用 systemctl status privoxy.service 和 journalctl -xe察看原因。

$ sudo systemctl status privoxy.serivce
$ journalctl -xe

輸出信息並沒有什么,僅僅一個failed ......status = 1.

 

2.嘗試手動運行privoxy.service中的命令。

$ cat /lib/systemd/system/privoxy.service

輸出:

[Unit]
Description=Privacy enhancing HTTP Proxy

[Service]
Environment=PIDFILE=/var/run/privoxy.pid
Environment=OWNER=privoxy
Environment=CONFIGFILE=/etc/privoxy/config
Type=forking
PIDFile=/var/run/privoxy.pid
ExecStart=/usr/sbin/privoxy  --pidfile $PIDFILE --user $OWNER $CONFIGFILE 
ExecStopPost=/bin/rm -f $PIDFILE
SuccessExitStatus=15

[Install]
WantedBy=multi-user.target

“ExecStart=”后面的就是會執行的命令,注意將$PIDFILE等變量換掉。

$ sudo /usr/sbin/privoxy  --pidfile/var/run/privoxy.pid --user privoxy /var/run/privoxy.pid

發現並不能啟動privoxy,查了下privoxy的幫助,加了下--no-daemon參數,就是不把privoxy作為后台daemon運行。

$ sudo /usr/sbin/privoxy  --no-daemon --pidfile/var/run/privoxy.pid --user privoxy /var/run/privoxy.pid

結果成功了! 

 

3.將正確的命令替換到privoxy.service中。

於是把--no-daemon添加到privoxy.service的“ExeStart=”里面。

$ sudo vim /lib/systemd/system/privoxy.service

將:

ExecStart=/usr/sbin/privoxy  --pidfile $PIDFILE --user $OWNER $CONFIGFILE

換成:

ExecStart=/usr/sbin/privoxy  --no-daemon --pidfile $PIDFILE --user $OWNER $CONFIGFILE

重新啟動privoxy。

$ sudo systemctl daemon-reload
$ sudo systemctl start privoxy.service

結果一直不退出,但是用netstat -lnpt查看,發現privoxy啟動成功了。

$ netstat -lnpt | grep 8118

tcp        0      127.0.0.1:8118            0.0.0.0:*               LISTEN 

 然后我想了一下,可能是systemd啟動類型有問題,可是我改了下privoxy.service的啟動類別。

$ sudo vim /lib/systemd/system/privoxy.service

將:

[Unit]
Description=Privacy enhancing HTTP Proxy

[Service]
Environment=PIDFILE=/var/run/privoxy.pid
Environment=OWNER=privoxy
Environment=CONFIGFILE=/etc/privoxy/config
Type=forking
PIDFile=/var/run/privoxy.pid
ExecStart=/usr/sbin/privoxy --no-daemon --pidfile $PIDFILE --user $OWNER $CONFIGFILE 
ExecStopPost=/bin/rm -f $PIDFILE
SuccessExitStatus=15

改為:

[Unit]
Description=Privacy enhancing HTTP Proxy

[Service]
Environment=PIDFILE=/var/run/privoxy.pid
Environment=OWNER=privoxy
Environment=CONFIGFILE=/etc/privoxy/config
Type=simple
PIDFile=/var/run/privoxy.pid
ExecStart=/usr/sbin/privoxy --no-daemon --pidfile $PIDFILE --user $OWNER $CONFIGFILE 
ExecStopPost=/bin/rm -f $PIDFILE
SuccessExitStatus=15

重新啟動privoxy,結果成功啟動privoxy,privoxy.service也成功退出。

$ sudo systemctl daemon-reload
$ sudo systemctl start privoxy.service

 

4.最后重啟系統,privoxy也成功開機啟動。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM