在ubuntu上搭建代理服务器,请问需要根据OS系统调整哪些参数

在ubuntu上搭建代理服务器,请问需要根据OS系统调整哪些参数

在ubuntu上搭建代理服务器,请问需要根据OS系统调整哪些参数?

我正在将运行在 redhat linux 上的 squid 迁移到 ubuntu。在 rhel 上运行时设置了参数,但在 ubuntu 上运行时

squid[1966]: 警告!您的缓存已用完文件描述符#012 监听端口:8080

我收到了警告,squid 的性能没有出来。我在 rhel 上运行时没有发生这种情况。

显然,squid 的最大文件描述符数为 1024,似乎无法进行更多处理。在 ubuntu 上作为服务器运行时,作为与这些 OS 系统相关的需要调整的参数请告诉我有什么样的事情。

答案1

假设您正在运行现代版本的 Ubuntu,则需要对可以随时打开的文件数量进行一些更改。请务必确认您的服务器安装了足够的 RAM 来处理所有文件,并确保在内存耗尽的情况下有大量可用的交换空间。内存管理不善可能会导致服务器锁定。

免责声明:

您将更改可同时打开处理的文件数量。这将对预留给缓冲区的 RAM 数量以及您可能需要的交换空间产生直接影响。您——和仅有的您 — — 是唯一能够提前确定系统需要多少内存用于 RAM 和交换以确保您的 Squid 安装不会导致服务器崩溃的人。

完成上述操作后,您需要编辑三个文件并重新启动才能解决缓存问题。操作方法如下:

  1. 连接到服务器(如果尚未连接)

  2. 编辑limits.conf文件:

    sudo {editor of choice} /etc/security/limits.conf 
    

    笔记:请务必{editor of choice}用您选择的编辑器进行替换。

  3. 在配置文件底部添加以下行:

    * - nofile 65535
    

    这会将每个用户的打开文件数更改为 65,535。不要超过这个数字除非你确切地知道你在做什么以及为什么这么做。如果这个数字高于你的系统可以处理的范围,就会发生糟糕的事情。

  4. 保存文件并退出编辑器

  5. 编辑squid系统配置文件:

    sudo {editor of choice} /etc/sysconfig/squid
    

    笔记:请务必{editor of choice}用您选择的编辑器进行替换。

  6. 在配置文件底部添加以下行:

    ulimit -n 65535
    

    这会将 Squid 可以打开的文件数更改为 65,535。不要超过这个数字除非你确切地知道你在做什么以及为什么这么做。如果这个数字高于你的系统可以处理的范围,就会发生糟糕的事情。

  7. 保存文件并退出编辑器。

  8. 编辑squid.conf配置文件:

    sudo {editor of choice} /etc/squid/squid.conf
    

    笔记:请务必{editor of choice}用您选择的编辑器进行替换。

  9. 在配置文件底部添加以下行:

    max_filedescriptors 65535
    

    笔记:此数字不应超过您使用的值ulimit

  10. 保存文件并退出编辑器

  11. 重启

根据您使用 Squid 的目的、服务器上安装了多少内存、正在运行多少其他服务以及系统整体繁忙程度,您应该不再看到缓存警告。

相关内容