《高性能Linux服务器构建实战》——2.4节运行Varnish

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 本节书摘来自华章社区《高性能Linux服务器构建实战》一书中的第2章,第2.4节运行Varnish,作者:高俊峰,更多章节内容可以访问云栖社区“华章社区”公众号查看

2.4 运行Varnish

2.4.1 varnishd指令
Varnish启动的命令是/usr/local/varnish/sbin/varnishd。此命令参数较多,用法比较复杂,在命令行执行“/usr/local/varnish/sbin/varnishd –h”即可得到varnishd的详细用法。表2-6列出了varnishd常用参数的使用方法和含义。


ca5a6204a74ca52df8f9b0f031ad09b3ec6a1fd7

2.4.2 配置Varnish运行脚本
在安装Varnish时,已经将Varnish的管理脚本复制到相应的目录下,这里稍作修改即可。首先修改/etc/sysconfig/varnish文件,根据这里的要求,配置好的文件如下:

NFILES=131072
MEMLOCK=82000
DAEMON_OPTS="-a 192.168.12.246:80 \
             -T 127.0.0.1:3500 \
             -f /usr/local/varnish/etc/vcl.conf \
             -u varnish -g varnish \
             -w 2,51200,10 \
             -n /data/varnish/cache \
             -s file, /data/varnish/cache/varnish_cache.data,4G"

这里需要说明的是,在32位操作系统下,最大只能支持2GB的缓存文件varnish_cache.data,如果需要更大的缓存文件,则需要安装64位的Linux操作系统。
接下来要修改的文件是/etc/init.d/varnish,找到如下几行,修改相应的路径即可。

exec="/usr/local/varnish/sbin/varnishd" 
prog="varnishd"
config="/etc/sysconfig/varnish"        
lockfile="/var/lock/subsys/varnish"

其中,exec用于指定varnishd的路径,只需修改为Varnish安装路径下对应的varnishd文件即可;config用于指定Varnish守护进程配置文件路径。
两个文件修改完毕,就可以授权、运行/etc/init.d/varnish脚本了。执行过程如下:

[root@varnish-server ~]#chmod 755 /etc/init.d/varnish
[root@varnish-server ~]#/etc/init.d/varnish 
Usage:/etc/init.d/varnish
{start|stop|status|restart|condrestart|try-restart|reload|force-reload}
从后两行的输出可知,此脚本功能强大,可以对Varnish进行启动、关闭、查看状态、重启等操作。最后,启动Varnish。过程如下:
[root@varnish-server ~]# /etc/init.d/varnish  start
Starting varnish HTTP accelerator:                         [  OK  ]

2.4.3 管理Varnish运行日志
Varnish是通过内存共享的方式提供日志的,它提供了两种日志输出形式,分别是:
通过自带的varnishlog指令获得Varnish详细的系统运行日志。
例如:

[root@varnish-server ~]#/usr/local/varnish/bin/varnishlog -n /data/varnish/cache
0 CLI          - Rd ping
0 CLI          - Wr 200 PONG 1279032175 1.0
0 CLI          - Rd ping
0 CLI          - Wr 200 PONG 1279032178 1.0

通过自带的varnishncsa指令得到类似Apache的combined输出格式的日志。
例如:

[root@varnish-server ~]#/usr/local/varnish/bin/varnishncsa  -n  /data/varnish/cache
也可以将日志输出到一个文件中,通过“-w”参数指定即可。
[root@varnish-server ~]#/usr/local/varnish/bin/varnishncsa -n /data/varnish/cache \
>-w /data/varnish/log/varnish.log

在Varnish的两种日志输出形式中,第一种在大多数情况下不是必须的,这里重点介绍第二种日志输出形式的配置方式。
下面编写一个名为varnishncsa的shell脚本,并把此文件放到/etc/init.d目录下。varnishncsa脚本的完整内容如下所示:

#!/bin/sh

if [ "$1" = "start" ];then
/usr/local/varnish/bin/varnishncsa -n /data/varnish/cache  -f |/usr/sbin/rotatelogs /data/varnish/log/varnish.%Y.%m.%d.%H.log 3600 480 &

elif [ "$1" = "stop" ];then
      killall varnishncsa
else 
                echo $0 "{start|stop}"
fi

在这个脚本中,通过管道方式把日志导入rotatelogs中,而rotatelogs是一个文件分割工具,它可以根据指定时间或者大小等方式来分割日志文件,这样就避免了日志文件过大而造成的性能问题。
其中,“3600”表示一个小时,也就是每个小时生成一个日志文件,“480”表示一个时区参数,中国是第八时区,相对于UTC相差480分钟。如果不设置480这个参数,将导致日志记录时间和服务器时间相差8小时。
通过对Varnish日志的监控,可以知道Varnish的运行状态和情况。
接着对此脚本进行授权。

[root@varnish-server ~]#chmod 755 /etc/init.d/varnishncsa
最后可以通过如下方式,对日志进行启动和关闭等操作。
[root@varnish-server ~]#/etc/init.d/varnishncsa  {start|stop }
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
8天前
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
|
27天前
|
Ubuntu Linux Go
golang编译成Linux可运行文件
本文介绍了如何在 Linux 上编译和运行 Golang 程序,涵盖了本地编译和交叉编译的步骤。通过这些步骤,您可以轻松地将 Golang 程序编译成适合 Linux 平台的可执行文件,并在目标服务器上运行。掌握这些技巧,可以提高开发和部署 Golang 应用的效率。
201 14
|
25天前
|
运维 监控 Linux
推荐几个不错的 Linux 服务器管理工具
推荐几个不错的 Linux 服务器管理工具
121 6
|
1月前
|
Prometheus 运维 监控
Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松
本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。
223 3
W9
|
2月前
|
运维 关系型数据库 MySQL
轻松管理Linux服务器的5个优秀管理面板
Websoft9 应用管理平台,github 2k star 开源软件,既有200+的优秀开源软件商店,一键安装。又有可视化的Linux管理面板,文件、数据库、ssl证书方便快捷管理。
W9
196 1
|
2月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
73 4
|
2月前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
2月前
|
运维 监控 Linux
服务器管理面板大盘点: 8款开源面板助你轻松管理Linux服务器
在数字化时代,服务器作为数据存储和计算的核心设备,其管理效率与安全性直接关系到业务的稳定性和可持续发展。随着技术的不断进步,开源社区涌现出众多服务器管理面板,这些工具以其强大的功能、灵活的配置和友好的用户界面,极大地简化了Linux服务器的管理工作。本文将详细介绍8款开源的服务器管理面板,包括Websoft9、宝塔、cPanel、1Panel等,旨在帮助运维人员更好地选择和使用这些工具,提升服务器管理效率。
|
1月前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
|
2月前
|
安全 Linux API
Linux服务器安全
人们常误认为服务器因存于数据中心且数据持续使用而无需加密。然而,当驱动器需维修或处理时,加密显得尤为重要,以防止数据泄露。Linux虽有dm-crypt和LUKS等内置加密技术,但在集中管理、根卷加密及合规性等方面仍存不足。企业应选择具备强大验证、简单加密擦除及集中管理等功能的解决方案,以弥补这些缺口。
44 0