RedHat6.2服务器配置方案
RedHat6.2 服务器配置方案
下面我将向大家介绍如下几种服务器端软件的配置方法及其工作原理:
apache,dhcp,dns,ppp,sendmail,samba,squid,isdn,mysql,tomcat,php。这些配置已经基本上含盖了一个中小型企业管理和办公所需要的所有服务。也就是说,如过你掌握了它们的配置方案和管理方法,你也就将成为一名合格的中小型企业局域网的Linux Server管理员。需要另外强调的一点是,这些配置文件中的可配置项太多,有许多是我们用不到的,所以在以后的文章中,我将选取其中重要的配置项介绍给大家。 技巧:
1.可以使用 rpm -qf named.conf 来查询该文件属于那个RPM包。
2. 可以使用 rpm -qpl caching-nameserver-6.2-2.noarch.rpm来查看一个RPM包中包含哪些文件。
3. 可以使用 grep '^[A-Z]' httpd.conf 来将某个配置文件的注释去掉,因为大多数配置文件的
可配置项都是大写字母开头,所以只要巧妙运用grep的参数将配置文件中以大写字母A-Z开头的
行导出到一个文件里就可以了,但是如果配置文件里有小写字母开头的配置项,象named.conf那样的就不能用了。
4.可以在Linux下执行ntsysv来选择服务器所启动的服务项目。
注: 在大多数Linux的发布版中,笔者经过了充分的考虑,觉得无论从系统的稳定性、易用
性到适用范围的广泛性,在发布版中首选RedHat,所以在下面的文章中,我将以红帽6.2为例,帮助大家成为一名出色的Linux Server Administer。
在本文的写作过程中,得到了许多联想电脑公司同仁的支持。在此,我对软件事业部田日辉、曹宜、石京海、黄景昌,服务器器网络事业部黄后生等表示衷心的感谢。
由于本文作者水平有限,难免有一些错误,请各位同仁一定指正。
RedHat6.2服务器配置方案(二) DNS
1.1 简 介
在TCP/IP网络中最基本的服务就是域名解析,即用户可以从IP和URL两种方式访问你的网站。而且域名解析还应为用户提供命名服务,即用户执行ftp 192.168.10.1 和执行ftp thj是一样的。
1.2 所需系统资源
1.2.1 配置文件:
文件名 来源
/etc/named.conf caching-nameserver-6.2-2.noarch.rpm
/etc/named.boot caching-nameserver-6.2-2.noarch.rpm
/etc/hosts 系统自带
/etc/host.conf 系统自带
/etc/resolv.conf 系统自带
/etc/nsswitch.conf glibc-2.1.3-15
/var/named/named.local caching-nameserver-6.2-2.noarch.rpm
/var/named/named.ca caching-nameserver-6.2-2.noarch.rpm
/var/named/name2ip.conf 管理员创建
/var/named/ip2name.conf 管理员创建
1.2.2 相关工具:
文件名 来源
/etc/rc.d/init.d/named bind-8.2.2_P5-9
/usr/bin/nslookup bind-8.2.2_P5-9
/usr/sbin/ndc bind-8.2.2_P5-9
1.3 配置方案
对于DNS服务器的配置需要涉及5个主要文件,另外还有四个文件也与DNS有关:
1./etc/named.conf configuration文件
作用:定义了域数据库信息的基本参数和源点,该文件可以存放在本地或远程的服务器上。
实例:
options {
directory "/var/named";
#定义了named要读写文件的路径
};
zone "." {
type hint;
#表明在启动时被用来初始化域名服务器的文件是一个线索文件,
每一个服务器都有一个线索区。
file "named.ca";
#指定所要读取的文件名
};
zone "0.0.127.in-addr.arpa"{
type master;
#表明服务器是主域名服务器
file "named.local";
};
zone "mycompany.com" in {
type master;
file "name2ip.conf";
};
zone "10.168.192.in-addr.arpa" {
type master;
file "ip2name.conf";
};
2./var/named/name2ip.conf 正向解析文件
作用:用来定义域信息,实现主机名和地址之间的镜像、识别mail服务器和提供各种域信息。 实例:
@ IN SOA thj.mycompany.com. root.thj.mycompany.com.
#所有的区文件都以SOA开头,@指定当前的信息源,thj.mycompany.com
这个值可以将域名和named.conf连接起来。通常只有一个@符号。
( 2000062900 ;serial #序列号
28800 ; refresh #刷新周期,以秒为单位
14400 ; retry #循环周期
3600000; expire #中止时间
86400 ); minuum #time-to-live的时间
IN NS thj.mycompany.com.
#定义域名服务器
IN MX 10 thj.mycompany.com.
#定义邮件服务器,10表示优先级,越小越高
localhost IN A 127.0.0.1
#实现域到IP的映射
thj IN A 192.168.10.1
www CNAME thj
#CNAME前后两者为等价名
mail CNAME thj
3./var/named/ip2name.conf 反向解析文件
作用:实现IP地址很域名的映射
实例:
@ IN SOA thj.mycompany.com. root.thj.mycompany.com.
( 2000062900 ;serial
28800 ; refresh
14400 ; retry
3600000; expire
86400 ); minuum
IN NS thj.mycompany.com.
IN MX 10 thj.mycompany.com.
1 IN PTR thj.mycompany.com.
#定义逆向关系,即192.168.10.1 与 thj.mycompany.com 之间
的映射,也可以用作定义一个反转域。
4./var/named/named.local 本地主机解析文件
作用:解析回送地址localhost 即127.0.0.1,回送地址是一种特殊的约定,即允许在处理本地机地址时与处理远程机地址的方法一样,这样可以简化处理过程,不必将数据发送到物理网络上。
实例:
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
5./var/named/named.ca 线索文件
作用:初始化缓冲区的信息。该文件不需要管理员更改,而是系统自带。
实例:
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
. 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
. 3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
6./etc/hosts
作用:实现与网上其他主要计算机的映射,它通常是当作DNS的备份出现的,也就是说,当DNS系统出现问题的时候才使用Hosts表。
实例:
127.0.0.1 localhost localhost.localdomain localhost
192.168.10.1 thj.mycompany.com thj
#由于每台服务器都会有几个域名与IP的对应关系是永久的, 所以Hosts表中存放的应该是它们。
7./etc/resolv.conf
作用:指定域名服务器的IP和搜索顺序。
实例:
domain
#定义本地域名。
search mycompany.com
#简化用户输入的主机名,即当用户输入thj时,使得DNS可以把它
成功地解析为thj.mycompany.com。它与domain是互斥的,无论谁出
现都是用来定义search列表的。
nameserver 192.168.10.1
#定义域名服务器的IP,最多三个,建议一般使用两个。
8./etc/hosts.conf
作用:如何实现hosts表与DNS的关系和接口。
实例:
order hosts,bind
#解析域名的顺序
multi on
#允许一台计算机拥有多个IP
9./etc/nsswitch.conf
作用:用于处理Hosts表和DNS的顺序
实例:
passwd: files nisplus nis
shadow: files nisplus nis
group: files nisplus nis
hosts: files dns
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files
netgroup: nisplus
publickey: nisplus
automount: files nisplus
aliases: files nisplus
1.4 测试及管理方法
1. 管理员修改完DNS的配置文件,需要执行/etc/rc.d/init.d/named restart来是更改生效。
2. ndc工具:用来向named进程发送信号
3. nslookup:测试正向、反向的解析是否正常
1.5 本章小结
DNS服务是许多服务的基础,所以配置一台Linux Server应该从DNS开始,并要从一开始就对你的服务器配置成什么样子有一个整体的把握,这样才能保证配置之间能够相互协调,避免错误的发生。
RedHat6.2服务器配置方案(三) Apache
第二章 Apache
2.1 简 介
Apache是世界排名第一的Web服务器,根据著名的Web服务器调查公司Netcraft的调查,世界上百分之五十以上的Web服务器都在使用Apache。
纵观Apache,它为我们的网络管理员提供了丰富多彩的功能,包括目录索引、目录别名、内容协商、可配置的HTTP错误报告、CGI程序的SetUID执行、子进程资源管理、服务器端图象映射、重写URL、URL拼写检查以及联机手册man等。也就是说,如果您在Linux Server上成功安装配置了Apache之后,您的计算机也将随着Apache的生效而摇身一变,成为一台名副其实的Web Server,这种变化的确是激动人心的。伴随着自由软件发展的强大动力,我们有理由相信Apache的未来是一片光明的。
在Internet时代,外部主页的发布已经成为树立公司形象的一个重要手段,而内部主页也成为公司管理的主要方式。但是,要想实现这些功能,首先应该把我们的Linux Server配置成为一台强大的Web Server。时至今日,全球应用最广泛的Web服务器软件就是Apache,本章将详细介绍如何配置Apache服务器。希望各位同仁能够通过阅读本片文章达到理论实践双丰收的目的,在很短的时间里迅速成为一名出色的网络管理员。
2.2 所需系统资源
2.2.1 配置文件:
文件 来源
/etc/httpd/conf/httpd.conf apache-1.3.12-2.i386.rpm
/etc/httpd/conf/access.conf apache-1.3.12-2.i386.rpm
/etc/httpd/conf/srm.conf apache-1.3.12-2.i386.rpm
2.2.2相关工具:
文件 来源
/etc/rc.d/init.d/httpd apache-1.3.12-2.i386.rpm
2.3 配置方案
与Apache配置相关的文件共有3个:
/etc/httpd/conf/httpd.conf 主配置文件
作用:定义HTTP协议的设置值和针对该服务器的操作,还包括定义三个文件的目录
实例:
ServerType standalone
#定义WebServer的启动方式为standalone,以增强其对大量访问的及时响应性
ServerRoot "/etc/httpd"
#指定包含httpd服务器文件的目录
LockFile /var/lock/httpd.lock
PidFile /var/run/httpd.pid
ScoreBoardFile /var/run/httpd.scoreboard
Timeout 300
#响应超时量,单位为秒
KeepAlive On
#允许用户建立永久连接
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 5
#要保留的空闲服务器进程的最小值
MaxSpareServers 20
#要保留的空闲服务器进程的最大值
StartServers 8
#系统启动时的守护进程数
MaxClients 150
#所能提供服务的最大客户端编号,大于它的部分被放入请求队列之中
MaxRequestsPerChild 100
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule env_module modules/mod_env.so
LoadModule config_log_module modules/mod_log_config.so
LoadModule agent_log_module modules/mod_log_agent.so
LoadModule referer_log_module modules/mod_log_referer.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule status_module modules/mod_status.so
LoadModule info_module modules/mod_info.so
LoadModule includes_module modules/mod_include.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule asis_module modules/mod_asis.so
LoadModule imap_module modules/mod_imap.so
LoadModule action_module modules/mod_actions.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule access_module modules/mod_access.so
LoadModule auth_module modules/mod_auth.so
LoadModule anon_auth_module modules/mod_auth_anon.so
LoadModule db_auth_module modules/mod_auth_db.so
LoadModule digest_module modules/mod_digest.so
LoadModule proxy_module modules/libproxy.so
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule perl_module modules/libperl.so
LoadModule php3_module modules/libphp3.so
ClearModuleList
AddModule mod_vhost_alias.c
AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_log_agent.c
AddModule mod_log_referer.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_info.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_auth_anon.c
AddModule mod_auth_db.c
AddModule mod_digest.c
AddModule mod_proxy.c
AddModule mod_expires.c
AddModule mod_headers.c
AddModule mod_usertrack.c
AddModule mod_so.c
AddModule mod_setenvif.c
AddModule mod_perl.c
AddModule mod_php3.c
Port 80
#定义服务器所使用的TCP的端口号
User nobody
Group nobody
#以上两行是分配给httpd的新用户的文件权限,出于安全的考虑把它们的权限设置成为最低。 ServerAdmin root@localhost
#设置Web管理员的邮件地址
ServerName thj
#定义客户端从服务器读取数据时返回给客户端的主机名,其缺省值是localhost
DocumentRoot "/home/httpd/html"
#设置所有Apache所提供的文档的根目录,比如说,用户对www.mycompany.com/index.html的
访问请求,Apache对它的响应就是/home/httpd/html/index.html
UserDir public_html
DirectoryIndex index.html index.htm index.shtml index.cgi
#设置多种成功访问主页的方式,为的是提高系统的容错性
AccessFileName .htaccess
UseCanonicalName On
TypesConfig /etc/mime.types
DefaultType text/plain
HostnameLookups Off
ErrorLog /var/log/httpd/error_log
LogLevel warn
#定义那些错误类型被记录到错误日志中
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
#所有的LogFormat都用来定义日志中的条目
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog /var/log/httpd/access_log common
ServerSignature On
Alias /icons/ "/home/httpd/icons/"
ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
IndexOptions FancyIndexing
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README
HeaderName HEADER
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz
AddLanguage en .en
AddLanguage fr .fr
AddLanguage de .de
AddLanguage da .da
AddLanguage el .el
AddLanguage it .it
LanguagePriority en fr de
AddType application/x-tar .tgz
AddType text/html .shtml
AddHandler server-parsed .shtml
AddHandler imap-file map
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
Alias /doc/ /usr/doc/
CacheSize 5
#定义缓存区大小,以KB为单位。可以根据需要和硬盘空间大小进行设置
CacheGcInterval 4
#每隔4小时检查缓存区,如果已经超过CacheSize就删除文件
CacheMaxExpire 24
#HTTP文件最多被保持24小时
CacheLastModifiedFactor 0.1
#定义HTTP文件失效期,缺省是0.1 ,意思是说失效期=离最近一次修改的时间X〈factor〉,
比如离最近一次修改的时间是5小时,那么失效期就是5X0.1=0.5小时
CacheDefaultExpire 1
#这一指令提供一个缺省的时间(小时)来销毁缓存的文件,这些文件的最后更改时间不详。
CacheMaxExpire 命令不覆盖这一设置
2.4 测试及管理方法
1.每当管理员更改了Apache的设置之后,都应执行/etc/rc.d/init.d/httpd restart使得更改生效。
2.Apache提供大量的日志文件,当Apache出错的时候,管理员可以根据htppd.conf中的ErrorLog定义的路径来诊断。具体方法是:tail -f /var/log/httpd/apache/error_log
2.5 本章小节
Web服务是Internet服务器最基本的服务,Linux发行版中包含的Apache软件是性能优良的Web服务器,也是Internet上最流行的Web服务器,由于它时刻都经历着无数使用者的测试,所以现行的Apache的默认选项已经是十分适合我们大家的了,你只需要更改其中几个与当前应用环境紧密相关的选项就可以达到你的目的了。
RedHat6.2服务器配置方案(六) Squid
蓝森林 http://www.lslnet.com 2000年11月13日 18:22
第五章 Squid
5.1 简 介
作为一种免费的网络操作系统,Linux越来越受到广大网络爱好者的欢迎,目前因特网(Internet)上运行的主机有相当一部分采用的就是linux操作系统,而且中国已经把linux操作系统作为政府上网年的指定网络操作系统,种种迹象表明,linux操作系统正在逐渐走向成熟。在本章我将向大家介绍一种能在Linux系统下使用的比较优秀的代理服务器软件的配置方法。
众所周知,当今因特网发展速度极其迅猛,IP地址资源非常紧张。而如果您想访问因特网,共享因特网的丰富资源,您的机器必须拥有一个标准的IP地址。在因特网上,IP地址是识别您的机器的唯一标志。目前,有两种方式可以让您的机器拥有标准的IP地址:一种是局域网通过专线接入因特网,您的机器可以拥有静态的IP地址。所谓静态IP地址,就是对使用者来说,是固定不变的IP地址,这个IP地址给您使用后,其他人就不能再用了。一种是通过电话线拨号或ISDN拨号等方式接入因特网,您的机器可以在您拨号上网的在线期间从ISP的访问服务器的IP地址池中获得一个临时的标准IP地址,这个IP地址在您下线后就不归您使用了,而您下次拨号再上网,很可能分配给您的机器的是另外一个临时的IP地址了。这种临时分配的IP地址,称为动态IP地址。无论是静态地址还是动态地址,在您的机器访问因特网时,使用起来没有什么区别。
现在因特网发展速度这么快,而IP地址资源又这么紧张,这不能不说是一个尖锐的矛盾。虽说Ipv6正在开发中,但远水不解近渴,好多的企业、公司内部的Intranet现在就想接入因特网这个浩瀚的资源海洋,但又苦于没有充足的IP地址资源,怎么办?还好,有代理服务这个好东西。代理服务是指由一台拥有标准IP地址的机器代替若干没有标准IP地址(以下称内部地址)的机器和因特网上的其他主机打交道,提供代理服务的这台机器称为代理服务器。拥有内部地址的机器想到因特网上查找资料时,先把这个请求发给拥有标准IP地址的代理服务器,由代理服务器把这个请求通过它的标准IP地址发到请求的目标地址。然后目标地址的服务器把返回的结果发回给代理服务器,代理服务器再原封不动的把资料发给最初那台拥有内部IP地址的机器。这样就完成了一次内部机器访问因特网的一个过程。若干拥有内部地址的机器就组成了内部网,代理服务器的作用就是勾通内部网和因特网,解决内部网访问因特网的问题。而且这种代理是不可逆的,因特网上的主机不能访问任何一台拥有内部地址的机器,这样又可以保障内部资料的安全性。 能够完成这种代理功能的服务器软件有好多,我给大家推荐一种能在linux下使用的比较优秀的代理服务器软件Squid。之所以说它比较优秀,是因为它可以在代理服务器上作一个很大的缓存,可以把好多常去的网站内容存储到缓存中,这样,内部网的机器再访问那些网站,就可以从缓存里调用了。这样一方面可以加快内部网浏览因特网的速度,这就是所谓的提高客户机的访问命中率, 另一方面,Squid不仅仅支持HTTP协议,而且还支持FTP,GOPHER,SSL和WAIS等协议考虑到简捷实用的原则,我们本章只向大家介绍如何设置HTTP代理,而其他的代理大同小异,各位理解了HTTP的配置也就明白应该如何配置其他的代理了。
5.2 所需系统资源
5.2.1 配置文件:
文件 来源
/etc/squid/squid.conf squid-2.3.STABLE1-5
5.2.2 相关工具:
文件 来源
/etc/rc.d/init.d/squid squid-2.3.STABLE1-5
/etc/spool/squid squid-2.3.STABLE1-5
5.3 配置方案
1./etc/squid/squid.conf squid主配置文件
作用:包括了全部的squid配置选项,管理员只需编辑此文件便可达到提供代理服务的目的。 实例:
http_port 3128
#HTTP协议代理默认代理端口
cache_mem 42 MB
#开劈一块内存区域作为缓冲
cache_dir ufs /home/squid/cache 2048 16 256
#开劈一块硬盘空间,作为硬盘缓冲区,这块区域的分布是连续的,逻辑关系由管理员设定
cache_access_log /var/log/squid/access.log
#该log文件是用来描述每次客户请求HTTP内容时,高速缓存命中或未命中的项目。同时描述提出请求的主机身份及它们所需的内容。
cache_log /var/log/squid/cache.log
#用于描述当squid守护进程启动时,可看到有多少内存、交换空间,高速缓存目录的位置,所接受的连接类型及接受连接的端口。
cache_store_log /var/log/squid/store.log
#用于描述页面从高速缓存中被调入调出的情况。
pid_filename /var/run/squid.pid
#管理员可以通过查看此文件了解当前执行的squid进程。
dns_nameservers 192.168.10.1
#定义域名解析服务器的地址
acl all src 0.0.0.0/0.0.0.0
#定义all
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 21 443 563 70 210 1025-65535
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow all
#对所有来自子网的HTTP请求均不作限制
http_access deny !Safe_ports
#禁止来自!Safe_ports的HTTP请求
http_access deny CONNECT !SSL_ports
icp_access allow all
miss_access allow all
cache_mgr [email protected]
#设置cache管理员的邮件箱地址
acl whitehouse dst 209.67.27.247
#设置地址变量
acl BAD dst whitehouse
#设置禁止访问的外部地址变量
http_access deny BAD
acl whitehouseurl url_regex http://www.whitehouse.com
#设置禁止访问的外部URL
acl BAD dst whitehouseurl
http_access deny BAD
#管理员可以通过IP和URL两种方式实现对外部网站的屏蔽
reference_age 1 week
#设置缓冲区的更新周期
maximum_object_size 4096 KB
#设置允许被缓存的一次性最大请求
2./etc/rc.d/rc.local
echo 1 > /proc/sys/net/ipv4/ip_forward
#增加该行的意思是,打开ip_forward,使得系统能够支持IP转发。
ipchains -I forward -s 192.168.10.0/24 -d 0/0 -j MASQ
#设置透明代理的一种方式。
5.4 测试及管理方法
1.管理员更改了配置选项之后需要执行/etc/rc.d/init.d/squid restart使得更改生效。
2.在客户端的IE浏览器中需要设置代理服务器为192.168.10.1,端口为3128。
3.在配置文件中设定的cache_dir 需要通过squid -z 使得这个目录生效,当然,在squid -z之前先要更改这个目录的权限:chmod 0777 /home/squid/cache。
5.5 本章小节
看完本章之后,我想各位一定有个深切的感受,squid的配置文件十分的长,而且能干的事情实在是太多了,但是我们作为一名合格的管理员应该从需求方案出发,以客户的需求为导向,配置出我们自己需要的服务器,这样不但可以满足需要,还能大大减少我们的工作量,配置squid就是一个鲜明的例子。 第十二章 MySQL
简 介
MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。
SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。
MySQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。自1996年以来,我们一直都在使用MySQL,其环境有超过 40 个数据库,包含 10,000个表,其中500多个表超过7百万行,这大约有100 个吉字节(GB)的关键应用数据。
MySQL建立的基础是业已用在高要求的生产环境多年的一套实用例程。尽管MySQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。
MySQL的官方发音是"My Ess Que Ell"(不是 MY-SEQUEL )。
第一节 MySQL的安装
1.1 所需资源
MySQL-3.22.32-1.i386.rpm
MySQL-client-3.22.32-1.i386.rpm
1.2 安装方法
第一步:rpm -ivh MySQL-3.22.32-1.i386.rpm
第二步:rpm -ivh MySQL-3.22.32-1.i386.rpm
第三步:执行mysql,启动MySQL monitor就可以使用mysql数据库了。
第二节 MySQL的使用
2.1 启动MySQL守护进程
/etc/rc.d/init.d/mysql start
2.2 关闭MySQL守护进程
/etc/rc.d/init.d/mysql stop
2.3 检查MySQL服务器是否已经运行
2.3.1 检查MySQL的属性
/usr/bin/mysqladmin variables
2.3.2 检查MySQL的版本信息
/usr/bin/mysqladmin version
2.3.3 检查MySQL的运行状态
/usr/bin/mysqladmin status
2.3.4 检查MySQL服务器此时正运行的线程信息
/usr/bin/mysqladmin processlist
2.4 连接和断开服务器
2.4.1 连接服务器
mysql -h host -u user -p
#要求输入口令
2.4.2 断开服务器
quit
#进入MySQL之后可以敲help来获取帮助信息
2.5 MySQL存取权限的控制
MySQL的存取控制技术功能强大,比Postgres更加具有灵活性。MySQL采用的用户名和密码的加密算法与Unix系统不尽相同,其用户名可以长达16个字符。
先以root登陆MySQl,然后在MySQL的提示符下键入grant all privileges on *.* to thj@localhost identified by 'thj' with grant option; 这样,无论用户thj从什么地方登陆到这台服务器都可以使用MySQL。
第三节 MySQL数据库的简单操作语句
3.1 对数据库的操作
MySQL的数据库实际上对应的是一个目录,它被系统存储在/var/lib/mysql 中。
3.1.1 创建数据库
命令:create database 数据库名;
3.1.2 删除数据库
命令:drop database 数据库名;
3.1.3 查询MySQL中都有什么数据库
命令:show databases;
3.1.4 更改当前使用的数据库
命令:use tbl_name
3.2 对数据表的操作
MySQL中的TABLE才是真正的数据库。
3.2.1 创建数据表
命令:create table tbl_name ( column_specs );
说明:tbl_name 数据表名 column_specs 表中列的说明
3.2.2查询指定的数据表的结构
命令:describe tbl_name;
3.2.3 查询数据库中都有什么数据表
命令:show tables;
3.3 对数据记录的操作
3.3.1 增加新记录
命令:insert into tbl_name (col_name1,col_name2,…) values(values1,values2,….) 说明:insert语句简单易用,但是它也有一个缺陷,就是每次只能插入一条记录。
3.3.2 批量装载数据
命令:load data local infile "filename.txt" into table tbl_name;
说明:MySQl的版本不得低于3.22.15,否则load data local不起作用。该语句实际上是调用了/usr/bin/mysqlimport。
3.3.3 检索信息
命令:select 要选择的东西 from 一个或多个表 where 数据必须满足的条件
注:在MySQL中,每键入一条命令之后,在命令行的结尾都要敲入";",标志是一条命令,或者敲回车之后再敲go,提示系统执行上边的命令;另外,在多数关于MySQL的参考书中,命令都为大写,实际上小写也可以;还有,use语句可以不加";",这是所有MySQL语言中唯一一个不需要加";"就可以执行的语句。