我正在尝试在ubuntu 16.04上安装varnish,

我看过几篇文章都没有.
从我读到的,自ubuntu 15.04以来,配置清漆的方式已经改变(因为systemd).

现在,我有一个真正的混乱,不起作用:

/ etc / default / varnish:

DAEMON_OPTS="-a :80 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -s malloc,256m"

/etc/varnish/default.vcl(通常它指向一个指向127.0.0和端口8080的主机,但出于debuging目的我将其修改为外部域)
vcl 4.0;

# Default backend deFinition. Set this to point to your content server.
backend default {
    .host = "www.varnish-cache.org"; 
    .port = "80";
}

/etc/apache2/ports.conf

Listen 8080

grep -R’ExcStart = /usr/sbin / varnishd’/ etc /

/etc/systemd/system/varnish.service:ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
/etc/systemd/system/varnish.service.d/customexec.conf:ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
/etc/systemd/system/multi-user.target.wants/varnish.service:ExecStart=/usr/sbin/varnishd -j unix,256m

/lib/systemd/system/varnish.service:

GNU nano 2.5.3                                                Fichier: /lib/systemd/system/varnish.service                                                                                                      

[Unit]
Description=Varnish HTTP accelerator
Documentation=https://www.varnish-cache.org/docs/4.1/ man:varnishd

[Service]
Type=simple
LimitNOFILE=131072
LimitMEmlock=82000
ExecStart=/usr/sbin/varnishd -j unix,256m
ExecReload=/usr/share/varnish/reload-vcl
ProtectSystem=full
ProtectHome=true
PrivateTmp=true
PrivateDevices=true

[Install]
WantedBy=multi-user.target

服务–status-all | grep清漆

[ - ]  varnish
 [ + ]  varnishlog
 [ + ]  varnishncsa

之后

sudo service varnish stop
sudo service varnish start

清漆服务没有在http://127.0.0.1:80/上监听,在重新启动之前,它会在http://127.0.0.1:6081/上收听,但它不再工作……我不知道知道该做些什么……

编辑:重启后,没有任何作用,

如果我做 :
systemctl状态清漆

