UNIX服务器搭建手册标准版之服务器优化手册
提纲
- UNIX内核优化…………………………………………………………………………………
- UNIX系统优化………………………………………………………………………………..
- APACHE优化…………………………………………………………………………………..
- PHP优化………………………………………………………………………………………..
- MYSQL优化……………………………………………………………………………………
- FTP服务器优化……………………………………………………………………………….
- MAIL服务器优化………………………………………………………………………………
- DNS服务器优化……………………………………………………………………………….
- LOG日志服务器优化………………………………………………………………………….
- SQUID缓存服务器优化……………………………………………………………………….
- CVS服务器优化………………………………………………………………………….
- UNIX内核优化
重新编译内核
优化编译环境
更新/etc/make.conf文件,做适当的编译优化, 如果CPU是Intel的:
CPUTYPE=i686
CFLAGS= -O3 -pipe
COPTFLAGS= -O3 -pipe
编译内核,加入以下参数
#disable ctrl+alt+delete
options SC_DISABLE_REBOOT
#quota limit
options QUOTA
优化内核参数
修改系统内核参数,实现微调:vi /etc/sysctl.conf
kern.ipc.somaxconn=8192
kern.ipc.maxsockbuf=2097152
kern.maxfilesperproc=32768
kern.maxfiles=65536
kern.securelevel=-1
net.inet.tcp.sendspace=65536
net.inet.tcp.recvspace=32768
net.inet.udp.maxdgram=57344
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=0
net.inet.ip.redirect=0
net.inet6.ip6.redirect=0
net.inet.icmp.icmplim=100
net.inet.tcp.always_keepalive=0
net.inet.tcp.delayed_ack=0
net.inet.tcp.log_in_vain=0
net.inet.udp.log_in_vain=0
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.local.stream.sendspace=65535
net.local.stream.recvspace=32768
net.inet.ip.fastforwarding=1
vfs.vmiodirenable=1
- UNIX系统优化
升级源码树
安装cvsup
进入:/usr/ports/net/cvsup
make clean
make deinstall
make install
make clean
即可
升级系统源码树及ports
更新/usr/share/examples/cvsup目录下stand-cvsup和ports-cvsup文件,并执行cvsup –g –L2 standard-supfile和cvsup –g –L2 ports-cvsup两个文件,升级ports树﹔
重新编译内核
优化编译环境
更新/etc/make.conf文件,做适当的编译优化,如果CPU是Intel的:
CPUTYPE=i686
CFLAGS= -O3 -pipe
COPTFLAGS= -O3 -pipe
升级操作系统
进入/usr/src
执行make world
整个过程很久,需要2小时左右.
升级配置文件
执行mergemaster升级配置文件,在此过程中,需要按i以便系统执行升级﹔
- APACHE优化.
- conf优化
在httpd.conf 加入以下内容:
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 10
<IfModule prefork.c>
ServerLimit 2000
Startservers 10
MinSpareServers 10
MaxSpareServers 15
MaxClients 1000
MaxRequestsPerChild 1000
</IfModule>
B、启用了单独一个IP的并发链接数设置。
使用MOD_LIMITIP限制IP连接数
# wget http://dominia.org/djao/limit/mod_limitipconn-0.22.tar.gz
# tar –zxvf mod_limitipconn-0.22.tar.gz
# cd mod_limitipconn-0.22
# vi Makefile
修改相关路径适应你的系统
# make install
# vi /usr/local/etc/apache2/httpd.conf
=========+===========+===========+============
<IfModule mod_limitipconn.c>
<Location / > //设置要控制的目录
MaxConnPerIP 10 //限制单IP最大进程数
NoIPLimit image/* //非限制的文件类型
</Location>
<Location /mp3>
MaxConnPerIP 1
OnlyIPLimit audio/mpeg video //可选限制的文件类型
</Location>
</IfModule>
- mysql优化
- cnf优化
#cp /usr/local/share/mysql/my-huge.cnf /etc/my.cnf
#cd /etc
# vi my.cnf 修改并增加如下内容:
[mysqld]
skip-locking
connect_timeout=15
interactive_timeout=100
join_buffer_size=1M
key_buffer=128M
max_allowed_packet=16M
max_connections=500
max_connect_errors=10
myisam_sort_buffer_size=64M
read_buffer_size=1M
read_rnd_buffer_size=768K
sort_buffer_size=1M
table_cache=1024
thread_cache_size=100
thread_concurrency=4
wait_timeout=300
query_cache_size=32M
query_cache_limit=1M
query_cache_type=1
long_query_time = 5
bind-address = 127.0.0.1
local-infile= 0
tmp_table_size = 100M
skip-innodb
log-slow-queries= /var/log/slow.log
- php优化
php.ini的优化
确认你的 register_globals 配置为disabled
禁用 magic_quotes_* 选项
关闭 expose_php
关闭 register_argc_argv
除非绝对需要不要启用 always_populate_raw_post_data
- FTP服务器优化.
修改pure-ftpd.conf
a、限定最大的客户端访问数。
MaxClientsNumber 50
b、每个ip最多链接数,最好设小点。
MaxClientsPerIP 5
C、不反向解释客户端的ip
DontResolve yes
D、最大闲置時間
MaxIdleTime 5
e、ls最多列出3000个文件.最深8层
LimitRecursion 2000 8
f、支不支持FXP
AllowUserFXP yes
g、当硬盘使用率到多少時将停止上传.
MaxDiskUsage 99
- MAIL服务器优化。
在main.cf 设置如下参数:
qmgr_message_active_limit = 7000
local_destination_concurrency_limit = 600
default_destination_concurrency_limit = 600
default_process_limit=600
process_limit=600
- DNS服务器优化
以下优化是针对bind源代码安装的方式。
- 变编译选项;BIND默认的编译选项中有个选项为“—O2”,该为“—O3”后
- 使用ICC编译器,对于应用软件的编译,使用intel 公司ICC编译器相对于GCC编译器有程度不等的提升。最乐观的情况下会有20%以上的性能提升.
C、调整DNS服务线程数;目前使用的BIND版本基本上都支持多线程(启动named后,用命令ps –eLF | grep named查看),但是默认的线程数并不一定是最好的。因此调整服务的线程个数来使当前硬件达到最大性能是很有必要的。修改方法在 dns 服务启动文件中前面加入OPTIONS=“-n NUM”一行,NUM为指定进程数。然后启动服务用上述命令查看是否是设定的线程数,然后通过BIND自带的测试工具queryperf(在BIND源码包的bind-VERSION/contrib/queryperf/目录下)来测试自己DNS服务器的最大QPS。不同的硬件的测试结果也不一样。一般提高的幅度还都比较大。
- 日志服务器优化
针对awstats日志分析。
1、安装GeoIP
2、安装p5-GeoIPfree
3、安装p5-Geo-IP
4、编辑:awstats.ding9.conf 加入以下内容:
LoadPlugin=”decodeutfkeys”
LoadPlugin=”tooltips”
- SQUID 缓存服务器优化
针对squid.conf的优化
#取消对代理阵列的支持
icp_port 0
访问控制设置
acl mynet src 192.168.1.0/255.255.255.0
acl all src 0.0.0.0/0.0.0.0
http_access allow mynet
http_access deny all
swap 性能微调
half_closed_clients off
cache_swap_high 100%
cache_swap_low 80%
maximum_object_size 1024 KB
#这几句其实是强行控制对象的超时时间,这违反了http协议的精神,但是在带宽较窄的场合,可以提高明显系统相应时间。
refresh_pattern -i .html 1440 90% 129600 reload-into-ims
refresh_pattern -i .shtml 1440 90% 129600 reload-into-ims
refresh_pattern -i .hml 1440 90% 129600 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 1440 90% 129600 reload-into-ims
- CVS服务器优化
- 首先正确创建用于CVS的组和用户:
- 修改配置文件:
#cat/etc/services|grep cvspserver
看看是否有:
cvspserver 2401/tcp #CVS client/server operations
cvspserver 2401/udp #CVS client/server operations - 初始化CVS
切换到cvsroot用户,然后进行初始化:
cvs -d /home/cvsroot init - /sbin/service xinetd restart
当然,重新启动计算机也可以。确认是否启动:
netstat -anp|grep 2401
如果能看到:
tcp 0 0 0.0.0:2401
说明已经正常启动,
以下文章点击率最高
Loading…