此博客不在更新,我的博客新地址: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也成功開機啟動。
