[21andy.com原创]FreeBSD服务器优化设置方案
FreeBSD的Apache2.2x优化
作者: Andy
网站: http://www.21andy.com
转载请注明本文出处 http://www.21andy.com/new/20071118/668.html
使用FreeBSD时间也有几个月了,从头开始自学的,确实不太好学啊,搜索引擎都快被我搜烂了
前2天上了台美国服务器,把设置方案分享出来,也作为备忘
先看看硬件和运行情况
P43.2 + 1G + 160G
服务器处理器 CPU CPU个数: 2 Intel(R) Pentium(R) 4 CPU 3.20GHz
服务器操作系统 FreeBSD 内核版本: 6.2-RELEASE
主机名称 localhost
服务器解译引擎 Apache
Web服务端口 80内存使用状况 物理内存:共 1007.4 M, 已使用 1007.4 M, 空闲 0 M, 使用率 100 %
SWAP区:共 2006.82 M, 已使用 0 M, 空闲 2006.82 M, 使用率 0 %
系统平均负载 0.27 0.32 0.24
总结: 其实服务器只要运行稳定,负载不高,很多时候,默认设置已经可以了,也没什么事,反倒更需要优化的是程序.可以等到有问题的时候,再去解决问题.
Apache优化设置
分享我的httpd.conf
因为占地方,所以把日志一直是禁用的,呵呵
Listen 80
LoadModule authn_file_module libexec/apache22/mod_authn_file.so
#LoadModule authn_dbm_module libexec/apache22/mod_authn_dbm.so
#LoadModule authn_anon_module libexec/apache22/mod_authn_anon.so
#LoadModule authn_default_module libexec/apache22/mod_authn_default.so
#LoadModule authn_alias_module libexec/apache22/mod_authn_alias.so
LoadModule authz_host_module libexec/apache22/mod_authz_host.so
#LoadModule authz_groupfile_module libexec/apache22/mod_authz_groupfile.so
LoadModule authz_user_module libexec/apache22/mod_authz_user.so
#LoadModule authz_dbm_module libexec/apache22/mod_authz_dbm.so
LoadModule authz_owner_module libexec/apache22/mod_authz_owner.so
LoadModule authz_default_module libexec/apache22/mod_authz_default.so
LoadModule auth_basic_module libexec/apache22/mod_auth_basic.so
#LoadModule auth_digest_module libexec/apache22/mod_auth_digest.so
LoadModule file_cache_module libexec/apache22/mod_file_cache.so
LoadModule cache_module libexec/apache22/mod_cache.so
LoadModule disk_cache_module libexec/apache22/mod_disk_cache.so
LoadModule mem_cache_module libexec/apache22/mod_mem_cache.so
#LoadModule dumpio_module libexec/apache22/mod_dumpio.so
#LoadModule include_module libexec/apache22/mod_include.so
LoadModule filter_module libexec/apache22/mod_filter.so
LoadModule charset_lite_module libexec/apache22/mod_charset_lite.so
LoadModule deflate_module libexec/apache22/mod_deflate.so
LoadModule log_config_module libexec/apache22/mod_log_config.so
LoadModule logio_module libexec/apache22/mod_logio.so
LoadModule env_module libexec/apache22/mod_env.so
LoadModule mime_magic_module libexec/apache22/mod_mime_magic.so
LoadModule cern_meta_module libexec/apache22/mod_cern_meta.so
LoadModule expires_module libexec/apache22/mod_expires.so
LoadModule headers_module libexec/apache22/mod_headers.so
#LoadModule usertrack_module libexec/apache22/mod_usertrack.so
LoadModule unique_id_module libexec/apache22/mod_unique_id.so
LoadModule setenvif_module libexec/apache22/mod_setenvif.so
#LoadModule version_module libexec/apache22/mod_version.so
LoadModule ssl_module libexec/apache22/mod_ssl.so
LoadModule mime_module libexec/apache22/mod_mime.so
#LoadModule dav_module libexec/apache22/mod_dav.so
#LoadModule status_module libexec/apache22/mod_status.so
#LoadModule autoindex_module libexec/apache22/mod_autoindex.so
#LoadModule asis_module libexec/apache22/mod_asis.so
#LoadModule info_module libexec/apache22/mod_info.so
#LoadModule cgi_module libexec/apache22/mod_cgi.so
#LoadModule dav_fs_module libexec/apache22/mod_dav_fs.so
LoadModule vhost_alias_module libexec/apache22/mod_vhost_alias.so
#LoadModule negotiation_module libexec/apache22/mod_negotiation.so
LoadModule dir_module libexec/apache22/mod_dir.so
#LoadModule imagemap_module libexec/apache22/mod_imagemap.so
LoadModule actions_module libexec/apache22/mod_actions.so
#LoadModule speling_module libexec/apache22/mod_speling.so
LoadModule userdir_module libexec/apache22/mod_userdir.so
LoadModule alias_module libexec/apache22/mod_alias.so
LoadModule rewrite_module libexec/apache22/mod_rewrite.so
LoadModule php5_module libexec/apache22/libphp5.so
#AddDefaultCharset GBK
ServerTokens Prod
ServerSignature Off
HostNameLookups Off
<ifmodule !mpm_netware_module>
User www
Group www
</ifmodule>
ServerName localhost
ServerAdmin [email protected]
DocumentRoot "/www"
<directory />
AllowOverride None
Order deny,allow
Deny from all
<directory "/www">
Options FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</directory>
<ifmodule dir_module>
DirectoryIndex index.html index.htm index.php
</ifmodule>
<filesmatch "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</filesmatch>
# log setting
# ErrorLog /var/log/httpd-error.log
#LogLevel warn
#<filesmatch "\.(ico|png|gif|jpg|bmp|swf|js|css)">
# SetEnv IMAGES 1
#</filesmatch>
#<ifmodule log_config_module>
# LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
# LogFormat "%h %l %u %t \"%r\" %>s %b" common
# </ifmodule><ifmodule logio_module>
# LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
# </ifmodule>
# #ErrorLog "|/usr/local/sbin/cronolog /usr/log/error_%Y%m%d.log"
# #CustomLog "|/usr/local/sbin/cronolog /var/log/httpd/access_log.%Y%m%d" combined env=!IMAGES
#
<ifmodule alias_module>
ScriptAlias /cgi-bin/ "/usr/local/www/apache22/cgi-bin/"
</ifmodule>
<directory "/usr/local/www/apache22/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</directory>
DefaultType text/plain
<ifmodule mime_module>
TypesConfig etc/apache22/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</ifmodule>
<ifmodule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</ifmodule>
Alias /dbadmin "/usr/local/www/phpMyAdmin/"
<directory "/usr/local/www/phpMyAdmin/">
authtype basic
authname "require login"
authuserfile /etc/passwords
require user andy
Options None
AllowOverride None
Order allow,deny
Allow from all
</directory>
Alias /mrtg "/home/mrtg"
<directory "/home/mrtg/">
authtype basic
authname "require login"
authuserfile /etc/passwords
require user andy
Options None
AllowOverride None
Order allow,deny
Allow from all
</directory>
<ifmodule mod_deflate.c>
DeflateCompressionLevel 9
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATE html htm xml php css js
</ifmodule>
Include etc/apache22/extra/httpd-mpm.conf
Include etc/apache22/extra/httpd-vhosts.conf
httpd-mpm.conf 优化设置
我的apache运行在prefork下,不建议运行于worker
PidFile "/var/run/httpd.pid"
</ifmodule>
<ifmodule !mpm_winnt_module>
</ifmodule>
<ifmodule !mpm_netware_module>
LockFile "/var/log/accept.lock"
</ifmodule>
#默认设置
#<ifmodule mpm_prefork_module>
# StartServers 5
# MinSpareServers 5
# MaxSpareServers 10
# MaxClients 150
# MaxRequestsPerChild 0
#</ifmodule>
#我的
<ifmodule mpm_prefork_module>
StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 2000
MaxClients 1500
MaxRequestsPerChild 3000
</ifmodule>
httpd-vhosts.conf 优化设置
严格一点,拒绝使用*:80
为服务器的每个IP添加一个 NameVirtualHost 这样才可以用多个VirtualHost指向一个IP
NameVirtualHost xxx.xxx.xxx.2:80
<virtualhost xxx.xxx.xxx.1:80>
DocumentRoot "/www/21andy.com"
ServerName 21andy.com
ServerAlias www.21andy.com
</virtualhost>
MySQL的优化设置
/etc/my.cnf
用的my-large.cnf稍做修改
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 256M
max_allowed_packet = 1M
table_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
skip-networking
skip-innodb
skip-bdb
skip-name-resolve
#log-bin=mysql-bin
server-id = 1
#tmpdir = /tmp/
#log-update = /path-to-dedicated-directory/hostname
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
#safe-updates
[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
Incoming search terms:
- LogFormat %h %l %u %t \%r\ %>s %b \%{Referer}i\ \%{User-Agent}i\ combined
- 服务器解译引擎 Apache
- LogFormat %h %l %u %t \%r\ %>s %b \%{Referer}i\ \%{User-Agent}i\ %I %O combinedio
- Try number of CPUs*2 for thread_concurrency
- freebsd mod_authn_alias so
- freebsd mysql 优化
- LogFormat %h %l %u % t \%r\ %>s %b \%{Accept}i\\%{Referer}i\ \%{User-Agent}i\
- speedtest 服务器设置 优化
- \%{Referer}i\