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: MISS from www.6558855.com
Via: 1.0 www.6558855.com (squid/3.0.STABLE9)
Connection: close
Squid Object Cache: Version 3.0.STABLE9
Start Time: Tue, 14 Oct 2008 11:25:50 GMT
Current Time: Tue, 14 Oct 2008 13:22:40 GMT
Connection information for squid:
Number of clients accessing cache: 2
Number of HTTP requests received: 772
Number of ICP messages received: 0
Number of ICP messages sent: 0
Number of queued ICP replies: 0
Number of HTCP messages received: 0
Number of HTCP messages sent: 0
Request failure ratio: 0.00
Average HTTP requests per minute since start: 6.6
Average ICP messages per minute since start: 0.0
Select loop called: 7081542 times, 0.990 ms avg
Cache information for squid:
Hits as % of all requests: 5min: 0.0%, 60min: 89.7%
Hits as % of bytes sent: 5min: -0.0%, 60min: -0.0%
Memory hits as % of hit requests: 5min: 0.0%, 60min: 0.0%
Disk hits as % of hit requests: 5min: 0.0%, 60min: 0.0%
Storage Swap size: 104 KB
Storage Swap capacity: 0.0% used, 100.0% free
Storage Mem size: 228 KB
Storage Mem capacity: 0.0% used, 100.0% free
Mean Object Size: 10.40 KB
Requests given to unlinkd: 68
Median Service Times (seconds) 5 min 60 min:
HTTP Requests (All): 0.00000 0.00000
Cache Misses: 0.00000 0.00000
Cache Hits: 0.00000 0.00000
Near Hits: 0.00000 0.00000
Not-Modified Replies: 0.00000 0.00000
DNS Lookups: 0.00000 0.00000
ICP Queries: 0.00000 0.00000
Resource usage for squid:
UP Time: 7009.125 seconds
CPU Time: 0.948 seconds
CPU Usage: 0.01%
CPU Usage, 5 minute avg: 0.00%
CPU Usage, 60 minute avg: 0.01%
Process Data Segment Size via sbrk(): 2968 KB
Maximum Resident Size: 0 KB
Page faults with physical i/o: 2
Memory usage for squid via mallinfo():
Total space in arena: 3240 KB
Ordinary blocks: 3194 KB 17 blks
Small blocks: 0 KB 0 blks
Holding blocks: 11472 KB 17 blks
Free Small blocks: 0 KB
Free Ordinary blocks: 45 KB
Total in use: 14666 KB 100%
Total free: 45 KB 0%
Total size: 14712 KB
Memory accounted for:
Total accounted: 3001 KB 20%
memPool accounted: 3001 KB 20%
memPool unaccounted: 11710 KB 80%
memPoolAlloc calls: 147106
memPoolFree calls: 145713
File descriptor usage for squid:
Maximum number of file descriptors: 15000
Largest file desc currently in use: 14
Number of file desc currently in use: 8
Files queued for open: 0
Available number of file descriptors: 14992
Reserved number of file descriptors: 100
Store Disk files open: 0
Internal Data Structures:
45 StoreEntries
41 StoreEntries with MemObjects
40 Hot Object Cache Items
10 on-disk objects
6. 关于动态页面的缓存。
如 jsp 页面。
利用Header 为jsp 服务器减压
在参与缓存的jsp 中加入如下程序,进行“Last-Modified ”和“Expires ”的设置;
long file_lmodified = new File("/tmp/catchmodified".lastModified();
response.setBufferSize(16);
response.setDateHeader("Last-Modified", file_lmodified);
response.setDateHeader("Expires", System.currentTimeMillis() / 1000 * 1000 + 300000);
response.flushBuffer();
%>
7. 添加自动更新记时方式
[root@www ~]# vi refreshCatch.sh
#/bin/sh
/bin/echo >/tmp/catchmodified
Chmod +x refreshCatch.sh
然后在crontab 里写一句
*/5 * * * * /data/squid3/refreshCatch.sh

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Installing MySQL on CentOS involves the following steps: Adding the appropriate MySQL yum source. Execute the yum install mysql-server command to install the MySQL server. Use the mysql_secure_installation command to make security settings, such as setting the root user password. Customize the MySQL configuration file as needed. Tune MySQL parameters and optimize databases for performance.

In VS Code, you can run the program in the terminal through the following steps: Prepare the code and open the integrated terminal to ensure that the code directory is consistent with the terminal working directory. Select the run command according to the programming language (such as Python's python your_file_name.py) to check whether it runs successfully and resolve errors. Use the debugger to improve debugging efficiency.

VS Code extensions pose malicious risks, such as hiding malicious code, exploiting vulnerabilities, and masturbating as legitimate extensions. Methods to identify malicious extensions include: checking publishers, reading comments, checking code, and installing with caution. Security measures also include: security awareness, good habits, regular updates and antivirus software.

The reasons for the installation of VS Code extensions may be: network instability, insufficient permissions, system compatibility issues, VS Code version is too old, antivirus software or firewall interference. By checking network connections, permissions, log files, updating VS Code, disabling security software, and restarting VS Code or computers, you can gradually troubleshoot and resolve issues.

The main uses of Linux include: 1. Server operating system, 2. Embedded system, 3. Desktop operating system, 4. Development and testing environment. Linux excels in these areas, providing stability, security and efficient development tools.

There are six ways to run code in Sublime: through hotkeys, menus, build systems, command lines, set default build systems, and custom build commands, and run individual files/projects by right-clicking on projects/files. The build system availability depends on the installation of Sublime Text.

VS Code is still available on Windows 7, but is highly not recommended. Windows 7 lacks security updates and patches, resulting in security risks and VS Code compatibility issues. Although simple code editing is barely competent, it is recommended to upgrade to Windows 10 or later for complex development or for extensions.

By installing and enabling the Simplified Chinese Language Pack or Traditional Chinese Language Pack in the VS Code extension store, the VS Code user interface can be translated into Chinese, thereby enhancing the coding experience. In addition, themes, shortcuts, and code snippets can be adjusted to further personalize the settings.
