squid3加速web服务器
测试环境: 操作系统 :centos5.0 Web 服务器 :apache2 tomcat 5.5 Jdk : j2se 1.5.5 1. 下载 squid-3.0.STABLE9.tar.gz (测试时最新的版本)。 http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE9.tar.gz 2. 添加用户及组 # useradd squid -M
测试环境:
操作系统:centos 5.0
Web 服务器: apache2 tomcat 5.5
Jdk : j2se 1.5.5
1. 下载squid-3.0.STABLE9.tar.gz (测试时最新的版本)。
http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE9.tar.gz
2. 添加用户及组
# useradd squid -M -c "Squid user" -d /dev/null -s /sbin/nologin
3. 解压并编译安装
tar squid-3.0.STABLE9.tar.gz
cd squid-3.0.STABLE9
./configure --prefix=/data/squid3 --disable-carp --with-aufs-threads=32 --with-pthreads --enable-storeio='ufs,aufs, null' --enable-disk-io='AIO,Blocking' --enable-removal-policies='heap,lru' --disable-wccp --enable-kill-parent-hack --disable-snmp --disable-poll --disable-select --enable-auth=basic --with-aio --disable-ident-lookup --with-filedescriptors=65536
编译参数不做详细介绍请查相关文档
Make
make install
安装完毕。
4. 配置
可能需要创建一些文件 这些都是配置文件中需要调用的(这个要注意文件的属主和权限)
1) [root@www ~]#cd /data/squid3/var/logs/
2) [root@www ~]#touch cache.log
3) [root@www ~]#chmod 755 cache.log
4) [root@www ~]#chown squid:squid cache.log
5) [root@www ~]#touch page_zs_access_log
6) [root@www ~]#chmod 755 page_zs_access_log
7) [root@www ~]#chown squid:squid page_zs_access_log
8) [root@www ~]#cd /data/squid3/etc/
9) 配置squid 配置文件 squid.conf
[root@www ~]# vi squid.conf (192.168.3.11 为服务器的ip 地址)
visible_hostname www.test.com
http_port 80 vhost vport
cache_mem 512 MB
maximum_object_size_in_memory 2048 KB
memory_replacement_policy lru
cache_dir ufs /tmp 512 16 256
max_open_disk_fds 0
minimum_object_size 0 KB
maximum_object_size 32768 KB
logformat
combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %
access_log /data/squid3/var/logs/page_zs_access_log combined
pid_filename/data/squid3/var/logs/squid.pid
cache_store_log none
cache_peer 192.168.3.11 parent 81 0 no-query no-digest originserver name=www
cache_peer_domain www www.test.com
cache_peer_access www allow all
http_access allow all
acl QUERY urlpath_regex cgi-bin .php .cgi .avi .wmv .rm .ram .mpg .mpeg .zip .exe
cache deny QUERY
cache_effective_user squid
cache_effective_group squid
10) [root@www ~]#/data/squid3/sbin/squid -k parse
可以根据这个测试命令用来验证squid.conf 的语法和配置(下面是OK 的如果不OK 会有相应的提示根据提示来修改配置文件)
2008/10/14 21:14:56| Processing Configuration File: /data/squid3/etc/squid.conf (depth 0)
11) [root@www ~]#/data/squid3/sbin/squid -z
用来创建缓存目录
12) vi 一个squid.sh 的启动脚本如下:赋予可执行权限
[root@www ~]#vi squid.sh
#!/bin/sh
#
ulimit -HSn 15000
# this script starts and stops Squid
echo 15000 > /proc/sys/fs/file-max
case "$1" in
start)
/data/squid3/sbin/squid -s
echo -n ' Squid'
;;
stop)
/data/squid3/sbin/squid -k shutdown
;;
esac
#chmod x squid.sh
5. 启动squid
[root@www ~]#./squid.sh start 就可以启动squid 了
查看有没有启动可以
[root@www ~]#ps fax|grep squid
13750 pts /3 S 0:00 _ grep squid
30474 ? Ss 0:00 /data/squid3/sbin/squid -s
30476 ? S 0:01 _ (squid) -s
通过命令lsof -i:80 查看谁占用了80 端口
查看squid 的访问日志。
[root@www ~]# tail – f /data/squid3/var/logs/page_zs_access_log
查看命中率及其他相关信息
[root@www ~]# /data/squid3/bin/squidclient -p 80 -h localhost mgr:info
HTTP/1.0 200 OK
Server: squid/3.0.STABLE9
Mime-Version: 1.0
Date: Tue, 14 Oct 2008 13:22:40 GMT
Content-Type: text/plain
Expires: Tue, 14 Oct 2008 13:22:40 GMT
Last-Modified: Tue, 14 Oct 2008 13:22:40 GMT
X-Cache:来自 www.6558855.com 的 MISS
通过:1.0 www.6558855.com (squid/3.0.STABLE9)
连接:关闭
Squid 对象缓存:版本 3.0.STABLE9
开始时间: 2008 年 10 月 14 日星期二 11:25:50 GMT
当前时间: 2008 年 10 月 14 日星期二 13:22:40 GMT
squid 的连接信息:
数量 客户端访问缓存: 2
数量 收到的 HTTP 请求: 772
数量 收到 ICP 消息: 0
数量 已发送 ICP 消息: 0
数量 排队的 ICP 回复: 0
数量 收到的 HTCP 消息: 0
数量 发送的 HTCP 消息: 0
要求 失败率: 0.00
此后每分钟平均 HTTP 请求数 开始: 6.6
平均ICP 自开始以来每分钟的消息数: 0.0
选择循环 调用:7081542 次,平均 0.990 毫秒
鱿鱼的缓存信息:
点击率% 所有请求的数量: 5分钟:0.0%,60分钟: 89.7%
点击率% 发送的字节数: 5分钟:-0.0%,60分钟: -0.0%
内存命中 占点击请求的百分比: 5分钟:0.0%, 60分钟:0.0%
磁盘命中 占点击请求的百分比:5 分钟:0.0%,60 分钟:0.0%
贮存 交换大小: 104 KB
存储交换容量: 0.0% 使用,100.0% 免费
存储内存 尺寸: 228 KB
存储内存 容量: 0.0% 使用,100.0% 免费
平均对象 尺寸: 10.40 KB
要求 给予取消链接: 68
中位服务时间(秒) 5分钟 60 分钟:
HTTP协议 请求(全部): 0.00000 0.00000
缓存 未命中: 0.00000 0.00000
缓存 点击次数: 0.00000 0.00000
靠近 点击次数: 0.00000 0.00000
未修改的回复: 0.00000 0.00000
域名系统 查找: 0.00000 0.00000
ICP 查询: 0.00000 0.00000
squid 的资源使用情况:
向上 时间: 7009.125 秒
中央处理器 时间: 0.948 秒
中央处理器 用法: 0.01%
CPU使用率, 5 分钟平均值: 0.00%
CPU使用率, 60 分钟平均值: 0.01%
过程 通过 sbrk() 的数据段大小:2968 KB
最大限度 驻留大小:0 KB
页面错误 使用物理 I/O:2
通过 mallinfo() 获取鱿鱼的内存使用情况:
总空间 在竞技场中: 3240 KB
普通的 块: 3194 KB 17块
小的 块: 0 KB 0 块
保持 块: 11472 KB 17块
免费小号 块: 0 KB
自由的 普通块: 45 KB
总计 使用: 14666 KB 100%
全部的 免费: 45 KB 0%
全部的 尺寸: 14712 KB
内存占比:
全部的 已计算: 3001 KB 20%
内存池 已计算: 3001 KB 20%
内存池 下落不明: 11710 KB 80%
memPoolAlloc 调用: 147106
内存池空闲 来电: 145713
squid 的文件描述符用法:
最大限度 文件描述符的数量: 15000
最大 当前使用的文件描述: 14
数量 当前使用的文件描述: 8
文件 排队等候开放: 0
可用的 文件描述符数量:14992
预订的 文件描述符的数量: 100
储存磁盘 文件打开: 0
内部数据结构:
45 商店条目
41 带有 MemObjects 的 StoreEntries
40 热门 对象缓存项
10 磁盘上的对象
6。 关于动态页面的缓存。
如 jsp 页面。
利用标题 为jsp 服务器减压
参与存储的jsp 加入如下程序,进行“Last-Modified ”和“过期 ”的设置;
长 file_lmodified = new File("/tmp/catchmodified".lastModified();
response.setBufferSize(16);
response.setDateHeader("最后修改时间", file_lmodified);
response.setDateHeader("过期", System.currentTimeMillis() / 1000 * 1000 300000);
response.flushBuffer();
%>
7。 添加自动更新记时方式
[root@www ~]# vi 刷新Catch.sh
#/bin/sh
/bin/echo >/tmp/catchmodified
Chmod x 刷新Catch.sh
然后在crontab 里写一句
*/5 * * * * /data/squid3/refreshCatch.sh

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

是的,可以在 Windows 7 上安装 MySQL,虽然微软已停止支持 Windows 7,但 MySQL 仍兼容它。不过,安装过程中需要注意以下几点:下载适用于 Windows 的 MySQL 安装程序。选择合适的 MySQL 版本(社区版或企业版)。安装过程中选择适当的安装目录和字符集。设置 root 用户密码,并妥善保管。连接数据库进行测试。注意 Windows 7 上的兼容性问题和安全性问题,建议升级到受支持的操作系统。

MySQL 和 MariaDB 可以共存,但需要谨慎配置。关键在于为每个数据库分配不同的端口号和数据目录,并调整内存分配和缓存大小等参数。连接池、应用程序配置和版本差异也需要考虑,需要仔细测试和规划以避免陷阱。在资源有限的情况下,同时运行两个数据库可能会导致性能问题。

无法以 root 身份登录 MySQL 的原因主要在于权限问题、配置文件错误、密码不符、socket 文件问题或防火墙拦截。解决方法包括:检查配置文件中 bind-address 参数是否正确配置。查看 root 用户权限是否被修改或删除,并进行重置。验证密码是否准确无误,包括大小写和特殊字符。检查 socket 文件权限设置和路径。检查防火墙是否阻止了 MySQL 服务器的连接。

MySQL安装报错的解决方法是:1.仔细检查系统环境,确保满足MySQL的依赖库要求,不同操作系统和版本需求不同;2.认真阅读报错信息,根据提示(例如缺少库文件或权限不足)采取对应措施,例如安装依赖或使用sudo命令;3.必要时,可尝试源码安装并仔细检查编译日志,但这需要一定的Linux知识和经验。最终解决问题的关键在于仔细检查系统环境和报错信息,并参考官方文档。

MySQL 有免费的社区版和收费的企业版。社区版可免费使用和修改,但支持有限,适合稳定性要求不高、技术能力强的应用。企业版提供全面商业支持,适合需要稳定可靠、高性能数据库且愿意为支持买单的应用。选择版本时考虑的因素包括应用关键性、预算和技术技能。没有完美的选项,只有最合适的方案,需根据具体情况谨慎选择。

MySQL无法直接在Android上运行,但可以通过以下方法间接实现:使用轻量级数据库SQLite,由Android系统自带,无需单独服务器,资源占用小,非常适合移动设备应用。远程连接MySQL服务器,通过网络连接到远程服务器上的MySQL数据库进行数据读写,但存在网络依赖性强、安全性问题和服务器成本等缺点。

MySQL能处理多个并发连接,利用多线程/多进程为每个客户端请求分配独立执行环境,确保不受干扰。但并发连接数量受系统资源、MySQL配置、查询性能、存储引擎和网络环境影响。优化需要考虑代码层面(编写高效SQL)、配置层面(调整max_connections)、硬件层面(提升服务器配置)等多方面因素。

无法从终端访问 MySQL 可能是由于:MySQL 服务未运行;连接命令错误;权限不足;防火墙阻止连接;MySQL 配置文件错误。
