zoukankan      html  css  js  c++  java
  • squid 学习笔记(4) --运行

    squid 命令行选项

    -a port 指定新的 http_port 值。该选项覆盖了来自 squid.conf 的值。然而请注意,你 能在 squid.conf 里指定多个值。-a 选项仅仅覆盖配置文件里的第一个值。(该 选项使用字母 a 是因为在 Harvest cache 里,HTTP 端口被叫做 ASCII 端口)

    -d level 让 squid 将它的调试信息写到标准错误(假如配置了,就是 cache.log 和 syslog)。level 参数指定了显示在标准错误里的消息的最大等级。在多数情况 下,d1 工作良好。请见 16.2 章关于调试等级的描述。

    -f file 指定另一个配置文件。

    -h 显示用法。 

    -k function 指示 squid 执行不同的管理功能。功能参数是下列之一:reconfigure, rotate, shutdown, interrupt, kill, debug, check, or parse. reconfigure 导致运 行中的 squid 重新读取配置文件。rotate 导致 squid 滚动它的日志,这包括了 关闭日志,重命名,和再次打开它们。shutdown 发送关闭 squid 进程的信号。 interrupt 立刻关闭 squid,不必等待活动会话完成。kill 发送 KILL 信号给 squid,这是关闭 squid 的最后保证。debug 将 squid 设置成完全的调试模式, 假如你的 cache 很忙,它能迅速的用完你的磁盘空间。check 简单的检查运行中

    的 squid 进程,返回的值显示 squid 是否在运行。最后,parse 简单的解析 squid.conf 文件,如果配置文件包含错误,进程返回非零值。

    -s 激活将日志记录到 syslog 进程。squid 使用 LOCAL4 syslog 设备。0 级别调试信 息以优先级 LOG_WARNING 被记录,1 级别消息以 LOG_NOTICE 被记录。更高级的 调试信息不会被发送到 syslogd.你可以在/etc/syslogd.conf 文件里使用如下 接口:

    local4.warning /var/log/squid.log

    -u port 指定另一个 ICP 端口号,覆盖掉 squid.conf 文件里的 icp_port。

    -v 打印版本信息。

    -z 初始化 cache,或者交换,目录。在首次运行 squid,或者增加新的 cache 目录 时,你必须使用该选项。

    -C 阻止安装某些信号句柄,它们捕获特定的致命信号例如 SIGBUS 和 SIGSEGV。正 常的,这些信号被 squid 捕获,以便它能干净的关闭。然而,捕获这些信号可能 让以后调试问题困难。使用该选项,致命的信号导致它们的默认动作,通常是 coredump。

    -D 禁止初始化 DNS 测试。正常情况下,squid 直到验证它的 DNS 可用才能启动。该 选项阻止了这样的检测。你也能在 squid.conf 文件里改变或删除 dns_testnames 选项。

    -F 让 squid 拒绝所有的请求,直到它重新建立起存储元数据。假如你的系统很忙, 该选项可以减短重建存储元数据的时间。然而,如果你的 cache 很大,重建过程 可能会花费很长的时间。

    -N 阻止 squid 变成后台服务进程。 -R 阻止 squid 在绑定 HTTP 端口之前使用 SO_REUSEADDR 选项。

    -V 激活虚拟主机加速模式。类似于 squid.conf 文件里的 httpd_accel_host virtual 指令。

    -X 强迫完整调试模式,如你在 squid.conf 文件里指定 debug_options ALL,9 一样。

    -Y 在重建存储元数据时,返回 ICP_MISS_NOFETCH 代替 ICP_MISS.忙碌的父 cache 在重建时,该选项可以导致最少的负载。、

    对配置文件查错

    squid -k parse
    

      

    初始化 cache 目录

    在初次运行 squid 之前,或者无论何时你增加了新的 cache_dir,你必须初始化 cache 目录。命令很简单: %squid -z

    对 UFS 相关的存储机制(ufs,aufs,and diskd;),该命令在每个 cache_dir 下面创建了所需的子目录。你不必担心 squid 会破坏你的当前 cache 目录(如果有的话)

    cache 目录初始化可能花费一些时间,依赖于 cache 目录的大小和数量,以及磁 盘驱动器的速度。假如你想观察这个过程,请使用-X 选项: %squid -zX

    在终端窗口里测试 squid 一旦你已经初始化 cache 目录,就可以在终端窗口里运行 squid,将日志记录到 标准错误。这样,你能轻易的定位任何错误或问题,并且确认 squid 是否成功启 动。使用-N 选项来保持 squid 在前台运行,-d1 选项在标准错误里显示 1 级别的 调试信息。 %squid -N -d1

    将 squid 作为服务进程运行

    %squid -s

    -s 选项导致 squid 将重要的状态和警告信息写到 syslogd。squid 使用 LOCAL4 设备,和 LOG_WARNING 和 LOG_NOTICE 优先权。syslog 进程实际可能会或不会记 录 squid 的消息,这依赖于它被如何配置。同样的消息被写进 cache.log 文件, 所以假如你愿意,忽略-s 选项也是安全的。

    当你不使用-N 选项来启动 squid,squid 自动在后台运行并且创建父/子进程对。 子进程做所有的实际工作。父进程确认子进程总在运行。这样,假如子进程意外 终止,父进程启动另外一个子进程以使 squid 正常工作。通过观察 syslog 消息, 你能看到父/子进程交互作用。 Jul 31 14:58:35 zapp squid[294]: Squid Parent: child process 296 started 这里显示的父进程 ID 是 294,子进程是 296。当你查看 ps 的输出,你可以看到 子进程以(squid)形式出现: % ps ax | grep squid 294 ?? Is 0:00.01 squid -sD 296 ?? S 0:00.27 (squid) -sD (squid)

    停止 squid

    最安全的停止 squid 的方法是使用 squid -k shutdown 命令: %squid -k shutdown

    该命令发送 TERM 信号到运行中的 squid 进程。在接受到 TERM 信号后,squid 关 闭进来的套接字以拒收新请求。然后它等待一段时间,用以完成外出请求。默认 时间是 30 秒,你可以在 shutdown_lifetime 指令里更改它。 假如因为某些理由,squid.pid 文件丢失或不可读,squid -k 命令会失败。在此 情形下,你可以用 ps 找到 squid 的进程 ID,然后手工杀死 squid。例如: %ps ax |grep squid 假如你看到不止一个 squid 进程,请杀死以(squid)显示的那个。例如: % ps ax | grep squid 294 ?? Is 0:00.01 squid -sD 296 ?? S 0:00.27 (squid) -sD (squid) % kill -TERM 296

    重配置运行中的 squid 进程

    重配置运行中的 squid 最好的方法是使用 squid -k reconfigure 命令: %squid -k reconfigure 当你运行该命令时,HUP 信号被发送到运行中的 squid 进程。然后 squid 读取和 解析 squid.conf 文件。假如操作成功,你可以在 cache.log 里看到这些: 2003/09/29 22:02:25| Restarting Squid Cache (version 2.5.STABLE4)... 2003/09/29 22:02:25| FD 12 Closing HTTP connection 2003/09/29 22:02:25| FD 13 Closing ICP connection 2003/09/29 22:02:25| Cache dir '/usr/local/squid/var/cache' size remains unchanged at 102400 KB 2003/09/29 22:02:25| DNS Socket created on FD。。。

    在 squid 运行时,某些指令和和选项不能改变,包括: • 删除 cache 目录(cache_dir 指令) • 改变 store_log 指令 • 改变 coss cache_dir 的块大小数值。事实上,无论何时你改变了该值,你必须重新初 始化 coss cache_dir. • coredump_dir 指令在重配置过程中不被检查。所以,在 squid 已经启动了后,你不能 让 squid 改变它的当前目录

  • 相关阅读:
    JS 异步编程
    JS XMLHttpRequest
    JS 日期
    JS DOM
    JS 异常处理
    JS BOM
    JS 正则表达式
    JS 面向对象
    (22)python PhantomJS
    HDU1698 线段树(区间更新区间查询)
  • 原文地址:https://www.cnblogs.com/saryli/p/15214895.html
Copyright © 2011-2022 走看看