yum install net-snmp
yum install net-snmp-utils
首先使用yum命令安装net-snmp以及net-snmo-utils
rm /etc/snmp/snmpd.conf
vi /etc/snmp/snmpd.conf
然后删除默认的snmpd.conf,写入下列内容
rouser sudu auth
其中的“sudu”是你的验证用户名称 "auth"代表只读
然后创建/var/net-snmp/ 目录,创建 /var/net-snmp/snmpd.conf文件
mkdir /var/net-snmp/
vi /var/net-snmp/snmpd.conf
最后给/var/net-snmp/snmpd.conf写入下列内容
createUser sudu MD5 mypassword
其中"sudu"同上是你的验证用户名称,"mypassword"是你的验证密码
最后执行下列命令开启snmpd服务,并且到监控宝监控你服务器的udp 161端口即可~
安装篇:
本教程应用环境为干净centos 5.5 ,预先分好并加载/data分区,并且关闭selinux及iptables
首先修改文件描述符并设定临时端口范围,这些设置重启后生效
cat >> /etc/security/limits.conf <<DDD
* soft nofile 8192
* hard nofile 20480
DDD
cat >> /etc/sysctl.conf <<DDD
#set temp port range
net.ipv4.ip_local_port_range = 32768 61000
DDD
init 6
确认修改是否正确
[root@sudutest ~]# ulimit -n
8192
[root@suduotest ~]# sysctl -n net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768 61000
添加squid专用账户
groupadd squid
useradd -g squid -s /bin/false -M squid
添加日志目录、设置缓存和日志目录的权限
mkdir /data/squidlog/
chown -R squid.squid /data
然后上传或者wget squid3.0软件tar包,tar zxvf解压,并且进入解压后的目录安装编译
./configure –prefix=/usr/local/squid3 –enable-async-io=100 –with-pthreads –enable-storeio="aufs,diskd,ufs" –enable-removal-policies="heap,lru" –enable-icmp –enable-delay-pools –enable-useragent-log –enable-referer-log –enable-kill-parent-hack –enable-arp-acl –enable-default-err-language=Simplify_Chinese –enable-err-languages="Simplify_Chinese English" –disable-poll –disable-wccp –disable-wccpv2 –disable-ident-lookups –disable-internal-dns –enable-basic-auth-helpers="NCSA" –enable-stacktrace –with-large-files –disable-mempools –with-filedescriptors=65535 –enable-ssl –enable-x-accelerator-var
make
make install
make install-pinger
至此squid已经成功安装了,然后大家自己所需的/usr/local/squid3/etc/squid.conf 配置文件,我这边的配置文件将会在本文末尾贴出来供大家研究。
写好配置文件后执行下面的命令初始化cache目录
/usr/local/squid3/sbin/squid -z
然后运行squid,注:-D参数用来跳过DNS检测
/usr/local/squid3/sbin/squid -D
最后设置squid开机自动启动
echo "/usr/local/squid3/sbin/squid -D " >>/etc/rc.local
维护篇:
以下是squid常用的命令
如果修改过配置文件,则用下面的命令重读配置文件(即时生效)
/usr/local/squid3/sbin/squid -k reconfigure
检查配置文件配置的语法是否正确
注:只有像这样的“cache_cf.cc(346) squid.conf:14 unrecognized: 'http1_port'”才是语法错误,
“WARNING: use of 'reload-into-ims'……”这类提示属于意见建议,可以忽略。
/usr/local/squid3/sbin/squid -k parse
查看squid的日志和进程,看squid运行是否正常
ps -ef |awk '/^squid/'
cat /data/squidlog/cache.log
/usr/local/squid3/sbin/squid -k check ;echo $?
关闭squid
发出关闭信号,等会话结束后彻底关闭
/usr/local/squid3/sbin/squid -k shutdown
关闭squid(更高优先级,直接关闭squid)
/usr/local/squid3/sbin/squid -k interrupt
关闭squid(最高优先级,直接杀死squid进程)
/usr/local/squid3/sbin/squid -k kill
滚动日志文件
/usr/local/squid3/sbin/squid -k rotate
设置每周二凌晨四点30分自动滚动日志
echo "30 4 * * 2 root /usr/local/squid3/sbin/squid -k rotate " >>/etc/crontab
目前应用中的squid.conf文件,由于日志文件增长很快,所以直接输出到/dev/null丢弃掉了
#basic
cache_effective_user squid
cache_effective_group squid
pid_filename /usr/local/squid3/var/logs/squid.pid
visible_hostname squid.678114.com
cache_mgr sudu@sudu.us
error_directory /usr/local/squid3/share/errors/Simplify_Chinese
icon_directory /usr/local/squid3/share/icons
mime_table /usr/local/squid3/etc/mime.conf
hosts_file /etc/hosts
acl DEIpadd dstdom_regex [0-9]$
http_access deny DEIpadd
cache_replacement_policy lru
memory_replacement_policy lru
http_port 80 vhost vport
cache_mem 4024 MB
maximum_object_size_in_memory 5120 KB
icp_port 0
#.cache_dir
cache_dir aufs /data/cache 50000 64 128
max_open_disk_fds 0
maximum_object_size 20 MB
#.cache_peer
cache_peer 125.76.225.44 parent 80 0 no-query originserver no-digest name=all
cache_peer_domain all .678114.com
#acl
acl Safe_ports port 80
acl SSL_ports port 443
acl LanSrc src 192.168.100.0/24
acl webdomain dstdomain .678114.com
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow LanSrc
http_access allow webdomain
http_access deny all
#refresh_pattern
refresh_pattern -i /$ 15 90% 600 reload-into-ims
refresh_pattern -i .html$ 15 90% 600 reload-into-ims
refresh_pattern -i .htm$ 15 90% 600 reload-into-ims
refresh_pattern -i .shtml$ 15 90% 600 reload-into-ims
refresh_pattern -i .hml$ 15 90% 600 reload-into-ims
refresh_pattern -i .gif$ 1440 90% 129600 reload-into-ims
refresh_pattern -i .swf$ 1440 90% 129600 reload-into-ims
refresh_pattern -i .jpg$ 1440 90% 129600 reload-into-ims
refresh_pattern -i .png$ 1440 90% 129600 reload-into-ims
refresh_pattern -i .bmp$ 1440 90% 129600 reload-into-ims
refresh_pattern -i .js$ 120 90% 129600 reload-into-ims
refresh_pattern -i .css$ 120 90% 129600 reload-into-ims
refresh_pattern -i .wma$ 1440 90% 21600 reload-into-ims
refresh_pattern -i .zip$ 1440 90% 21600 reload-into-ims
refresh_pattern -i .mp3$ 1440 90% 21600 reload-into-ims
refresh_pattern -i .rar$ 1440 90% 21600 reload-into-ims
refresh_pattern -i .rm$ 1440 90% 21600 reload-into-ims
refresh_pattern -i .flv$ 1440 90% 21600 reload-into-ims
refresh_pattern -i .rar$ 1440 90% 21600 reload-into-ims
refresh_pattern -i .rm$ 1440 90% 21600 reload-into-ims
refresh_pattern -i .avi$ 1440 90% 21600 reload-into-ims
refresh_pattern -i .3gp$ 1440 90% 21600 reload-into-ims
refresh_pattern -i .mp4$ 1440 90% 21600 reload-into-ims
refresh_pattern -i .wmv$ 1440 90% 21600 reload-into-ims
#keepalived
client_persistent_connections off
server_persistent_connections on
#log
emulate_httpd_log on
logformat web1 %{X-Forwarded-For}>h %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh
cache_log /data/squidlog/cache.log
cache_access_log /dev/null web1
cache_store_log /dev/null
strip_query_terms off
logfile_rotate 10
#other
forwarded_for on
log_icp_queries off
via off
httpd_suppress_version_string off
ie_refresh off
tcp_recv_bufsize 32 KB
ipcache_size 1024
ipcache_low 90
ipcache_high 95
cache_swap_low 80
cache_swap_high 90
request_header_max_size 128 KB
quick_abort_min 20 KB
quick_abort_max 20 KB
quick_abort_pct 95
connect_timeout 1 minute
negative_ttl 0 minutes
read_timeout 30 seconds
pconn_timeout 120 seconds
half_closed_clients off
client_lifetime 10 minutes
shutdown_lifetime 5 seconds
hierarchy_stoplist cgi-bin ?
access_log /dev/null squid
本文首发于http://www.sudu.us/simple-to-install-squid-3-0-reverse-proxy-configuration/
如果不知道什么是服务器端包含(ssi)点击后面的链接查看:http://lamp.linux.gov.cn/Apache/ApacheMenu/howto/ssi.html
一、Apache 配置SSI功能修改Apache配置文件httpd.conf
1. 确认加载include.so模块,将注释去掉:
LoadModule include_module libexec/apache2/mod_include.so
2. AddType部分去掉这两段注释:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
3. Directory目录权限里面找到
Options Indexes FollowSymLinks
增加Includes修改为:
Options Indexes FollowSymLinks Includes
4. 重新启动Apache,测试。
二、Nginx 配置SSI功能在 http 段中加入下面几句即可:
ssi on;
ssi_silent_errors off;
ssi_types text/shtml;
你可以在SHTML文件中写入SSI指令,当客户端访问这些shtml文件时, 服务器端会把这些SHTML文件进行读取和解释,把SHTML文件中包含的SSI指令解释出来。
比如:你可以在SHTML文件中用SSI指令引用其他的 html文件(#include ),服务器传送给客户端的文件,是已经解释的SHTML不会有SSI指令。它实现了HTML所没有的功能,就是可以实现了动态 的SHTML,可以说是HTML的一种进化吧。像新浪的新闻系统就是这样的,新闻内容是固定的但它上面的广告和菜单等就是用#include引用进来的。
目前,主要有以下几种用用途: 更多请参考:http://www.javaeye.com/topic/306216
1、显示服务器端环境变量<#echo>
本文档名称:
<!–#echo var=”DOCUMENT_NAME”–>
现在时间:
<!–#echo var=”DATE_LOCAL”–>
显示IP地址</ins>
<! #echo var=”REMOTE_ADDR”–>
2、将文本内容直接插入到文档中<#include>
<! #include file=”文件名称”–>
<! #include virtual=”文件名称”–>
file 文件名是一个相对路径,该路径相对于使用 #include 指令的文档所在的目录。被包含文件可以在同一级目录或其子目录中,但不能在上一级目录中。如表示当前目录下的的nav_head.htm文档,则为file=”nav_head.htm”。
virtual 文件名是 Web 站点上的虚拟目录的完整路径。如表示相对于服务器文档根目录下hoyi目录下的nav_head.htm文件;则为virtual=”/hoyi/nav_head.htm”
3、显示WEB文档相关信息<#flastmod><#fsize>(如文件制作日期/大小等)
文件最近更新日期:
<! #flastmod file=”文件名称”–>
文件的长度:
<!–#fsize file=”文件名称”–>
4、直接执行服务器上的各种程序<#exec>(如CGI或其他可执行程序)
<!–#exec cmd=”文件名称”–>
<!–#exec cgi=”文件名称”–>
将某一外部程序的输出插入到页面中。可插入CGI程序或者是常规应用程序的输入,这取决于使用的参数是cmd还是cgi。
5、设置SSI信息显示格式<#config>(如文件制作日期/大小显示方式)
6、高级SSI可设置变量使用if条件语句。
二、SHTML精简教程
你可以在SHTML文件中写入SSI指令,当客户端访问这些shtml文件时, 服务器端会把这些SHTML文件进行读取和解释,把SHTML文件中包含的SSI指令解释出来。比如:你可以在SHTML文件中用SSI指令引用其他的 html文件(#include ),服务器传送给客户端的文件,是已经解释的SHTML不会有SSI指令。它实现了HTML所没有的功能,就是可以实现了动态 的SHTML,可以说是HTML的一种进化吧。像新浪的新闻系统就是这样的,新闻内容是固定的但它上面的广告和菜单等就是用#include引用进来的。
目前,主要有以下几种用用途: 更多请参考:http://www.javaeye.com/topic/306216
1、显示服务器端环境变量<#echo>
本文档名称:
<!–#echo var=”DOCUMENT_NAME”–>
现在时间:<!–#echo var=”DATE_LOCAL”显示IP地址</ins><! #echo var=”REMOTE_ADDR”
2、将文本内容直接插入到文档中<#include>
<!–#include file=”文件名称”–>
<!–#include virtual=”文件名称”–>
file 文件名是一个相对路径,该路径相对于使用 #include 指令的文档所在的目录。被包含文件可以在同一级目录或其子目录中,但不能在上一级目录中。如表示当前目录下的的nav_head.htm文档,则为file=”nav_head.htm”。
virtual 文件名是 Web 站点上的虚拟目录的完整路径。如表示相对于服务器文档根目录下hoyi目录下的nav_head.htm文件;则为virtual=”/hoyi/nav_head.htm”
3、显示WEB文档相关信息<#flastmod><#fsize>(如文件制作日期/大小等)
文件最近更新日期:<! #flastmod file=”文件名称”–>文件的长度:<!–#fsize file=”文件名称”–>
4、直接执行服务器上的各种程序<#exec>(如CGI或其他可执行程序)
<!–#exec cmd=”文件名称”–>
<!–#exec cgi=”文件名称”–>
将某一外部程序的输出插入到页面中。可插入CGI程序或者是常规应用程序的输入,这取决于使用的参数是cmd还是cgi。
5、设置SSI信息显示格式<#config>(如文件制作日期/大小显示方式)
6、高级SSI可设置变量使用if条件语句。