● varnish.service - Varnish HTTP accelerator
   Loaded: loaded (/etc/systemd/system/varnish.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/varnish.service.d
           └─customexec.conf
   Active: inactive (dead) since jeu. 2017-01-05 14:48:09 CET; 1s ago
     Docs: https://www.varnish-cache.org/docs/4.1/
           man:varnishd
  Process: 5077 ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m (code=exited,status=0/SUCCESS)
 Main PID: 5077 (code=exited,status=0/SUCCESS)

janv. 05 14:48:09 xubuntu-16 systemd[1]: Started Varnish HTTP accelerator.

服务–status-all | grep清漆

[ - ]  varnish
 [ - ]  varnishlog
 [ - ]  varnishncsa

如果我sudo:varnishd -d -f /etc/varnish/default.vcl,然后开始,一切正常……直到我退出cli

感谢@Gerald Schneider的回应.我发布了我必须做的步骤:

sudo apt remove varnish
sudo apt-get purge varnish
# I manually remove the 3 files in created in /etc/systemd/system/*
sudo apt install varnish
sudo nano /lib/systemd/system/varnish.service # put the rigth conf
sudo nano /etc/varnish/default.vcl #put the rigth conf
sudo systemctl daemon-reload
sudo service varnish restart

一切正常!
魔术在/lib/systemd/system/varnish.service文件中,我发现的其他在线资源让我认为它在其他地方,所以要小心在线(过时的)教程!

您还需要更改systemd服务定义中的varnish start参数.您可以在服务定义文件中编辑以ExecStart开头的行:
sudo vi /lib/systemd/system/varnish.service

但是,修改此文件的缺点是在将来的软件包更新中不会更新.或者,如注释中所建议的那样,您可以创建一个systemd drop in file,这是向systemd定义添加设置的首选方法.

# create the drop in directory
sudo mkdir /etc/systemd/system/varnish.service.d
# create the drop in file. The name is irrelevant,as long as it ends in .conf
sudo vi /etc/systemd/system/varnish.service.d/mysettings.conf

在这里,您只需要添加您想要更改的设置,其他所有内容都将从默认定义文件中加载.

例:

[Service]
ExecStart=/usr/sbin/varnishd -j unix,256m

这是默认行,根据需要进行更改

然后,告诉systemctl重新加载它的配置文件并重启服务

sudo systemctl daemon-reload
sudo service varnish restart

现在,Varnish应该在端口80上收听.

ubuntu – varnish守护程序不监听已配置的端口的更多相关文章

  1. iOS – 友好的NSDate格式

    我需要在我的应用程序中显示帖子的日期给用户,现在我用这种格式:“5月25日星期五”.如何格式化NSDate以阅读“2小时前”的内容?使其更加用户友好.解决方法NSDateFormatter不能做这样的事情;你将需要建立自己的规则.我想像:所以这是打印’x分钟前’或’x小时前’从日期起24小时,通常是一天.

  2. 记一次云计算测试实验-openstack-icehouse-安装swift

    -----------------------controller:---------------------------------sourceadmin-openrc.shkeystoneuser-create--name=swift--pass=000000--email=swift@localhostkeystoneuser-role-add--user=swift--tenant=ser

  3. android – 模拟器中hosts文件中的Url映射被忽略

    我正在使用genymotion仿真器,并使用它从主机文件中提取adbremountadbpull/system/etc/hostsC:\Users\Rkn09\Desktop\hosts我添加了新的映射192.168.0.115xxx.mydomain.com,我把它推回到模拟器使用adbpushC:\Users\Rkn09\Desktop\hosts/system/etc/hosts但是当我向x

  4. 使用systemd部署服务的过程解析

    这篇文章主要介绍了使用systemd部署服务的过程解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  5. centos – varnishd:找不到命令

    还有其他我可以检查的东西吗?

  6. 无法在CentOS 7上安装Varnish

    我想在CentOS7上安装Varnish4.我首先添加了这些rpm:但我明白了:我不知道你关注的是谁的指示,但指令是错误的,或者他们是错误的指示.在干净的CentOS7系统上,您可以通过以下方式安装Varnish4:由于您的系统不再干净,您必须先清理它.特别是:>您安装了EL6的jemalloc软件包.您需要将其替换为EL7.由于您已经安装了EPELrepo,因此应该足够:否则只需删除并重新安装即

  7. centos – 使用systemd启动程序

    [免责声明:我几天前在StackOverflow上发布了同样的问题,认为这是一个更加以编程为中心的问题,但是没有看到任何活动,我认为这与系统管理相关,其相关性在这里太]systemd单元看起来像这样:然后你可以这样做:mansystemctl应该让你走上正轨.

  8. systemd-journald无法在CentOS 7上启动

    查看两条SERVICE_START消息,一条res=失败,另一条res=success.谷歌告诉我没有其他人有这个问题.有任何想法吗?AVC表示正在读取的文件没有SELinux标签.如果在创建文件时禁用SELinux,或者如果它是在不支持SELinux的文件系统上创建,则会发生这种情况.如果某人已经禁用并重新启用SELinux,那么您应该能够通过重新标记文件系统来解决问题.您可以在线完成以下操作:如果文件所在的文件系统不支持SELinux,则需要将其替换为支持SELinux的文件系统,然后重新标记.

  9. 无法在Centos 6.4 64bit中使用yum安装mysql / mysql-server

    )areallowed.

  10. centos – 如何使用SSH列出所有FTP用户名

    我有一个CentOS5.5服务器.如何使用SSH获取服务器上所有FTP用户的列表?首先,无论你是在本地还是远程执行此操作,都无论如何都要在打开的会话期间进行shell访问.如果您只想在远程计算机上执行单个命令并断开连接,则可以在引号内指定它:但是,您几乎没有选项列出特定组中的所有用户:使用getent工具:旧时尚方式:使用家庭酿造脚本,您可以根据自己的需要进行调整:此脚本已从here中删除.

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部