systemd 开机无法启动privoxy

https://www.cnblogs.com/liuxuzzz/p/5329536.html

此博客不在更新,我的博客新地址: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也成功开机启动。

 
分类: linuxproxy

[转帖]systemd 开机无法启动privoxy的更多相关文章

  1. systemd 开机无法启动privoxy

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

  2. Android开机动画启动流程

    android开机动画启动流程   从android的Surface Flinger服务启动分析知道,开机动画是在SurfaceFlinger实例通过调用startBootAnim()启动的. 下面我 ...

  3. 关于自定义脚本rc.local里开机不启动的问题--以tomcat和perl相关的脚本为例

    本文将自己遇到的一些自定义脚本加入开机启动项却不成功的问题加以说明,花费了我很长时间才得以解决,当然也多谢了自己朋友的帮忙,正是因为他们的提醒,最后才找到了解决的办法,谢谢他们!!!! 系统是cent ...

  4. 完美解决 开机无法启动 提示0xc000000e

    注:昨天装系统碰到这个问题,这个方法说的较详细,我的是WIN7系统,开机提示引导文件错误,代码为0xc000000e 无法进入系统,使用PE进入后,在运行里输入CMD,然后按下文红字开始操作 完美解决 ...

  5. 在 win10 环境下,设置自己写的 程序 开机自动 启动的方法

    原文:在 win10 环境下,设置自己写的 程序 开机自动 启动的方法 1.是登录自己用户时才能开机启 C:\Users\username\AppData\Roaming\Microsoft\Wind ...

  6. Win10设置开机进入启动设置模块(进入安全模式等)

    Win10设置开机进入启动设置模块(进入安全模式等) Win10系统要进入安全模式或其他启动模式选择时,需要在系统中做如下设置后,才可在开机的时候对模式进行选择,操作如下: 1.依次点选:win10设 ...

  7. 非root用户随开机而启动mysql服务

    非root用户随开机而启动mysql服务 今天验证了一下,非root用户随开机而启动msyql服务的脚本执行效果,特此简要记录如下: 环境: 192.168.142.130 mysql 5.6.41 ...

  8. 使用VS开发的一个开机自启动启动、可接收指定数据关闭电脑或打开其他程序

    使用VS开发的一个开机自启动启动.可接收指定数据关闭电脑或打开其他程序需要注意的几点 为了能够在其他电脑上运行自己写的程序,需要在VS改一下编译的运行库.(项目->属性->配置属性-> ...

  9. 开机延时启动多程序(Dos下Start命令详解)

    前言 在实际开发当中,很多程序需要开机自启,并且对启动顺序有所要求,这里推荐一种最简单的开机延时启动多程序的方法,使用bat脚本来控制程序的启动顺序. Bat脚本实现 Bat比较简单,延时是采用pin ...

随机推荐

  1. English--辅音

    English|辅音 英语中的辅音,按照发音的松紧,唇形舌位,划分为七大类.需要好好地体会具体的发音部位与口型. 前言 目前所有的文章思想格式都是:知识+情感. 知识:对于所有的知识点的描述.力求不含 ...

  2. 攻防世界-web -高手进阶区-PHP2

    题目 首先发现源码泄露 /index.phps 查看源代码 即: <?php if("admin"===$_GET[id]) { echo("<p>no ...

  3. 使用 Spring 配置动态数据源实现读写分离

    关键词:DataSource .AbstractRoutingDataSource.AOP 首先是配置数据源 <!--读数据源配置--><bean id="readData ...

  4. Centos7 安装腾达U12驱动无线网卡

    解决过程: 办法一: CentOS7.3 默认的内核版本较低,为 3.10.0-514.el7.x86_64. 无论是使用腾达官方提供的驱动,还是github 上的驱动(链接 https://gith ...

  5. Wordpress 设置中文语言包

    从官方安装的是英文版的,想要切换成中文语言包 1.修改项目目录下面的wp-config文件: 添加define(‘WPLANG’, ‘zh_CN’); 保存文件 2.进入站点控制板(dashboard ...

  6. HDU 2612 Find a way 题解

    Find a way Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  7. pandas 生成并排放置的条形图和箱线图

    1.代码 import numpy as np import pandas as pd import matplotlib.pyplot as plt # 生成数据,创建 DataFrame np.r ...

  8. 不要让事实妨碍好故事:Facebook精准广告产品与硅谷创业揭秘,4星奇书《混乱的猴子》

        “ 现在,和往常一样,一些有先见之明的学者看到了这一天会再次到来,他们把这次全新的媒体中世纪化过程命名为“第二次口口相传”(Secondary Orality)和“古登堡右括号”(the Gu ...

  9. django bms

    1. 创建模型 一对多: 需要在""多""的表创建一个""关键字段"" 关联  就像在mysql的哪项少的比如(书与出版 ...

  10. vs2008 vc90.pdb 不是创建此预编译头时使用的 pdb 文件,请重新创建预编译头

    解决方案: 找到项目中的stdafx.cpp,右键属性,找到C/C++->预编译头, 设置为创建预编译头, 重新生成