zoukankan      html  css  js  c++  java
  • 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也成功开机启动。

  • 相关阅读:
    read和write函数
    Android开发(20)--RadioGroup的使用
    利用Excel批量高速发送电子邮件
    NOTIFYICONDATA结构
    辞职信模板
    使用markdown语法撰写csdn博客
    算法笔记2-优先队列(堆)(上)
    湖南两初中女生水库溺亡的最新相关信息
    《cracking the coding intreview》——链表
    java算法集训代码填空题练习1
  • 原文地址:https://www.cnblogs.com/liuxuzzz/p/5329536.html
Copyright © 2011-2022 走看看