systemd 开机无法启动privoxy

系统环境:ubuntu15.04 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也成功开机启动。

时间: 2024-11-10 09:30:22

systemd 开机无法启动privoxy的相关文章

Apache Tomcat开机后台启动

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开发而成.由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范.因为Tomcat 技术先进.性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web

VBS脚本完美实现开机延时启动

目录 概述 vbs内容示例: vbs示例语句分析 自定义vbs脚本 一些问题和解决方法 概述 系统开机时,顺带自动启动了不少驱动程序,使得电脑开机后鼠标要呆滞许久.为了加快windows的开机速度,在参考网上不少大牛的资料后,整理出使用vbs脚本利实现开机后延时启动程序的方法 vbs内容示例: #1 Dim delayer #2 Set delayer = CreateObject("WScript.Shell") #3 WScript.sleep 8000 #4 delayer.Ru

linux 开机批量启动程序

每天早上到公司第一件事打开电脑,打开我的qq,我的开发工具idea,在看看邮件,日复一日,变懒了,也变聪明了,写了下面一段脚本 文件名:mystart.sh #!bin/bash #检验我的开发工具是否已经启动,如果没有启动,启动程序,并在终端打印简单启动信息 ideaNum=`ps -ef | grep idea | awk '{print $2}' | wc -l` flag=2 if [ $ideaNum -lt $flag ];then nohup sh /home/wangjun/so

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

注:昨天装系统碰到这个问题,这个方法说的较详细,我的是WIN7系统,开机提示引导文件错误,代码为0xc000000e 无法进入系统,使用PE进入后,在运行里输入CMD,然后按下文红字开始操作 完美解决 开机无法启动 提示0xc000000e 问题 摘要:本文提供0xc000000e问题的解决方法和原理解释,保证完美修复启动菜单,启动菜单不会变成英文还是中文,且所有启动项都可以正常使用. 关键词:Windows Vista SP1 Ghost 开机 0xc000000e 无法 启动 不了 问题描述

Linux系统开机和启动过程

提起操作系统这个词,想必大家并不陌生,有电脑端操作系统和手机端操作系统.电脑端操作系统较为熟悉的就是微软开发的windows操作系统,还有一种就是大家稍微陌生的linux操作系统,而手机端的操作系统分别为iOS操作系统,Android操作系统.而今天小编就给大家着重讲讲Linux系统开机和启动过程. 内核引导 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动. 操作系统接管硬件以后,首先读入 /boot 目录下的内核文件. 运行init init 进程

设置软件windows开机自行启动

1.Windows10开机自行启动的目录一般为: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 2.可以通过下面的方式打开: Win+R 打开运行窗口,输入shell:startup 可快捷打开,如: 把你要需要开机启动的软件的快捷方式复制一份到该目录下即可完成开机自启,像开发工具Eclipse这样的不会设置开机自启的,这样会方便得多. 原文地址:https://www.c

linux debain systemd 开机启动 nodejs 兼容原initd启动 forever 开机自启

布署环境为debian 7.5 布署到一台新机器,系统版本为debian 8.0 原启动项 /etc/init.d/mongo_service 开机居然无法自起 开机自启动不能用了,看页面输出就发觉不对劲,确定是systemd,之前搭建部署coreos(也是用的systemd) docker kubernetes接触过,很亲切,只是迁移要费点时间. 原来debian升级8.0后,改为用systemd管理启动项. 查资料知,兼容原启动管理,systemd 会自动生成 unit. 输入 system

RHEL7/CentOS7 NTP开机无法启动的解决方法

安装NTP之后,systemctl enable ntpd设置为开机自动启动,但是重启之后NTP并没有启动, #systemctl status ntpd ● ntpd.service - Network Time Service    Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)    Active: inactive (dead) 从给出的信息可知ntp已被设置为

RHEL7/CentOS7 Network Service开机无法启动的解决方法

RHEL7/CentOS7安装完成并配置好所有网络相关配置后重启机器,使用systemctl --failed检查是否有失败的服务,发现在network服务启动失败,使用systemctl status network查看服务状态,得到如下错误信息: [plain] view plain copy <span style="font-family:Microsoft YaHei;font-size:14px;"># systemctl status network netw