<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>网邻&#039;s Blog &#187; linux操作系统</title>
	<atom:link href="http://anywang.vicp.net/wp/?cat=4&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://anywang.vicp.net:8180/wp</link>
	<description>一个信息技术教师的blog</description>
	<lastBuildDate>Tue, 14 Mar 2023 02:19:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
	
<!-- Start Of Script Generated By WP-PostViews Plus -->
<script type='text/javascript' src='http://anywang.vicp.net:8180/wp/wp-includes/js/jquery/jquery.js?ver=1.4.2'></script>
<script type="text/javascript">
/* <![CDATA[ */
/* ]]> */
</script>
<!-- End Of Script Generated By WP-PostViews Plus -->
	<item>
		<title>Linux rescue模式有几种方法引导系统</title>
		<link>http://anywang.vicp.net:8180/wp/?p=383</link>
		<comments>http://anywang.vicp.net:8180/wp/?p=383#comments</comments>
		<pubDate>Sun, 01 Nov 2015 02:22:56 +0000</pubDate>
		<dc:creator>网邻</dc:creator>
				<category><![CDATA[linux操作系统]]></category>

		<guid isPermaLink="false">http://anywang.vicp.net:8180/wp/?p=383</guid>
		<description><![CDATA[centos光盘启动后，进入linux rescue模式 光盘启动按F5 然后输入linux rescue 再回车进入修复模式 ， 将待修复的系统挂载为/ #chroot /mnt/sysimages/ 进入Linux rescue模式后有几种方法引导系统：   方法1： 1. 在系统提示符#后输入：fdisk -l //显示硬盘的分区，以便确定安装Linux的分区。 //本例是第一个硬盘的第三个主分区hda3 2. # grub-install /dev/hda //重新安装GRUB引导程序在第一个硬盘上。 3. # exit;reboot //退出并重启系统。   方法2： 1. # grub //进入GRUB命令行模式，出现提示符：grub> 2. grub> root (hd0,3) //定位安装Linux的根分区，root与参数(hd0,3)间有一个空格。 3. grub> setup (hd0) //在重新安装GRUB引导程序在第一个硬盘上，setup与参数(hd0)间有一个空格。 4. grub> exit;reboot //退出并重启系统。   方法3: 1. # grub //进入GRUB命令行模式，出现提示符：grub> 2. [...]]]></description>
			<content:encoded><![CDATA[<p>centos光盘启动后，进入linux rescue模式<br />
光盘启动按F5 然后输入linux rescue 再回车进入修复模式 ，<br />
将待修复的系统挂载为/<br />
#chroot /mnt/sysimages/<br />
进入Linux rescue模式后有几种方法引导系统：<br />
 <br />
方法1：<br />
1. 在系统提示符#后输入：fdisk -l<br />
//显示硬盘的分区，以便确定安装Linux的分区。<br />
//本例是第一个硬盘的第三个主分区hda3<br />
2. # grub-install /dev/hda<br />
//重新安装GRUB引导程序在第一个硬盘上。<br />
3. # exit;reboot<br />
//退出并重启系统。<br />
 <br />
方法2：<br />
1. # grub<br />
//进入GRUB命令行模式，出现提示符：grub><br />
2. grub> root (hd0,3)<br />
//定位安装Linux的根分区，root与参数(hd0,3)间有一个空格。<br />
3. grub> setup (hd0)<br />
//在重新安装GRUB引导程序在第一个硬盘上，setup与参数(hd0)间有一个空格。<br />
4. grub> exit;reboot<br />
//退出并重启系统。<br />
 <br />
方法3:<br />
1. # grub<br />
//进入GRUB命令行模式，出现提示符：grub><br />
2. grub> root (hd0,3)<br />
3. grub> kernel (hd0,3)/boot/vmlinuz ro root=LABEL=/<br />
//输入内核参数，注意内核的位置与名字。<br />
4. grub> initrd (hd0,3)/boot/initrd-2.4.20-8.img<br />
//传输映像文件，注意其所在的位置与名字。<br />
5. grub> boot<br />
//引导Linux系统启动。<br />
 <br />
在进入Linux rescue模式后或进入GRUB命令行模式后可以用一般的Linux命令。<br />
root (hdX,Y) //定位操作分区，X、Y是数字。执行这个名令若存在这个分区<br />
 <br />
//会显示：Filesystem type is 文件系统代号, partition type 代码.<br />
find -l 文件名//在确定的分区中寻找文件，可以用通配符* 或?</p>
]]></content:encoded>
			<wfw:commentRss>http://anywang.vicp.net:8180/wp/?feed=rss2&#038;p=383</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>screen命令</title>
		<link>http://anywang.vicp.net:8180/wp/?p=321</link>
		<comments>http://anywang.vicp.net:8180/wp/?p=321#comments</comments>
		<pubDate>Sat, 05 Oct 2013 11:02:29 +0000</pubDate>
		<dc:creator>网邻</dc:creator>
				<category><![CDATA[Linux/bsd基础知识]]></category>
		<category><![CDATA[linux操作系统]]></category>

		<guid isPermaLink="false">http://anywang.vicp.net:8180/wp/?p=321</guid>
		<description><![CDATA[        当你使用SSH登录VPS下载大的文件，比如下载10G的文件，你总不能坐在电脑旁或者开机让它下载吧。当你编译源文件的时候，网络突然断开了，那是很糟的一件事情，因为有可能你重新编译的时候会失败，于是你只有重装系统的选择了。但Linux的screen命令能避免这些灾难。

]]></description>
			<content:encoded><![CDATA[<p>当你使用SSH登录VPS下载大的文件，比如下载10G的文件，你总不能坐在电脑旁或者开机让它下载吧。当你编译源文件的时候，网络突然断开了，那是很糟的一件事情，因为有可能你重新编译的时候会失败，于是你只有重装系统的选择了。但<a title="Linux" href="http://www.centos.bz/">Linux</a>的<a title="screen" href="http://www.centos.bz/tag/screen/">screen</a>命令能避免这些灾难。</p>
<h3 id="man screen查看系统介绍">man screen查看系统介绍</h3>
<p><a rel="1&amp;nbsp;of&amp;nbsp;2" rev="0" href="http://www.centos.bz/wp-content/uploads/2011/03/screen.png"><img title="screen" src="http://www.centos.bz/wp-content/uploads/2011/03/screen.png" alt="" width="550" height="341" /></a></p>
<h3 id="Linux screen能做什么">Linux screen能做什么</h3>
<p>screen为多重视窗管理程序。此处所谓的视窗，是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时，才有可能用到screen程序。screen能在一个终端程序执行多个任务，离线执行任务等。</p>
<h3 id="安装screen命令">安装screen命令</h3>
<p>有可能有些系统已经安装有screen了。但我们不确定是否安装有的情况下执行以下命令确认。</p>
<ol title="Double click to hide line number.">which screen</ol>
<p>如果你没有安装有screen，可以到以下网站搜索适合你的系统的RPM包。</p>
<p>http://www.rpmfind.net/<a title="linux" href="http://www.centos.bz/tag/linux/">linux</a>/rpm2html/search.php?query=screen</p>
<p>比如centos32位的，可以执行以下命令安装。</p>
<ol title="Double click to hide line number.">rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm</p>
<li>yum install screen</li>
</ol>
<h3 id="使用screen">使用screen</h3>
<p>键入以下命令启动screen,之后会生成一个会话窗口。</p>
<ol title="Double click to hide line number.">screen</ol>
<p>现在你处于新的会话窗口中，你可以执行任何命令。<br />
管理会话的语法是：ctrl-a 指令，比如ctrl-a c表示创建新的会话窗口，更多的命令可以键入ctrl-a ?查看，如图。<br />
<a rel="2&amp;nbsp;of&amp;nbsp;2" rev="1" href="http://www.centos.bz/wp-content/uploads/2011/03/linux-screen1.jpg"><img title="linux-screen1" src="http://www.centos.bz/wp-content/uploads/2011/03/linux-screen1.jpg" alt="" width="641" height="385" /></a></p>
<h3 id="多窗口多任务功能">多窗口多任务功能</h3>
<p>打开一个新窗口，你可以执行&#8221;ctrl-a&#8221;和&#8221;c&#8221;新建，接着你可以执行任何命令，比如“top”来监控cpu，内存等的使用率情况。<br />
切换下一个窗口，可以使用 “Ctrl-A “n”,切换上一个窗口可以使用 “Ctrl-A “p”。</p>
<h3 id="离开screen">离开screen</h3>
<p>完成终止一个会话可以使用“Ctrl-A” “K” 或&#8221;exit&#8221;命令结束。<br />
保留会话但关闭窗口可以使用“Ctrl-A” “d”命令，这样下次你可以连接此会话。</p>
<h3 id="连接screen">连接screen</h3>
<p>我们可以执行以下命令来查看会话列表。</p>
<ol title="Double click to hide line number.">screen -ls</ol>
<p>There are screens on:<br />
31619.ttyp2.gigan (Detached)<br />
4731.ttyp2.gigan (Detached)<br />
2 Sockets in /tmp/screens/S-root.<br />
这里我们看到有两个不同的会话。为了重新连接会话，我们可以执行以下命令。</p>
<ol title="Double click to hide line number.">screen -r 31619.ttyp2.gigan</ol>
<h3 id="screen参数">screen参数</h3>
<p>-A 将所有的视窗都调整为目前终端机的大小。<br />
-d&lt;作业名称&gt; 将指定的screen作业离线。<br />
-h&lt;行数&gt; 指定视窗的缓冲区行数。<br />
-m 即使目前已在作业中的screen作业，仍强制建立新的screen作业。<br />
-r&lt;作业名称&gt; 恢复离线的screen作业。<br />
-R 先试图恢复离线的作业。若找不到离线的作业，即建立新的screen作业。<br />
-s 指定建立新视窗时，所要执行的<a title="shell" href="http://www.centos.bz/category/shell/">shell</a>。<br />
-S&lt;作业名称&gt; 指定screen作业的名称。<br />
-v 显示版本信息。<br />
-x 恢复之前离线的screen作业。<br />
-ls或&#8211;list 显示目前所有的screen作业。<br />
-wipe 检查目前所有的screen作业，并删除已经无法使用的screen作业。</p>
<p>转载请标明文章来源:《<a href="http://www.centos.bz/2011/03/linux-screen-remote-session-management-command/">http://www.centos.bz/2011/03/linux-screen-remote-session-management-command/</a>》</p>
]]></content:encoded>
			<wfw:commentRss>http://anywang.vicp.net:8180/wp/?feed=rss2&#038;p=321</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux如何设置swap交换分区</title>
		<link>http://anywang.vicp.net:8180/wp/?p=293</link>
		<comments>http://anywang.vicp.net:8180/wp/?p=293#comments</comments>
		<pubDate>Tue, 24 Jul 2012 13:04:37 +0000</pubDate>
		<dc:creator>网邻</dc:creator>
				<category><![CDATA[linux操作系统]]></category>

		<guid isPermaLink="false">http://anywang.vicp.net/wp/?p=293</guid>
		<description><![CDATA[swap交换分区一般只在xen VPS有这种功能，openvz则没有。swap交换分区可以增加一定量的内存使用，但增加swap分区的最重要的作用是防止网站流量突然增大而导致系统分配内存不够用而死机。如果你的VPS长期处理使用swap的状态下，建议你检查下程序或VPS，或者升级更大的内存的VPS，因为使用swap交换分区，会使服务器的性能降低很多，导致访问速度变慢。下面我们来看看如何增加swap交换分区。 1、以root权限登录SSH，键入如下命令创建512M的swap文件(1024 * 512MB = 524288). dd if=/dev/zero of=/swapfile1 bs=1024 count=524288 2、创建Linux交换文件 mkswap /swapfile1 3、立即激活 /swapfile1交换文件 swapon /swapfile1 4、设置系统自激活交换文件。编辑 /etc/fstab文件，并增加如下第二行代码。 vi /etc/fstab /swapfile1 swap swap defaults 0 0 5、重启系统，使用free -m查看swap大小。 转载请注明文章来源：http://www.centos.bz/2011/04/linux-increase-swap/]]></description>
			<content:encoded><![CDATA[<p><a title="swap" href="http://www.centos.bz/tag/swap/">swap</a>交换分区一般只在xen VPS有这种功能，<a title="openvz" href="http://www.centos.bz/tag/openvz/">openvz</a>则没有。swap交换分区可以增加一定量的内存使用，但增加swap分区的最重要的作用是防止网站流量突然增大而导致系统分配内存不够用而死机。如果你的VPS长期处理使用swap的状态下，建议你检查下程序或VPS，或者升级更大的内存的VPS，因为使用swap交换分区，会使服务器的性能降低很多，导致访问速度变慢。下面我们来看看如何增加swap交换分区。</p>
<p>1、以root权限登录SSH，键入如下命令创建512M的swap文件(1024 * 512MB = 524288).</p>
<ol title="Double click to hide line number.">dd if=/dev/zero of=/swapfile1 bs=1024 count=524288</ol>
<p>2、创建<a title="Linux" href="http://www.centos.bz/">Linux</a>交换文件</p>
<ol title="Double click to hide line number.">mkswap /swapfile1</ol>
<p>3、立即激活 /swapfile1交换文件</p>
<ol title="Double click to hide line number.">swapon /swapfile1</ol>
<p>4、设置系统自激活交换文件。编辑 /etc/fstab文件，并增加如下第二行代码。</p>
<ol title="Double click to hide line number.">vi /etc/fstab</p>
<li>/swapfile1 swap swap defaults 0 0</li>
</ol>
<p>5、重启系统，使用free -m查看swap大小。</p>
<p>转载请注明文章来源：<a rel="bookmark" href="http://www.centos.bz/2011/04/linux-increase-swap/">http://www.centos.bz/2011/04/linux-increase-swap/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://anywang.vicp.net:8180/wp/?feed=rss2&#038;p=293</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关闭CENTOS不必要的默认服务</title>
		<link>http://anywang.vicp.net:8180/wp/?p=171</link>
		<comments>http://anywang.vicp.net:8180/wp/?p=171#comments</comments>
		<pubDate>Wed, 02 Nov 2011 16:36:07 +0000</pubDate>
		<dc:creator>网邻</dc:creator>
				<category><![CDATA[linux操作系统]]></category>

		<guid isPermaLink="false">http://anywang.vicp.net/wp/?p=171</guid>
		<description><![CDATA[CentOS关闭服务的方法： chkconfig –level 2345 服务名称 off   服務名稱 建議 說明 acpid 停用 Advanced Configuration and Power Interface 電源進階設定，常用在 Laptop 上 apmd 停用 Adventage Power Management daemon 偵測系統的電池電量，常用在 Laptop 上 atd 停用 /etc/at.allow，/etc/at.deny 我大概都使用 crond 來達成 autofs 停用 自動掛載檔案系統與週邊裝置 (如光碟、USB)，常用在 Laptop 上 avahi-daemon 停用 當區網沒有 DNS 服務時會試著尋找提供 zeroconf 協定的主機 bluetooth 停用 Bluetooth 藍芽，常用在 Laptop 上 cpuspeed [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a title="CentOS" href="http://www.centos.bz/">CentOS</a>关闭服务的方法：</strong></p>
<ol title="Double click to hide line number.">chkconfig –level 2345 服务名称 off</ol>
<p> </p>
<table border="1">
<tbody>
<tr>
<td><strong>服務名稱</strong></td>
<td><strong>建議</strong></td>
<td><strong>說明</strong></td>
</tr>
<tr>
<td>acpid</td>
<td>停用</td>
<td>Advanced Configuration and Power Interface 電源進階設定，常用在 Laptop 上</td>
</tr>
<tr>
<td>apmd</td>
<td>停用</td>
<td>Adventage Power Management daemon 偵測系統的電池電量，常用在 Laptop 上</td>
</tr>
<tr>
<td>atd</td>
<td>停用</td>
<td>/etc/at.allow，/etc/at.deny 我大概都使用 crond 來達成</td>
</tr>
<tr>
<td>autofs</td>
<td>停用</td>
<td>自動掛載檔案系統與週邊裝置 (如光碟、USB)，常用在 Laptop 上</td>
</tr>
<tr>
<td>avahi-daemon</td>
<td>停用</td>
<td>當區網沒有 DNS 服務時會試著尋找提供 zeroconf 協定的主機</td>
</tr>
<tr>
<td>bluetooth</td>
<td>停用</td>
<td>Bluetooth 藍芽，常用在 Laptop 上</td>
</tr>
<tr>
<td>cpuspeed</td>
<td>停用</td>
<td>控制 CPU 速度主要用來省電，常用在 Laptop 上</td>
</tr>
<tr>
<td>cups</td>
<td>停用</td>
<td>Common UNIX Printing System 使系統支援印表機</td>
</tr>
<tr>
<td>firstboot</td>
<td>停用</td>
<td>安裝完成後第一次啟動時的服務，設定 auth、firewall、keyboard…</td>
</tr>
<tr>
<td>gpm</td>
<td>停用</td>
<td>記錄週邊裝置的檔案資料，例如文字模式下可使用滑鼠</td>
</tr>
<tr>
<td>haldaemon</td>
<td>停用</td>
<td>使系統支援 plug and play 裝置</td>
</tr>
<tr>
<td>hidd</td>
<td>停用</td>
<td>使系統支援藍芽裝置，例如滑鼠,鍵盤</td>
</tr>
<tr>
<td>hplip</td>
<td>停用</td>
<td>使系統支援 HP 相關型號印表機</td>
</tr>
<tr>
<td>ip6tables</td>
<td>停用</td>
<td>使系統支援 <a title="IPTables" href="http://www.centos.bz/tag/iptables/">IPTables</a> Filrewall IPv6</td>
</tr>
<tr>
<td>isdn</td>
<td>停用</td>
<td>使系統支援 Integrated Services Digital Network (ISDN) 環境</td>
</tr>
<tr>
<td>lm_sensors</td>
<td>停用</td>
<td>使系統支援偵測主機版或硬體，常用在 Laptop 上</td>
</tr>
<tr>
<td>messagebus</td>
<td>停用</td>
<td>使系統支援 plug and play 裝置</td>
</tr>
<tr>
<td>nfslock</td>
<td>停用</td>
<td>使系統支援 NFS Server 資料一致性功能</td>
</tr>
<tr>
<td>pcscd</td>
<td>停用</td>
<td>使系統支援 Smart Card</td>
</tr>
<tr>
<td>portmap</td>
<td>停用</td>
<td>使系統支援 NFS Service</td>
</tr>
<tr>
<td>rpcgssd</td>
<td>停用</td>
<td>使系統支援 NFSv4 Service</td>
</tr>
<tr>
<td>rpcidmapd</td>
<td>停用</td>
<td>使系統支援 NFSv4 Service</td>
</tr>
<tr>
<td>yum-updatesd</td>
<td>停用</td>
<td>使系統支援 YUM 自動更新服務 (上線機器還是先確認好再更新)</td>
</tr>
<tr>
<td colspan="4"> </td>
</tr>
<tr>
<td>anacron</td>
<td>視個人需求</td>
<td>執行在 <a title="crontab" href="http://www.centos.bz/tag/crontab/">crontab</a> 設定的時間沒有執行到的工作</td>
</tr>
<tr>
<td>auditd</td>
<td>視個人需求</td>
<td>稽核系統 /var/log/audit/audit.log，若 auditd 未執行中則稽核訊息會寫入 /var/log/messages (配合 SELinux)</td>
</tr>
<tr>
<td>iptables</td>
<td>視個人需求</td>
<td>使系統支援 IPTables Filrewall</td>
</tr>
<tr>
<td>irqbalance</td>
<td>視個人需求</td>
<td>使系統支援多個 CPU 環境當系統中斷請求時進行負載平衡的程序，所以單 CPU 的機器就不需要</td>
</tr>
<tr>
<td>lvm2-monitor</td>
<td>視個人需求</td>
<td>使系統支援 Logical Volume Manager 邏輯磁區</td>
</tr>
<tr>
<td>mcstrans</td>
<td>視個人需求</td>
<td>主要用於配合 SELinux 服務</td>
</tr>
<tr>
<td>mdmonitor</td>
<td>視個人需求</td>
<td>使系統支援 RAID 相關程序</td>
</tr>
<tr>
<td>microcode_ctl</td>
<td>視個人需求</td>
<td>使系統支援 Intel IA32 CPU 特色，所以 AMD CPU 不需要</td>
</tr>
<tr>
<td>netfs</td>
<td>視個人需求</td>
<td>Network File System Mounter 網路掛載系統 (如 NFS、<a title="Samba" href="http://www.centos.bz/tag/samba/">Samba</a>、NCP)</td>
</tr>
<tr>
<td>restorecond</td>
<td>視個人需求</td>
<td>使系統支援 SELinux 監控檔案狀態</td>
</tr>
<tr>
<td>smartd</td>
<td>視個人需求</td>
<td>使系統支援檢查硬碟狀態 (Hardware RAID 要改設定檔)</td>
</tr>
<tr>
<td>sendmail</td>
<td>視個人需求</td>
<td>使系統支援 Sendmail</td>
</tr>
<tr>
<td>xfs</td>
<td>視個人需求</td>
<td>使系統支援 X Window 字型</td>
</tr>
<tr>
<td colspan="4"> </td>
</tr>
<tr>
<td>crond</td>
<td>啟動</td>
<td>/etc/cron.* 排程服務</td>
</tr>
<tr>
<td>kudzu</td>
<td>啟動</td>
<td>使系統每次開機會都自動執行硬體偵測</td>
</tr>
<tr>
<td>network</td>
<td>啟動</td>
<td>使系統支援網卡</td>
</tr>
<tr>
<td>readahead_early</td>
<td>啟動</td>
<td>使系統再啟動時預先將相關檔案讀到記憶體內來加快啟動速度</td>
</tr>
<tr>
<td>sshd</td>
<td>啟動</td>
<td>使系統支援 SSH Service</td>
</tr>
<tr>
<td>syslog</td>
<td>啟動</td>
<td>使系統支援 System Log Service</td>
</tr>
</tbody>
</table>
<p> </p>
<div id="blog_text">
<p>CentOS5.5 默认基本服务详解</p>
<div>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><strong>服务名称</strong></td>
<td><strong>功能</strong></td>
<td><strong>默认</strong></td>
<td><strong>建议</strong></td>
<td><strong>备注</strong></td>
</tr>
<tr>
<td>NetworkManager</td>
<td>用于自动连接网络</td>
<td>关闭</td>
<td>关闭</td>
<td>对服务器没用</td>
</tr>
<tr>
<td>acpid</td>
<td>电源的开关等检测管理</td>
<td>开启</td>
<td>关闭</td>
<td>对服务器没用</td>
</tr>
<tr>
<td>anacron</td>
<td>一种计划任务管理</td>
<td>开启</td>
<td>开启</td>
<td> </td>
</tr>
<tr>
<td>apmd</td>
<td>高级电源管理</td>
<td>开启</td>
<td>开启</td>
<td> </td>
</tr>
<tr>
<td>atd</td>
<td>在指定时间执行命令</td>
<td>开启</td>
<td>关闭</td>
<td>如果用crond，则可关闭它</td>
</tr>
<tr>
<td>auditd</td>
<td> </td>
<td>开启</td>
<td>自定</td>
<td>如果用selinux，需要开启它</td>
</tr>
<tr>
<td>autofs</td>
<td>文件系统自动加载、卸载</td>
<td>开启</td>
<td>自定</td>
<td>只在需要时开启它，可以停止</td>
</tr>
<tr>
<td>avahi-daemon</td>
<td>本地网络服务查找</td>
<td>开启</td>
<td>关闭</td>
<td>对服务器没用</td>
</tr>
<tr>
<td>avahi-dnsconfd</td>
<td>avahi DNS</td>
<td>关闭</td>
<td>关闭</td>
<td>对服务器没用</td>
</tr>
<tr>
<td>bluetooth</td>
<td>蓝牙无线通信</td>
<td>开启</td>
<td>关闭</td>
<td>对服务器没用</td>
</tr>
<tr>
<td>conman</td>
<td>控制台管理</td>
<td>关闭</td>
<td>关闭</td>
<td>没用</td>
</tr>
<tr>
<td>spuspeed</td>
<td>调节cpu速度</td>
<td>开启</td>
<td>自定</td>
<td> </td>
</tr>
<tr>
<td>crond</td>
<td>计划任务管理</td>
<td>开启</td>
<td>开启</td>
<td>很有用，开启</td>
</tr>
<tr>
<td>cups</td>
<td>通用unix打印服务</td>
<td>开启</td>
<td>关闭</td>
<td>对服务器没用</td>
</tr>
<tr>
<td>dnsmasq</td>
<td>dns cache</td>
<td>关闭</td>
<td>关闭</td>
<td>没用</td>
</tr>
<tr>
<td>dund</td>
<td>蓝牙相关</td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>firstboot</td>
<td>系统安装后初始设定</td>
<td>开启</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>gpm</td>
<td>控制台下的鼠标支持</td>
<td>开启</td>
<td>开启</td>
<td> </td>
</tr>
<tr>
<td>haldaemon</td>
<td>硬件信息收集服务</td>
<td>开启</td>
<td>开启</td>
<td> </td>
</tr>
<tr>
<td>hidd</td>
<td>蓝牙相关</td>
<td>开启</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>ibmasm</td>
<td>ibm硬件管理</td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>ip6tables</td>
<td>ipv6防火墙</td>
<td>开启</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>iptables</td>
<td>ipv4防火墙</td>
<td>开启</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>irda</td>
<td>红外线通信</td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>irqbalance</td>
<td>cpu负载均衡</td>
<td>开启</td>
<td>自定</td>
<td>多核cup需要</td>
</tr>
<tr>
<td>kudzu</td>
<td>硬件变动检测</td>
<td>开启</td>
<td>关闭</td>
<td>服务器无用</td>
</tr>
<tr>
<td>lvm2-monitor</td>
<td>lvm监视</td>
<td>开启</td>
<td>关闭</td>
<td>非集群无用</td>
</tr>
<tr>
<td>mcstrans</td>
<td>在开启selinux时用于检查context</td>
<td>开启</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>mdmonitor</td>
<td>软raid监视</td>
<td>开启</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>mdmpd</td>
<td>软raid管理</td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>messagebus</td>
<td>负责在各个系统进程之间传递消息</td>
<td>开启</td>
<td>开启</td>
<td>如停用，haldaemon启动会失败</td>
</tr>
<tr>
<td>microcode_ctl</td>
<td> cpu微码管理升级</td>
<td>开启</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>multipathd</td>
<td> </td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>netconsole</td>
<td> </td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>netfs</td>
<td>nfs相关</td>
<td>开启</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>netplugd</td>
<td>网线热插拔监视</td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>network</td>
<td> </td>
<td>开启</td>
<td>开启</td>
<td> </td>
</tr>
<tr>
<td>nfs</td>
<td>网络文件系统</td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>nfslock</td>
<td>nfs相关</td>
<td>开启</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>nscd</td>
<td>name cache，应该与DNS相关</td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>oddjobd</td>
<td>与D-BUS相关</td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>pand</td>
<td>蓝牙相关</td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>pcscd</td>
<td>pc/sc smart card daemon</td>
<td>开启</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>portmap</td>
<td>使用NFS、NIS时的port map</td>
<td>开启</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>psacct</td>
<td>负荷检测</td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>rawdevices</td>
<td>raw 设备支持</td>
<td>开启</td>
<td>开启</td>
<td> </td>
</tr>
<tr>
<td>rdisc</td>
<td>自动检测路由器</td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>readahead_early</td>
<td> </td>
<td>开启</td>
<td>开启</td>
<td> </td>
</tr>
<tr>
<td>readahead_later</td>
<td> </td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>restorecond</td>
<td>selinux相关</td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>rpcgssd</td>
<td>NFS相关</td>
<td>开启</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>rpcidmapd</td>
<td>RPC name to UID/GID mapper</td>
<td>开启</td>
<td>关闭</td>
<td>NFS相关</td>
</tr>
<tr>
<td>rpcsvcgssd</td>
<td>NFS相关</td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>saslauthd</td>
<td>sasl认证服务相关</td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>sendmail</td>
<td> </td>
<td>开启</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>smartd</td>
<td>硬盘自动检测守护进程</td>
<td>开启</td>
<td>开启</td>
<td> </td>
</tr>
<tr>
<td>sshd</td>
<td> </td>
<td>开启</td>
<td>开启</td>
<td> </td>
</tr>
<tr>
<td>syslog</td>
<td>系统日志进程</td>
<td>开启</td>
<td>开启</td>
<td> </td>
</tr>
<tr>
<td>tcsd</td>
<td> </td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>wpa_supplicant</td>
<td>无线认证相关</td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>xfs</td>
<td>x windows相关</td>
<td>开启</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>ypbind</td>
<td>network information service客户端</td>
<td>关闭</td>
<td>关闭</td>
<td> </td>
</tr>
<tr>
<td>yum-updatesd</td>
<td>yum自动升级</td>
<td>开启</td>
<td>关闭</td>
<td>对服务器开启比较危险哦</td>
</tr>
</tbody>
</table>
<p>注：上述服务列表是在CentOS只安装了基本系统、开发工具、开发库、老软件支持的前提下显示出来的。</p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://anywang.vicp.net:8180/wp/?feed=rss2&#038;p=171</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux下定时自动启动任务crontab命令用法</title>
		<link>http://anywang.vicp.net:8180/wp/?p=169</link>
		<comments>http://anywang.vicp.net:8180/wp/?p=169#comments</comments>
		<pubDate>Wed, 02 Nov 2011 16:21:29 +0000</pubDate>
		<dc:creator>网邻</dc:creator>
				<category><![CDATA[linux操作系统]]></category>

		<guid isPermaLink="false">http://anywang.vicp.net/wp/?p=169</guid>
		<description><![CDATA[crontab简介 crontab命令常见于Unix和类Unix的操作系统之中，用于设置周期性被执行的指令。该命令从标准输入设备读取指令，并将其存放于“crontab”文件中，以供之后读取和执行。该词来源于希腊语 chronos(χρόνος)，原意是时间。　　通常，crontab储存的指令被守护进程激活， crond常常在后台运行，每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。 crontab用法 crontab的格式如下面： f1 f2 f3 f4 f5 program 其中 f1 是表示分钟，f2 表示小时，f3 表示一个月份中的第几日，f4 表示月份，f5 表示一个星期中的第几天。program 表示要执行程式的路径。 当 f1 为 * 时表示每分钟都要执行 program，f2 为 * 时表示每小时都要执行程式，其余类推 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行，f2 为 a-b 时表示从第 a 到第 b 小时都要执行，其余类推 当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次，f2 为 */n [...]]]></description>
			<content:encoded><![CDATA[<h3 id="crontab简介">crontab简介</h3>
<p>crontab命令常见于Unix和类Unix的操作系统之中，用于设置周期性被执行的指令。该命令从标准输入设备读取指令，并将其存放于“crontab”文件中，以供之后读取和执行。该词来源于希腊语 chronos(χρόνος)，原意是时间。　　通常，crontab储存的指令被守护进程激活， crond常常在后台运行，每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。</p>
<h3 id="crontab用法">crontab用法</h3>
<p>crontab的格式如下面：</p>
<p>f1 f2 f3 f4 f5 program</p>
<p>其中 f1 是表示分钟，f2 表示小时，f3 表示一个月份中的第几日，f4 表示月份，f5 表示一个星期中的第几天。program 表示要执行程式的路径。</p>
<ul>
<li>当 f1 为 * 时表示每分钟都要执行 program，f2 为 * 时表示每小时都要执行程式，其余类推</li>
<li>当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行，f2 为 a-b 时表示从第 a 到第 b 小时都要执行，其余类推</li>
<li>当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次，f2 为 */n 表示每 n 小时个时间间隔执行一次，其余类推</li>
<li>当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行，f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行，其余类推</li>
</ul>
<p>管理员登录SSH,输入命令crontab -e编辑crontab文件，根据上面的格式输入并保存。</p>
<h3 id="crontab例子">crontab例子</h3>
<p>每月每天每小时的第 0 分钟执行一次 /bin/ls :</p>
<ol title="Double click to hide line number.">0 * * * * /bin/ls</ol>
<p>在 12 月内, 每天的早上 6 点到 12 点中，每隔 20 分钟执行一次 /usr/bin/backup :</p>
<ol title="Double click to hide line number.">*/20 6-12 * 12 * /usr/bin/backup</ol>
<p>周一到周五每天下午 5:00 寄一封信给 alex@domain.name :</p>
<ol title="Double click to hide line number.">0 17 * * 1-5 mail -s &#8220;hi&#8221; alex@domain.name &amp;lt; /tmp/maildata</ol>
<p>每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分….执行 echo “haha”</p>
<ol title="Double click to hide line number.">20 0-23/2 * * * echo &#8220;haha&#8221;</ol>
<p>晚上11点到早上8点之间每两个小时，早上8点</p>
<ol title="Double click to hide line number.">0 23-7/2，8 * * * date</ol>
<p>在hp unix,中，每20分钟执行一次，表示为：0,20,40 * * * * 而不能采用*/n方式，否则出现语法错误</p>
<p>crontab用法其实很容易掌握，懂得使用crontab，对网站和服务器维护起到很大的帮助，比如定时备份，定时优化服务器等。</p>
]]></content:encoded>
			<wfw:commentRss>http://anywang.vicp.net:8180/wp/?feed=rss2&#038;p=169</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CentOS 5.x 系统安全配置</title>
		<link>http://anywang.vicp.net:8180/wp/?p=167</link>
		<comments>http://anywang.vicp.net:8180/wp/?p=167#comments</comments>
		<pubDate>Wed, 02 Nov 2011 16:18:56 +0000</pubDate>
		<dc:creator>网邻</dc:creator>
				<category><![CDATA[linux操作系统]]></category>

		<guid isPermaLink="false">http://anywang.vicp.net/wp/?p=167</guid>
		<description><![CDATA[1、注释掉不需要的用户和用户组 vi /etc/passwd #adm #lp #sync #shutdown #halt #news #uucp #operator #games #gopher #ftp vi /etc/group #adm #lp #news #uucp #games #dip 2、给下面的文件加上不可更改属性，从而防止非授权用户获得权限 #chattr +i /etc/passwd #chattr +i /etc/shadow #chattr +i /etc/group #chattr +i /etc/gshadow 权限修改之后，就无法添加删除用户了。要取消之前的修改， #lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow lsattr 只是显示文件的属性 #chattr -i /etc/passwd #chattr -i /etc/shadow #chattr -i /etc/group #chattr -i /etc/gshadow [...]]]></description>
			<content:encoded><![CDATA[<div><span style="color: #333333;"><span style="font-family: ����;">1、注释掉不需要的用户和用户组<br />
vi /etc/passwd<br />
#adm<br />
#lp<br />
#sync<br />
#shutdown<br />
#halt<br />
#news<br />
#uucp<br />
#operator<br />
#games<br />
#gopher<br />
#ftp<br />
vi /etc/group<br />
#adm<br />
#lp<br />
#news<br />
#uucp<br />
#games<br />
#dip<br />
2、给下面的文件加上不可更改属性，从而防止非授权用户获得权限<br />
#chattr +i /etc/passwd<br />
#chattr +i /etc/shadow<br />
#chattr +i /etc/group<br />
#chattr +i /etc/gshadow<br />
权限修改之后，就无法添加删除用户了。要取消之前的修改，<br />
#lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow<br />
lsattr 只是显示文件的属性<br />
#chattr -i /etc/passwd<br />
#chattr -i /etc/shadow<br />
#chattr -i /etc/group<br />
#chattr -i /etc/gshadow<br />
再次查看<br />
lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow<br />
————- /etc/passwd<br />
————- /etc/shadow<br />
————- /etc/group<br />
————- /etc/gshadow<br />
修改完之后，再执行<br />
chattr +i /etc/passwd<br />
chattr +i/etc/shadow<br />
chattr +i /etc/group<br />
chattr +i/etc/gshadow<br />
禁止Ctrl+Alt+Delete重新启动机器命令<br />
3、修改/etc/inittab文件，将”ca::ctrlaltdel:/sbin/shutdown-t3-rnow”一行注释掉。<br />
然后重新设置/etc/rc.d/init.d/目录下所有文件的许可权限，运行如下命令：<br />
# chmod -R 700 /etc/rc.d/init.d/*<br />
这样便仅有root可以读、写或执行上述所有脚本文件。<br />
4、限制su命令<br />
当不想任何人能够su作为root，可以编辑/etc/pam.d/su文件，增加如下两行：<br />
auth sufficient /lib/security/pam_rootok.sodebug<br />
auth required /lib/security/pam_wheel.sogroup=isd<br />
这时，仅isd组的用户可以su作为root。此后，如果希望用户admin能够su作为root，可以运行如下命令：<br />
#usermod -G 10 admin<br />
5、防止攻击<br />
1）阻止ping, 抵御SYN:<br />
如果没人能ping通系统，安全性自然增加了，为此，我们可以在/etc/rc.d/rc.local文件中增加如下一行<br />
echo 1&gt;/proc/sys/net/ipv4/icmp_echo_ignore_all<br />
SYN攻击是利用TCP/IP协议3次握手的原理，发送大量的建立连接的网络包，但不实际建立连接，最终导致被攻击服务器的网络队列被占满，无法被正常用户访问。<br />
Linux内核提供了若干SYN相关的配置，用命令：<br />
sysctl -a | grep syn<br />
看到：<br />
net.ipv4.tcp_max_syn_backlog = 1024<br />
net.ipv4.tcp_syncookies = 0<br />
net.ipv4.tcp_synack_retries = 5<br />
net.ipv4.tcp_syn_retries = 5<br />
tcp_max_syn_backlog是SYN队列的长度，tcp_syncookies是一个开关，是否打开SYN Cookie功能，该功能可以防止部分SYN攻击。tcp_synack_retries和tcp_syn_retries定义SYN的重试次数。<br />
加大SYN队列长度可以容纳更多等待连接的网络连接数，打开SYN Cookie功能可以阻止部分SYN攻击，降低重试次数也有一定效果。<br />
调整上述设置的方法是：<br />
vi /etc/rc.d/rc.local ,将下面的命令法添加进去<br />
sysctl -w net.ipv4.tcp_max_syn_backlog=2048 #增加SYN队列长度到2048<br />
sysctl -w net.ipv4.tcp_syncookies=1 #打开SYN COOKIE功能<br />
sysctl -w net.ipv4.tcp_synack_retries=3 #降低重试次数<br />
sysctl -w net.ipv4.tcp_syn_retries=3<br />
2）防止IP欺骗<br />
编辑host.conf文件并增加如下几行来防止IP欺骗攻击。<br />
order hosts,bind #名称解释顺序<br />
multi on #允许主机拥有多个IP地址<br />
nospoof on #禁止IP地址欺骗<br />
3）防止DoS攻击<br />
对系统所有的用户设置资源限制可以防止DoS类型攻击，如最大进程数和内存使用数量等。<br />
例如，可以在/etc/security/limits.conf中添加如下几行：<br />
* hard core 0<br />
* hard rss 5000<br />
* hard nproc 20<br />
然后必须编辑/etc/pam.d/login文件检查下面一行是否存在。<br />
session required /lib/security/pam_limits.so<br />
4）修改sshd_config文件<br />
首先修改配置文件 vi /etc/ssh/sshd_config<br />
a 修改SSH端口<br />
找到#Port 22一段，这里是标识默认使用22端口，修改为如下：<br />
Port 22<br />
Port 50000<br />
然后保存退出<br />
执行/etc/init.d/sshd restart<br />
这样SSH端口将同时工作与22和50000上。<br />
现在编辑防火墙配置：vi /etc/sysconfig/iptables<br />
启用50000端口。<br />
执行/etc/init.d/iptables restart<br />
现在请使用ssh工具连接50000端口，来测试是否成功。<br />
如果连接成功了，则再次编辑sshd_config的设置，将里边的Port22删除，即可。<br />
b 只使用SSH v2<br />
将#Protocol 2,1改为 Protocol 2<br />
c 限制用户的SSH访问<br />
假设我们只要root，vivek和jerry用户能通过SSH使用系统，向sshd_config配置文件中添加：<br />
AllowUsers root vivek jerry<br />
d 配置空闲超时退出时间间隔<br />
用户可以通过ssh登录到服务器，你可以设置一个空闲超时时间间隔避免出现孤儿ssh会话，打开sshd_config配置文件，确保有如下的配置项：<br />
ClientAliveInterval 300<br />
ClientAliveCountMax 0<br />
上面的例子设置的空闲超时时间间隔是300秒，即5分钟，过了这个时间后，空闲用户将被自动踢出出去（可以理解为退出登录/注销）。<br />
e 禁用.rhosts文件<br />
不要读取用户的~/.rhosts和~/.shosts文件，使用下面的设置更新sshd_config配置文件：<br />
IgnoreRhosts yes<br />
SSH可以模拟过时的rsh命令的行为，rsh被公认为是不安全的远程访问协议，因此必须得禁用掉。<br />
6、限制不同文件的权限<br />
[root@localhost ~]# chmod 700 /usr/bin/<br />
[root@localhost ~]# chmod 750 /usr/bin/*++*<br />
[root@localhost ~]# chmod 750 /usr/bin/c++*<br />
[root@localhost ~]# chmod 750 /usr/bin/ld<br />
[root@localhost ~]# chmod 750 /usr/bin/as<br />
[root@localhost ~]# locate sqlaccess<br />
/opt/lampp/bin/mysqlaccess<br />
[root@localhost ~]# chmod 755 /opt/lampp/bin/mysqlaccess<br />
[root@localhost ~]# chattr +a .bash_history<br />
[root@localhost ~]# chattr +i .bash_history<br />
[root@localhost ~]# chmod 700 /bin/ping<br />
[root@localhost ~]# chmod 700 /usr/bin/finger<br />
[root@localhost ~]# chmod 700 /usr/bin/who<br />
[root@localhost ~]# chmod 700 /usr/bin/w<br />
[root@localhost ~]# chmod 700 /usr/bin/locate<br />
[root@localhost ~]# chmod 700 /usr/bin/whereis<br />
[root@localhost ~]# chmod 700 /usr/bin/vim<br />
[root@localhost ~]# chmod 700 /usr/bin/make<br />
[root@localhost ~]# chmod 700 /bin/netstat<br />
[root@localhost ~]# chmod 700 /usr/bin/tail<br />
[root@localhost ~]# chmod 700 /usr/bin/less<br />
[root@localhost ~]# chmod 700 /usr/bin/head<br />
[root@localhost ~]# chmod 700 /bin/cat<br />
[root@localhost ~]# chmod 700 /bin/uname<br />
[root@localhost ~]# chmod 500 /bin/ps<br />
[root@localhost ~]# chmod 500 /usr/sbin/lsof</span></span></div>
<div></div>
<div><span style="color: #333333;">转载自：<a href="http://blog.sina.com.cn/s/blog_5fd841bf0100phjg.html">http://blog.sina.com.cn/s/blog_5fd841bf0100phjg.html</a></span></div>
]]></content:encoded>
			<wfw:commentRss>http://anywang.vicp.net:8180/wp/?feed=rss2&#038;p=167</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nginx 的 nginx.conf 中文详解</title>
		<link>http://anywang.vicp.net:8180/wp/?p=163</link>
		<comments>http://anywang.vicp.net:8180/wp/?p=163#comments</comments>
		<pubDate>Mon, 17 Oct 2011 16:27:18 +0000</pubDate>
		<dc:creator>网邻</dc:creator>
				<category><![CDATA[linux操作系统]]></category>

		<guid isPermaLink="false">http://anywang.vicp.net/wp/?p=163</guid>
		<description><![CDATA[用户 用户组 user www www; #工作进程，根据硬件调整，有人说几核cpu，就配几个，我觉得可以多一点 worker_processes 5; #错误日志 error_log logs/error.log; #pid文件位置 pid logs/nginx.pid; worker_rlimit_nofile 8192; #工作进程的最大连接数量，根据硬件调整，和前面工作进程配合起来用，尽量大，但是别把cpu跑到100%就行 events { worker_connections 4096; } http { include conf/mime.types; #反向代理配置，可以打开proxy.conf看看 include /etc/nginx/proxy.conf; #fastcgi配置，可以打开fastcgi.conf看看 include /etc/nginx/fastcgi.conf; default_type application/octet-stream; #日志的格式 log_format main '$remote_addr - $remote_user [$time_local] $status ' '"$request" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; #访问日志 access_log logs/access.log main; sendfile on; [...]]]></description>
			<content:encoded><![CDATA[<p>用户 用户组</p>
<pre>user www www;</pre>
<p>#工作进程，根据硬件调整，有人说几核cpu，就配几个，我觉得可以多一点</p>
<pre>worker_processes 5;</pre>
<p>#错误日志</p>
<pre>error_log logs/error.log;</pre>
<p>#pid文件位置</p>
<pre>pid logs/nginx.pid;
worker_rlimit_nofile 8192;</pre>
<p>#工作进程的最大连接数量，根据硬件调整，和前面工作进程配合起来用，尽量大，但是别把cpu跑到100%就行</p>
<pre>events {
worker_connections 4096;
}</pre>
<pre>http {
 include conf/mime.types;
 #反向代理配置，可以打开proxy.conf看看
 include /etc/nginx/proxy.conf;
 #fastcgi配置，可以打开fastcgi.conf看看
 include /etc/nginx/fastcgi.conf;
 default_type application/octet-stream;
 #日志的格式
 log_format main '$remote_addr - $remote_user [$time_local] $status '
 '"$request" $body_bytes_sent "$http_referer" '
 '"$http_user_agent" "$http_x_forwarded_for"';
 #访问日志
 access_log logs/access.log main;
sendfile on;
tcp_nopush on;</pre>
<p>#根据实际情况调整，如果server很多，就调大一点</p>
<pre>server_names_hash_bucket_size 128;</pre>
<p>#这个例子是fastcgi的例子，如果用fastcgi就要仔细看</p>
<pre>server { # php/fastcgi
listen 80;
#域名，可以有多个
server_name domain1.com www.domain1.com;
#访问日志，和上面的级别不一样，应该是下级的覆盖上级的
access_log logs/domain1.access.log main;
root html;
location / {
index index.html index.htm index.php;
}
</pre>
<p>#所有php后缀的，都通过fastcgi发送到1025端口上<br />
#上面include的fastcgi.conf在此应该是有作用，如果你不include，那么就把fastcgi.conf的配置项放在这个下面。</p>
<pre>location ~ .php$ {
fastcgi_pass 127.0.0.1:1025;
}
}</pre>
<p>#这个是反向代理的例子</p>
<pre>server { # simple reverse-proxy
listen 80;
server_name domain2.com www.domain2.com;
access_log logs/domain2.access.log main;</pre>
<p>#静态文件，nginx自己处理</p>
<pre>location ~ ^/(images|javascript|js|css|flash|media|static)/ {
root /var/www/virtual/big.server.com/htdocs;
  #过期30天，静态文件不怎么更新，过期可以设大一点，如果频繁更新，则可以设置得小一点。
  expires 30d;
}</pre>
<p>#把请求转发给后台web服务器，反向代理和fastcgi的区别是，反向代理后面是web服务器，fastcgi后台是fasstcgi监听进程，当然，协议也不一样。</p>
<pre>location / {
proxy_pass http://127.0.0.1:8080;
}
}</pre>
<p>#upstream的负载均衡，weight是权重，可以根据机器配置定义权重。据说nginx可以根据后台响应时间调整。后台需要多个web服务器。</p>
<pre>upstream big_server_com {
server 127.0.0.3:8000 weight=5;
server 127.0.0.3:8001 weight=5;
server 192.168.0.1:8000;
server 192.168.0.1:8001;
}
server {
listen 80;
server_name big.server.com;
access_log logs/big.server.access.log main; 

location / {
proxy_pass http://big_server_com;
}
}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://anywang.vicp.net:8180/wp/?feed=rss2&#038;p=163</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache 的 httpd.conf 详解</title>
		<link>http://anywang.vicp.net:8180/wp/?p=160</link>
		<comments>http://anywang.vicp.net:8180/wp/?p=160#comments</comments>
		<pubDate>Mon, 17 Oct 2011 16:24:12 +0000</pubDate>
		<dc:creator>网邻</dc:creator>
				<category><![CDATA[linux操作系统]]></category>

		<guid isPermaLink="false">http://anywang.vicp.net/wp/?p=160</guid>
		<description><![CDATA[ServerRoot &#8220;/usr/local&#8221;　　ServerRoot用于指定守护进程httpd的运行目录，httpd在启动之后将自动将进程的当前目录改变为这个目录，因此如果设置文件中指定的文件或目录是相对路径，那么真实路径就位于这个ServerRoot定义的路径之下。 ScoreBoardFile /var/run/httpd.scoreboard　　httpd使用ScoreBoardFile来维护进程的内部数据，因此通常不需要改变这个参数，除非管理员想在一台计算机上运行几个Apache服务器，这时每个Apache服务器都需要独立的设置文件httpd.conf，并使用不同的ScoreBoardFile。 #ResourceConfig conf/srm.conf#AccessConfig conf/access.conf　　这两个参数ResourceConfig和AccessConfig，就用于和使用srm.conf和access.conf设置文件的老版本Apache兼容。如果没有兼容的需要，可以将对应的设置文件指定为/dev/null，这将表示不存在其他设置文件，而仅使用httpd.conf一个文件来保存所有的设置选项。 PidFile /var/run/httpd.pid　　PidFile指定的文件将记录httpd守护进程的进程号，由于httpd能自动复制其自身，因此系统中有多个httpd进程，但只有一个进程为最初启动的进程，它为其他进程的父进程，对这个进程发送信号将影响所有的httpd进程。PidFILE定义的文件中就记录httpd父进程的进程号。 Timeout 300　　Timeout定义客户程序和服务器连接的超时间隔，超过这个时间间隔（秒）后服务器将断开与客户机的连接。 KeepAlive On　　在HTTP 1.0中，一次连接只能作传输一次HTTP请求，而KeepAlive参数用于支持HTTP 1.1版本的一次连接、多次传输功能，这样就可以在一次连接中传递多个HTTP请求。虽然只有较新的浏览器才支持这个功能，但还是打开使用这个选项。 MaxKeepAliveRequests 100　　MaxKeepAliveRequests为一次连接可以进行的HTTP请求的最大请求次数。将其值设为0将支持在一次连接内进行无限次的传输请求。事实上没有客户程序在一次连接中请求太多的页面，通常达不到这个上限就完成连接了。 KeepAliveTimeout 15　　KeepAliveTimeout测试一次连接中的多次请求传输之间的时间，如果服务器已经完成了一次请求，但一直没有接收到客户程序的下一次请求，在间隔超过了这个参数设置的值之后，服务器就断开连接。 ThreadsPerChild 50 # 设置服务器使用进程的数目。 # 这是以服务器的响应速度为准的， 数目太大则会变慢 MaxRequestsPerChild 30　　使用子进程的方式提供服务的Web服务，常用的方式是一个子进程为一次连接服务，这样造成的问题就是每次连接都需要生成、退出子进程的系统操作，使得这些额外的处理过程占据了计算机的大量处理能力。因此最好的方式是一个子进程可以为多次连接请求服务，这样就不需要这些生成、退出进程的系统消耗，Apache就采用了这样的方式，一次连接结束后，子进程并不退出，而是停留在系统中等待下一次服务请求，这样就极大的提高了性能。 　　但由于在处理过程中子进程要不断的申请和释放内存，次数多了就会造成一些内存垃圾，就会影响系统的稳定性，并且影响系统资源的有效利用。因此在一个副本处理过一定次数的请求之后，就可以让这个子进程副本退出，再从原始的htt pd进程中重新复制一个干净的副本，这样就能提高系统的稳定性。这样，每个子进程处理服务请求次数由MaxRe questPerChild定义。 　　缺省的设置值为30，这个值对于具备高稳定性特点的FreeBSD系统来讲是过于保守的设置，可以设置为1000甚至更高，设置为0支持每个副本进行无限次的服务处理。为了安全，设置为零。 #Listen 3000 #Listen 12.34.56.78:80 #BindAddress *　　Listen参数可以指定服务器除了监视标准的80端口之外，还监视其他端口的HTTP请求。由于FreeBSD系统可以同时拥有多个IP地址，因此也可以指定服务器只听取对某个BindAddress&#60; /B&#62;的IP地址的HTTP请求。如果没有配置这一项，则服务器会回应对所有IP的请求。 　　即使使用了BindAddress参数，使得服务器只回应对一个IP地址的请求，但是通过使用扩展的Listen参数，仍然可以让HTTP守护进程回应对其他IP地址的请求。此时Listen参数的用法与上面的第二个例子相同。这种比较复杂的用法主要用于设置虚拟主机。此后可以用VirtualHost参数定义对不同IP的虚拟主机，然而这种用法是较早的HTTP 1.0标准中设置虚拟主机的方法，每针对一个虚拟主机就需要一个IP地址，实际上用处并不大。在HTTP 1.1中，增加了对单IP地址多域名的虚拟主机的支持，使得虚拟主机的设置具备更大的意义。 #ExtendedStatus On　　Apache服务器可以通过特殊的HTTP请求，来报告自身的运行状态，打开这个ExtendedStatus 参数可以让服务器报告更全面的运行状态信息 ServerAdmin you@your.address　　配置文件中应该改变的也许只有ServerAdmin， 这一项用于配置WWW服务器的管理员的email地址，这将在HTTP服务出现错误的条件下返回给浏览器，以便让Web使用者和管理员联系，报告错误。习惯上使用服务器上的webmaster作为WWW服务器的管理员，通过邮件服务器的别名机制，将发送到webmaster 的电子邮件发送给真正的Web管理员。 ServerName localhost　　缺省情况下，并不需要指定这个ServerName参数，服务器将自动通过名字解析过程来获得自己的名字，但如果服务器的名字解析有问题（通常为反向解析不正确），或者没有正式的DNS名字，也可以在这里指定I P地址。当ServerName设置不正确的时候，服务器不能正常启动。 　　通常一个Web服务器可以具有多个名字，客户浏览器可以使用所有这些名字或IP地址来访问这台服务器，但在没有定义虚拟主机的情况下，服务器总是以自己的正式名字回应浏览器。ServerName就定义了Web服务器自己承认的正式名字，例如一台服务器名字（在DNS中定义了A类型）为freebsd.exmaple.org.cn，同时为了方便记忆还定义了一个别名（CNAME记录）为www.exmaple.org.cn，那么Apache自动解析得到的名字就为freebsd.example.org.cn，这样不管客户浏览器使用哪个名字发送请求，服务器总是告诉客户程序自己为freebsd.example.org.cn。虽然这一般并不会造成什么问题，但是考虑到某一天服务器可能迁移到其他计算机上，而只想通过更改DNS中的www别名配置就完成迁移任务，所以不想让客户在其书签中使用 freebsd记录下这个服务器的地址，就必须使用ServerName来重新指定服务器的正式名字。 DocumentRoot [...]]]></description>
			<content:encoded><![CDATA[<p>ServerRoot &#8220;/usr/local&#8221;　　ServerRoot用于指定守护进程httpd的运行目录，httpd在启动之后将自动将进程的当前目录改变为这个目录，因此如果设置文件中指定的文件或目录是相对路径，那么真实路径就位于这个ServerRoot定义的路径之下。 ScoreBoardFile /var/run/httpd.scoreboard　　httpd使用ScoreBoardFile来维护进程的内部数据，因此通常不需要改变这个参数，除非管理员想在一台计算机上运行几个Apache服务器，这时每个Apache服务器都需要独立的设置文件httpd.conf，并使用不同的ScoreBoardFile。 #ResourceConfig conf/srm.conf#AccessConfig conf/access.conf　　这两个参数ResourceConfig和AccessConfig，就用于和使用srm.conf和access.conf设置文件的老版本Apache兼容。如果没有兼容的需要，可以将对应的设置文件指定为/dev/null，这将表示不存在其他设置文件，而仅使用httpd.conf一个文件来保存所有的设置选项。 PidFile /var/run/httpd.pid　　PidFile指定的文件将记录httpd守护进程的进程号，由于httpd能自动复制其自身，因此系统中有多个httpd进程，但只有一个进程为最初启动的进程，它为其他进程的父进程，对这个进程发送信号将影响所有的httpd进程。PidFILE定义的文件中就记录httpd父进程的进程号。 Timeout 300　　Timeout定义客户程序和服务器连接的超时间隔，超过这个时间间隔（秒）后服务器将断开与客户机的连接。 KeepAlive On　　在HTTP 1.0中，一次连接只能作传输一次HTTP请求，而KeepAlive参数用于支持HTTP 1.1版本的一次连接、多次传输功能，这样就可以在一次连接中传递多个HTTP请求。虽然只有较新的浏览器才支持这个功能，但还是打开使用这个选项。 MaxKeepAliveRequests 100　　MaxKeepAliveRequests为一次连接可以进行的HTTP请求的最大请求次数。将其值设为0将支持在一次连接内进行无限次的传输请求。事实上没有客户程序在一次连接中请求太多的页面，通常达不到这个上限就完成连接了。 KeepAliveTimeout 15　　KeepAliveTimeout测试一次连接中的多次请求传输之间的时间，如果服务器已经完成了一次请求，但一直没有接收到客户程序的下一次请求，在间隔超过了这个参数设置的值之后，服务器就断开连接。 ThreadsPerChild 50 # 设置服务器使用进程的数目。 # 这是以服务器的响应速度为准的， 数目太大则会变慢 MaxRequestsPerChild 30　　使用子进程的方式提供服务的Web服务，常用的方式是一个子进程为一次连接服务，这样造成的问题就是每次连接都需要生成、退出子进程的系统操作，使得这些额外的处理过程占据了计算机的大量处理能力。因此最好的方式是一个子进程可以为多次连接请求服务，这样就不需要这些生成、退出进程的系统消耗，Apache就采用了这样的方式，一次连接结束后，子进程并不退出，而是停留在系统中等待下一次服务请求，这样就极大的提高了性能。 　　但由于在处理过程中子进程要不断的申请和释放内存，次数多了就会造成一些内存垃圾，就会影响系统的稳定性，并且影响系统资源的有效利用。因此在一个副本处理过一定次数的请求之后，就可以让这个子进程副本退出，再从原始的htt pd进程中重新复制一个干净的副本，这样就能提高系统的稳定性。这样，每个子进程处理服务请求次数由MaxRe questPerChild定义。 　　缺省的设置值为30，这个值对于具备高稳定性特点的FreeBSD系统来讲是过于保守的设置，可以设置为1000甚至更高，设置为0支持每个副本进行无限次的服务处理。为了安全，设置为零。 #Listen 3000 #Listen 12.34.56.78:80 #BindAddress *　　Listen参数可以指定服务器除了监视标准的80端口之外，还监视其他端口的HTTP请求。由于FreeBSD系统可以同时拥有多个IP地址，因此也可以指定服务器只听取对某个BindAddress&lt; /B&gt;的IP地址的HTTP请求。如果没有配置这一项，则服务器会回应对所有IP的请求。 　　即使使用了BindAddress参数，使得服务器只回应对一个IP地址的请求，但是通过使用扩展的Listen参数，仍然可以让HTTP守护进程回应对其他IP地址的请求。此时Listen参数的用法与上面的第二个例子相同。这种比较复杂的用法主要用于设置虚拟主机。此后可以用VirtualHost参数定义对不同IP的虚拟主机，然而这种用法是较早的HTTP 1.0标准中设置虚拟主机的方法，每针对一个虚拟主机就需要一个IP地址，实际上用处并不大。在HTTP 1.1中，增加了对单IP地址多域名的虚拟主机的支持，使得虚拟主机的设置具备更大的意义。 #ExtendedStatus On　　Apache服务器可以通过特殊的HTTP请求，来报告自身的运行状态，打开这个ExtendedStatus 参数可以让服务器报告更全面的运行状态信息 ServerAdmin you@your.address　　配置文件中应该改变的也许只有ServerAdmin， 这一项用于配置WWW服务器的管理员的email地址，这将在HTTP服务出现错误的条件下返回给浏览器，以便让Web使用者和管理员联系，报告错误。习惯上使用服务器上的webmaster作为WWW服务器的管理员，通过邮件服务器的别名机制，将发送到webmaster 的电子邮件发送给真正的Web管理员。 ServerName localhost　　缺省情况下，并不需要指定这个ServerName参数，服务器将自动通过名字解析过程来获得自己的名字，但如果服务器的名字解析有问题（通常为反向解析不正确），或者没有正式的DNS名字，也可以在这里指定I P地址。当ServerName设置不正确的时候，服务器不能正常启动。 　　通常一个Web服务器可以具有多个名字，客户浏览器可以使用所有这些名字或IP地址来访问这台服务器，但在没有定义虚拟主机的情况下，服务器总是以自己的正式名字回应浏览器。ServerName就定义了Web服务器自己承认的正式名字，例如一台服务器名字（在DNS中定义了A类型）为freebsd.exmaple.org.cn，同时为了方便记忆还定义了一个别名（CNAME记录）为www.exmaple.org.cn，那么Apache自动解析得到的名字就为freebsd.example.org.cn，这样不管客户浏览器使用哪个名字发送请求，服务器总是告诉客户程序自己为freebsd.example.org.cn。虽然这一般并不会造成什么问题，但是考虑到某一天服务器可能迁移到其他计算机上，而只想通过更改DNS中的www别名配置就完成迁移任务，所以不想让客户在其书签中使用 freebsd记录下这个服务器的地址，就必须使用ServerName来重新指定服务器的正式名字。 DocumentRoot /usr/local/www/data　　DocumentRoot定义这个服务器对外发布的超文本文档存放的路径，客户程序请求的UR L就被映射为这个目录下的网页文件。这个目录下的子目录，以及使用符号连接指出的文件和目录都能被浏览器访问，只是要在URL上使用同样的相对目录名。 　　注意，符号连接虽然逻辑上位于根文档目录之下，但实际上可以位于计算机上的任意目录中，因此可以使客户程序能访问那些根文档目录之外的目录，这在增加了灵活性的同时但减少了安全性。Apache在目录的访问控制中提供了FollowSymLinks选项来打开或关闭支持符号连接的特性。 Options FollowSymLinks AllowOverride None 　　Apache服务器可以针对目录进行文档的访问控制，然而访问控制可以通过两种方式来实现，一个是在设置文件 httpd.conf（或access.conf）中针对每个目录进行设置，另一个方法是在每个目录下设置访问控制文件，通常访问控制文件名字为.htaccess。虽然使用这两个方式都能用于控制浏览器的访问，然而使用配置文件的方法要求每次改动后重新启动httpd守护进程，比较不灵活，因此主要用于配置服务器系统的整体安全控制策略，而使用每个目录下的.htaccess文件设置具体目录的访问控制更为灵活方便。 　　Directory语句就是用来定义目录的访问限制的，这里可以看出它的标准语法，为一个目录定义访问限制。上例的这个设置是针对系统的根目录进行的，设置了允许符号连接的选项FollowSymLinks ，以及使用AllowOverride None表示不允许这个目录下的访问控制文件来改变这里进行的配置，这也意味着不用查看这个目录下的相应访问控制文件。 　　由于Apache对一个目录的访问控制设置是能够被下一级目录继承的，因此对根目录的设置将影响到它的下级目录。注意由于AllowOverride None的设置，使得Apache服务器不需要查看根目录下的访问控制文件，也不需要查看以下各级目录下的访问控制文件，直至httpd.conf（或access.conf ）中为某个目录指定了允许Alloworride，即允许查看访问控制文件。由于Apache对目录访问控制是采用的继承方式，如果从根目录就允许查看访问控制文件，那么Apache就必须一级一级的查看访问控制文件，对系统性能会造成影响。而缺省关闭了根目录的这个特性，就使得Apache从httpd.conf中具体指定的目录向下搜寻，减少了搜寻的级数，增加了系统性能。因此对于系统根目录设置AllowOverride None不但对于系统安全有帮助，也有益于系统性能。 Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all 　　这里定义的是系统对外发布文档的目录的访问设置，设置不同的AllowOverride选项，以定义配置文件中的目录设置和用户目录下的安全控制文件的关系，而Options选项用于定义该目录的特性。 　　配置文件和每个目录下的访问控制文件都可以设置访问限制，设置文件是由管理员设置的，而每个目录下的访问控制文件是由目录的属主设置的，因此管理员可以规定目录的属主是否能覆盖系统在设置文件中的设置，这就需要使用 AllowOverride参数进行设置，通常可以设置的值为： AllowOverride的设置 对每个目录访问控制文件作用的影响 All 缺省值，使访问控制文件可以覆盖系统配置 None 服务器忽略访问控制文件的设置 Options 允许访问控制文件中可以使用Options参数定义目录的选项 FileInfo 允许访问控制文件中可以使用AddType等参数设置 AuthConfig 允许访问控制文件使用AuthName，AuthType等针对每个用户的认证机制，这使目录属主能用口令和用户名来保护目录 Limit 允许对访问目录的客户机的IP地址和名字进行限制 　　每个目录具备一定属性，可以使用Options来控制这个目录下的一些访问特性设置，以下为常用的特性选项： Options设置 服务器特性设置 All 所有的目录特性都有效，这是缺省状态 None 所有的目录特性都无效 FollowSymLinks 允许使用符号连接，这将使浏览器有可能访问文档根目录（DocumentRoot）之外的文档 SymLinksIfOwnerMatch 只有符号连接的目的与符号连接本身为同一用户所拥有时，才允许访问，这个设置将增加一些安全性 ExecCGI 允许这个目录下可以执行CGI程序 Indexes 　　允许浏览器可以生成这个目录下所有文件的索引，使得在这个目录下没有index.html（或其他索引文件）时，能向浏览器发送这个目录下的文件列表。 　　此外，上例中还使用了Order、Allow、Deny等参数，这是Limit语句中用来根据浏览器的域名和 IP地址来控制访问的一种方式。其中Order定义处理Allow和Deny的顺序，而Allow、Deny则针对名字或IP进行访问控制设置，上例使用allow from all，表示允许所有的客户机访问这个目录，而不进行任何限制。 UserDir public_html (Win32=My Documents/My Website)　　当在一台FreeBSD上运行Apache服务器时，这台计算机上的所有用户都可以有自己的网页路径，形如 http://freebsd.example.org.cn/~user，使用波浪符号加上用户名就可以映射到用户自己的网页目录上。映射目录为用户个人主目录下的一个子目录，其名字就用UseDir这个参数进行定义，缺省为public_html。如果不想为正式的用户提供网页服务，使用DISABLED作UserDir的参数即可。 # # AllowOverride FileInfo AuthConfig Limit # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec # # Order allow,deny # Allow from all # # # Order deny,allow # Deny from all # #　　这里可以看到Directory的另一个用法，即可以通过简单的模式匹配方法，针对分布在不同目录下的子目录定义访问控制权限。这样设置就需要Apache服务器对每个路径进行额外的处理，因此就会降低服务器的性能，所以缺省情况并没有打开这种访问限制。 　　这里可以看到另外一个语句Limit，Limit语句就是用来针对具体的请求方法来设定访问控制的，其中可以使用GET、POST等各种服务器支持的请求方法做Limit的参数，来设定对不同请求方法的访问限制。一般可以打开对GET、POST、HEAD三种请求方法，而屏蔽其他的请求方法，以增加安全性。Limit语句中，可以使用Order 、Allow、Deny，Allow和Deny中可以使用匹配的方法针对域名和IP进行限制，只是对于域名是从后向前匹配，对于IP地址则从前向后匹配。 DirectoryIndex index.html　　很多情况下，URL中并没有指定文档的名字，而只是给出了一个目录名。那么Apache服务器就自动返回这个目录下由DirectoryIndex定义的文件，当然可以指定多个文件名字，系统会这个目录下顺序搜索。当所有由DirectoryIndex指定的文件都不存在时，Apache服务器可以根据系统设置，生成这个目录下的所有文件列表，提供用户选择。此时该目录的访问控制选项中的Indexes选项（Options Indexes ）必须打开，以使得服务器能够生成目录列表，否则Apache将拒绝访问。 AccessFileName .htaccess　　AccessFileName定义每个目录下的访问控制文件的文件名，缺省为.htaccess ，可以通过更改这个文件，来改变不同目录的访问控制限制。 Order allow,deny Deny from all 　　除了可以针对目录进行访问控制之外，还可以根据文件来设置访问控制，这就是File语句的任务。使用File 语句，不管文件处于哪个目录，只要名字匹配，就必须接受相应的访问控制。这个语句对于系统安全比较重要，例如上例将屏蔽所有的使用者不能访问.htaccess文件，这样就避免.htaccess中的关键安全信息不至于被客户获取。 TypesConfig /usr/local/etc/apache/mime.types　　TypeConfig用于设置保存有不同的MIME类型数据的文件名，在FreeBSD下缺省设置为/usr/local/etc/apache/mime.types。 DefaultType text/plain　　如果Web服务器不能决定一个文档的缺省类型，这通常表示文档使用了非标准的后缀，那么服务器就使用 DefaultType定义的MIME类型将文档发送给客户浏览器。这里的设置为text/plain，这样设置的问题是，如果服务器不能判断出文档的MIME，那么大部分情况下这个文档为一个二进制文档，但使用 text/plain格式发送回去，浏览器将在内部打开它而不会提示保存。因此建议将这个设置更改为 application/octet-stream，这样浏览器将提示用户进行保存。 MIMEMagicFile /usr/local/etc/apache/magic　　除了从文件的后缀出发来判断文件的MIME类型之外，Apache还可以进一步分析文件的一些特征，来判断文件的真实MIME类型。这个功能是由mod_mime_magic模块实现的，它需要一个记录各种MIME类型特征的文件，以进行分析判断。上面的设置是一个条件语句，如果载入了这个模块，就必须指定相应的标志文件magic的位置。 HostnameLookups Off　　通常连接时，服务器仅仅可以得到客户机的IP地址，如果要想获得客户机的主机名，以进行日志记录和提供给 CGI程序使用，就需要使用这个HostnameLookups选项，将其设置为On打开DNS反查功能。但是这将使服务器对每次客户请求都进行DNS查询，增加了系统开销，使得反应变慢，因此缺省设置为使用Off关闭此选项。关闭选项之后，服务器就不会获得客户机的主机名，而只能使用IP地址来记录客户。 ErrorLog /var/log/httpd-error.log LogLevel warn LogFormat %h %l %u %t \%r\ %&gt;s %b \%{Referer}i\ \%{User-Agent}i\ combined LogFormat %h %l %u %t \%r\ %&gt;s %b common LogFormat %{Referer}i -&gt; %U referer LogFormat %{User-agent}i agent #CustomLog /var/log/httpd-access.log common #CustomLog /var/log/httpd-referer.log referer #CustomLog /var/log/httpd-agent.log agent CustomLog /var/log/httpd-access.log combined 　　这里定义了系统日志的形式，对于服务器错误记录， 由ErrorLog、LogLevel 来定义不同的错误日志文件及其记录内容。 　　对于系统的访问日志，缺省使用CustomLog参数定义日志的位置，缺省使用combined 参数指定将所有的访问日志放在一个文件中，然而也可以将不同种类的访问日志放在不同的日志记录文件中，这是通过在 CustomLog中指定不同的记录类型来完成的。common表示普通的对单页面请求访问记录，referer表示每个页面的引用记录，可以看出一个页面中包含的请求数，agent表示对客户机的类型记录，显然可以将现有的combined 定义的设置行注释掉，并使用common、referer和agent作为CustomLog的参数，来为不同种类的日志分别指定日志记录文件。 　　显然，LogFormat是用于定义不同类型的日志进行记录时使用的格式， 这里使用了以%开头的宏定义，以记录不同的内容。 　　如果这些参数指定的文件使用的是相对路径，那么就是相对于ServerRoot的路径。 ServerSignature On　　一些情况下，例如当客户请求的网页并不存在时，服务器将产生错误文档，缺省情况下由于打开了 ServerSignature选项，错误文档的最后一行将包含服务器的名字、Apache的版本等信息。有的管理员更倾向于不对外显示这些信息，就可以将这个参数设置为Off，或者设置为Email，最后一行将替换为对ServerAdmin 的Email提示。 Alias /icons/ /usr/local/www/icons/ Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all　　Alias参数用于将URL与服务器文件系统中的真实位置进行直接映射，一般的文档将在DocumentRoot 中进行查询，然而使用Alias定义的路径将直接映射到相应目录下，而不再到DocumentRoot 下面进行查询。因此Alias可以用来映射一些公用文件的路径，例如保存了各种常用图标的icons路径。这样使得除了使用符号连接之外，文档根目录（DocumentRoot）外的目录也可以通过使用了Alias映射，提供给浏览器访问。 　　定义好映射的路径之后，应该需要使用Directory语句设置访问限制。 ScriptAlias /cgi-bin/ /usr/local/www/cgi-bin/ AllowOverride None Options None Order allow,deny Allow from all 　　ScriptAlias也是用于URL路径的映射，但与Alias的不同在于，ScriptAlias是用于映射CGI程序的路径，这个路径下的文件都被定义为CGI程序，通过执行它们来获得结果，而非由服务器直接返回其内容。缺省情况下CGI程序使用cgi-bin目录作为虚拟路径。 # Redirect old-URI new-URL　　Redirect参数是用来重写URL的，当浏览器访问服务器上的一个已经不存在的资源的时候，服务器返回给浏览器新的URL，告诉浏览器从该URL中获取资源。这主要用于原来存在于服务器上的文档，改变了位置之后，而又希望能使用老URL能访问到，以保持与以前的URL兼容。 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 #AddDescription GZIP compressed document .gz #AddDescription tar archive .tar #AddDescription GZIP compressed tar archive .tgz ReadmeName README HeaderName HEADER IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t 　　当一个HTTP请求的URL为一个目录的时候，服务器返回这个目录中的索引文件。但如果一个目录中不存在缺省的索引文件，并且该服务器又许可显示目录文件列表的时候，就会显示出这个目录中的文件列表，为了使得这个文件列表能具有可理解性，而不仅仅是一个简单的列表，就需要前面的这些设置参数。 　　如果使用了IndexOptions FancyIndexing选项，可以让服务器产生的目录列表中针对各种不同类型的文档引用各种图标。而哪种文件使用哪种图标，则使用下面的 AddIconByEncoding、AddIconByType以及AddIcon来定义，分别依据MIME的编码、类型以及文件的后缀来判断使用何种图标。如果不能确定文档使用的图标，就使用 DefaultIcon定义的缺省图标。 　　同样，使用AddDescription可以为不同类型的文档加入不同的描述。并且，服务器还在目录下，查询使用ReadmeName和HeaderName定义的文件（自动加上. html后缀，如果没有发现，再使用.txt后缀进行搜索），如果发现了这些文件，就在文件列表之前首先显示这些文件的内容，以使得普通目录列表具备更大的可理解性。 　　IndexIgnore让服务器在列出文件列表时忽略相应的文件，这里使用模式配置的方式定义文件名。 AddEncoding x-compress Z AddEncoding x-gzip gz AddEncoding用于告诉一些使用压缩的MIME类型，这样可以让浏览器进行解压缩操作。 AddLanguage en .en AddLanguage fr .fr AddLanguage de .de AddLanguage da .da AddLanguage el .el AddLanguage it .it LanguagePriority en fr de　　一个HTML文档可以同时具备多个语言的版本，如对于file1.html文档可以具备file1.html.en、file1.html.fr 等不同的版本，每个语言后缀必须使用AddLanguage进行定义。这样服务器可以针对不同国家的客户，通过与浏览器进行协商，发送不同的语言版本。而LanguagePriority 定义不同语言的优先级，以便在浏览器没有特殊要求时，按照顺序使用不同的语言版本回应对file1.html 的请求。这个国际化的能力实际的应用并不多。 AddDefaultCharset ISO-8859-1　　浏览器选择的标准编码，简体中文网站改为：GB2312。 #AddType application/x-httpd-php3 .phtml #AddType application/x-httpd-php3-source .phps　　AddType参数可以为特定后缀的文件指定MIME类型，这里的设置将覆盖mime.types中的设置。 #AddHandler cgi-script .cgi　　AddHandler是用于指定非静态的处理类型，用于定义文档为一个非静态的文档类型，需要进行处理，再向浏览器返回处理结果。例如上面注释中的设置是将以.cgi结尾的文件设置为cgi-script类型，那么服务器将启动这个CGI程序以进行处理。如果需要在前面AliasScript定义的路径之外执行CGI程序，就需要使用这个参数进行设置，此后以.cgi结尾的文件将被当作CGI程序执行。 　　在配置文件、这个目录中的.htaccess以及其上级目录的.htaccess中必须允许执行CGI程序，这需要通过Options ExecCGI参数设定。 #AddType text/html .shtml #AddHandler server-parsed .shtml　　另外一种动态进行处理的类型为server-parsed，由服务器自身预先分析网页内的标记，将标记更改为正确的HTML标识。由于server-parsed需要对text/html类型的文档进行处理，因此首先定义了对应的.shtml为text/html类型。 　　然而要支持SSI，还要首先要在配置文件（或.htaccess）中使用Options Includes允许该目录下的文档可以为SSI类型，或使用Options IncludesNOExec让执行普通的SSI标志，但不执行其中引用的外部程序。 　　另一种指定server-parsed类型的方式为使用XBitBack设置选项，如果将XBitHack设置为On，服务器将检查所有text/html类型的文档（包括.html后缀的文档），如果发现文件属性具备执行位 x，则服务器就认为它是服务器分析文档，需要服务器进行处理。推荐使用AddHandler进行设置，而将XBitBack 设置为Off，因为使用XBitBack将对所有的HTML文档都执行额外的检查，降低了效率。 #AddHandler send-as-is asis #AddHandler imap-file map #AddHandler type-map var　　上面被注释的AddHandler用于支持Apache服务器的asis、map和var处理能力。 # Action media/type /cgi-script/location # Action handler-name /cgi-script/location　　因为Apache内部提供的处理功能有限，因此可以使用Action为服务器定义外部程序作为可处理的动态文档类型，这些外部程序与标准CGI程序相同，都是对输入的数据处理之后，再输出不同MIME类型的结果。例如要定义一个对特殊后缀wri都先执行wri2txt进行处理操作，再返回结果的操作，可以使用： Action windows-writer /bin/wri2txt AddHandler windows-writer wri 　　更进一步，可以直接使用Action定义对某个MIME类型预先进行处理操作，这需要例子中第一种格式的Action 参数设置方式。这样设置方式就不再需要额外的AddHandler用来将处理操作与文件后缀联系起来，而是使用Action直接处理MIME类型的文件。但如果文档后缀没有正式的MIME类型，还需要先定义一个MIME类型。 #ErrorDocument 500 The server made a boo boo. #ErrorDocument 404 /missing.html #ErrorDocument 404 /cgi-bin/missing_handler.pl #ErrorDocument 402 http://some.other_server.com/subscription_info.html 　　如果客户请求的网页不存在，或者没有访问权限等情况发生时，服务器将产生一个错误代码，同时也将回应客户浏览器一个标识错误的网页。ErrorDocument就用于设置当出现哪个错误时应该回应客户浏览器那些内容，ErrorDocument的第一个参数为错误的序号，第二个参数为回应的数据，可以为简单的文本，本地网页，本地CGI程序，以及远程主机上的网页。 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　　BrowserMatch命令为特定的客户程序，设置特殊的参数，以保证对老版本浏览器的兼容性，并支持新浏览器的新特性。 # #ProxyRequests On # # # Order deny,allow # Deny from all # Allow from .your_domain.com # #ProxyVia On #CacheRoot /usr/local/www/proxy #CacheSize 5 #CacheGcInterval 4 #CacheMaxExpire 24 #CacheLastModifiedFactor 0.1 #CacheDefaultExpire 1 #NoCache a_domain.com another_domain.edu joes.garage_sale.com # 　　Apache服务器本身就具备代理的功能，然而这要求加载入mod_proxy模块。这能使用IfModule语句进行判断，如果存在mod_proxy模块，就使用ProxyRequests打开代理支持。此后的Directory用于设置对Proxy功能的访问权限设置，以及用于设置缓冲的各个参数设置。 #NameVirtualHost 12.34.56.78:80 #NameVirtualHost 12.34.56.78 # # ServerAdmin webmaster@host.some_domain.com # DocumentRoot /www/docs/host.some_domain.com # ServerName host.some_domain.com # ErrorLog logs/host.some_domain.com-error_log # CustomLog logs/host.some_domain.com-access_log common #　　缺省设置文件中的这些内容是用于设置命名基础的虚拟主机服务器时使用。其中NameVirtualHost 来指定虚拟主机使用的IP地址，这个IP地址将对应多个DNS名字，如果Apache使用了Listen 参数控制了多个端口，那么就可以在这里加上端口号以进一步进行区分对不同端口的不同连接请求。此后，使用 VirtualHost语句，使用NameVirtualHost指定的IP地址作参数，对每个名字都定义对应的虚拟主机设置。 　　虚拟主机是在一台Web服务器上，可以为多个单独域名提供Web服务，并且每个域名都完全独立，包括具有完全独立的文档目录结构及设置，这样域名之间完全独立，不但使用每个域名访问到的内容完全独立，并且使用另一个域名无法访问其他域名提供的网页内容。 　　虚拟主机的概念对于ISP来讲非常有用，因为虽然一个组织可以将自己的网页挂在具备其他域名的服务器上的下级往址上，但使用独立的域名和根网址更为正式，易为众人接受。传统上，必须自己设立一台服务器才能达到单独域名的目的，然而这需要维护一个单独的服务器，很多小单位缺乏足够的维护能力，更为合适的方式是租用别人维护的服务器。ISP也没有必要为一个机构提供一个单独的服务器，完全可以使用虚拟主机能力，使服务器为多个域名提供Web服务，而且不同的服务互不干扰，对外就表现为多个不同的服务器。 　　有两种设定虚拟主机的方式，一种是基于HTTP 1.0标准，需要一个具备多IP地址的服务器，再配置DNS 服务器，给每个IP地址以不同的域名，最后才能配置Apache的配置文件，使服务器对不同域名返回不同的Web文档。由于这需要使用额外的IP地址，对每个要提供服务的域名都要使用单独的IP地址，因此这种方式实现起来问题较多。 　　可以在一个网络界面上绑定多个IP地址，FreeBSD下需要使用ifconfig的alias参数来进行这个配置，但此时会影响网络性能。 　　HTTP 1.1标准在协议中规定了对浏览器和服务器通信时，服务器能够跟踪浏览器请求的是哪个主机名字。因此可以利用这个新特性，使用更轻松的方式设定虚拟主机。这种方式不需要额外的IP地址，但需要新版本的浏览器支持。这种方式已经成为建立虚拟主机的标准方式。 　　要建立非IP基础的虚拟主机，多个域名是不可少的配置，因为每个域名就对应一个要服务的虚拟主机。因此需要更改DNS服务器的配置，为服务器增加多个CNAME选项，如： freebsd IN A 192.168.1.64 vhost1 IN CNAME freebsd vhost2 IN CNAME freebsd　　基本的设置选项都是为了freebsd主机设定的，如果要为vhost1和vhost2设定虚拟主机，就要使用VirtualHost语句定义不同的选项，在语句中可以使用配置文件前面中的大部分选项，而可以重新定义几乎所有的针对服务器的设置。 NameVirtualHost 192.168.1.64 DocumentRoot /usr/local/www/data ServerName freebsd.example.org.cn DocumentRoot /vhost1 ServerName vhost1.example.org.cn DocumentRoot /vhost2 ServerName vhost2.example.org.cn 　　这里需要注意的是，VirtualHost的参数地址一定要和NameVirtualHost定义的地址相一致，必须保证所有的值严格一致，Apache服务器才承认这些定义是为这个IP地址定义的虚拟主机。 　　此外，定义过NameVirtualHost之后，那么对这个IP地址的访问都被区分不同的虚拟主机进行处理，而对其他IP地址的访问，例如127.0.0.1，才应用前面定义的缺省选项。 NameVirtualHost www.xxx.org 　　（对于动态IP的另类方法：指定虚拟主机的IP，由于要将域名映射为IP，不能使用localhost，127.0.0.1，计算机名，等这样的地址，所以，可以再一次通过域名转换，将域名转换为IP，这样就不必每次更改IP了。） # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for requests without a known # server name. # （虚拟主机IP） ServerAdmin 111@xxx.com（第一个虚拟主机Email） DocumentRoot H:/web001（第一个虚拟主机目录） ServerName www.xxx.org（第一个虚拟主机域名） ErrorLog logs/www.xxx.org-error.log（第一个虚拟主机错误日志） CustomLog logs/www.xxx.org-access.log common（第一个虚拟主机数据） （虚拟主机IP） ServerAdmin 111@xxx.com（第二个虚拟主机Email） DocumentRoot H:/web002（第二个虚拟主机目录） ServerName www.xxx2.org（第二个虚拟主机域名） ErrorLog logs/www.xxx2.org-error.log（第二个虚拟主机错误日志） CustomLog logs/www.xxx2.org-access.log common（第二个虚拟主机数据） 　　以此类推，可以增加更多虚拟主机。</p>
]]></content:encoded>
			<wfw:commentRss>http://anywang.vicp.net:8180/wp/?feed=rss2&#038;p=160</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CentOS 5.x 服务优化 提升运行速度【转载】</title>
		<link>http://anywang.vicp.net:8180/wp/?p=157</link>
		<comments>http://anywang.vicp.net:8180/wp/?p=157#comments</comments>
		<pubDate>Mon, 17 Oct 2011 15:38:24 +0000</pubDate>
		<dc:creator>网邻</dc:creator>
				<category><![CDATA[linux操作系统]]></category>

		<guid isPermaLink="false">http://anywang.vicp.net/wp/?p=157</guid>
		<description><![CDATA[　　上面的服务是 CentOS 5.x 预设有启动的，这些预设启动的服务很多是针对桌上型电脑所设计的，所以，如果你的 Linux 主机用途是在服务器上面的话，那么有很多服务是可以关闭的啦！如果你还有某些不明白的服务想要关闭的， 请务必要搞清楚该服务的功能为何喔！举例来说，那个 syslog 就不能关闭，如果你关掉他的话，系统就不会记录登录档， 那你的系统所产生的警告讯息就无法记录起来，你将无法进行 debug 喔。 CentOS 5.x 预设启动的服务内容 服务名称 功能简介 acpid (系统)进阶电源管理的介面，这是一个新的电源管理模组， 可以监听来自核心层的电源相关事件而予以回应。 CentOS 的设定档在 /etc/acpi/events/power.conf 中，预设仅有当你按下 power 按钮时，系统会自动关机喔！ anacron (可关闭) (系统)与循环型的工作排程 cron 有关，可在排程过期后还可以唤醒来继续执行， 设定档在 /etc/anacrontab。 apmd (可关闭) (系统)设定档在 /etc/sysconfig/apmd ，也是电源管理模组啦！ 可侦测电池电量，当电池电力不足时，可以自动关机以保护电脑主机。 atd (系统)单一的例行性工作排程。 抵挡机制的设定档在 /etc/at.{allow,deny} 喔！ auditd (系统)可以让系统需 SELinux 稽核的讯息写入 /var/log/audit/audit.log 中。若此服务没有启动，则讯息会传给 syslog 管理。 autofs (可关闭) (系统)可用来自动挂载来自网路上的其他服务器所提供的网路磁碟机 (一般是 NFS)。 [...]]]></description>
			<content:encoded><![CDATA[<p>　　上面的服务是 CentOS 5.x 预设有启动的，这些预设启动的服务很多是针对桌上型电脑所设计的，所以，如果你的 Linux 主机用途是在服务器上面的话，那么有很多服务是可以关闭的啦！如果你还有某些不明白的服务想要关闭的， 请务必要搞清楚该服务的功能为何喔！举例来说，那个 syslog 就不能关闭，如果你关掉他的话，系统就不会记录登录档， 那你的系统所产生的警告讯息就无法记录起来，你将无法进行 debug 喔。</p>
<table border="1" width="100%">
<tbody>
<tr>
<td colspan="2">CentOS 5.x 预设启动的服务内容</td>
</tr>
<tr>
<td width="100">服务名称</td>
<td>功能简介</td>
</tr>
<tr>
<td><strong>acpid</strong></td>
<td><strong>(系统)</strong>进阶电源管理的介面，这是一个新的电源管理模组， 可以监听来自核心层的电源相关事件而予以回应。 CentOS 的设定档在 /etc/acpi/events/power.conf 中，预设仅有当你按下 power 按钮时，系统会自动关机喔！</td>
</tr>
<tr>
<td>anacron<br />
(可关闭)</td>
<td><strong>(系统)</strong>与循环型的工作排程 cron 有关，可在排程过期后还可以唤醒来继续执行， 设定档在 /etc/anacrontab。</td>
</tr>
<tr>
<td>apmd<br />
(可关闭)</td>
<td><strong>(系统)</strong>设定档在 /etc/sysconfig/apmd ，也是电源管理模组啦！ 可侦测电池电量，当电池电力不足时，可以自动关机以保护电脑主机。</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>atd</strong></td>
<td><strong>(系统)</strong>单一的例行性工作排程。 抵挡机制的设定档在 /etc/at.{allow,deny} 喔！</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>auditd</strong></td>
<td><strong>(系统)</strong>可以让系统需 SELinux 稽核的讯息写入 /var/log/audit/audit.log 中。若此服务没有启动，则讯息会传给 syslog 管理。</td>
</tr>
<tr>
<td>autofs<br />
(可关闭)</td>
<td><strong>(系统)</strong>可用来自动挂载来自网路上的其他服务器所提供的网路磁碟机 (一般是 NFS)。 不过我们是单机系统，所以目前还没必要这个服务。</td>
</tr>
<tr>
<td>avahi-daemon<br />
(可关闭)</td>
<td><strong>(系统)</strong>也是一个用户端的服务，可以透过 Zeroconf 自动的分析与管理网路。 Zeroconf 较常用在笔记型电脑与行动装置上，所以我们可以先关闭他啦！</td>
</tr>
<tr>
<td>bluetooth<br />
(可关闭)</td>
<td><strong>(系统)</strong>用在蓝芽装置的搜寻上，如果 Linux 是当作服务器使用时， 这个服务可以暂时关闭也没关系！</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>cpuspeed</strong></td>
<td><strong>(系统)</strong>可以用来管理 CPU 的频率功能。若系统闲置时，此项功能可以自动的降低 CPU 频率来节省电量与降低 CPU 温度喔！</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>crond</strong></td>
<td><strong>(系统)</strong>系统设定档为 /etc/crontab。</td>
</tr>
<tr>
<td>cups<br />
(可关闭)</td>
<td><strong>(网路)</strong>用来管理印表机的服务，可以提供网路连线的功能，有点类似列印服务器的功能哩！ 你可以在 Linux 本机上面以浏览器的 http://localhost:631 来管理印表机喔！由于我们目前没有印表机，所以可以暂时关闭他。</td>
</tr>
<tr>
<td>firstboot<br />
(可关闭)</td>
<td><strong>(系统)</strong>还记得系统第一次进入图形介面还需要进行一些额外的设定吗？ 就是这个服务的帮忙啦！既然已经安装妥当，现在你可以将这个服务关闭啰。</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>gpm</strong></td>
<td><strong>(系统)</strong>在 tty1~tty6 的环境下你竟然可以使用滑鼠功能来复制贴上，就是这个 gpm 提供的能力啦！</td>
</tr>
<tr>
<td>haldaemon<br />
(可关闭)</td>
<td><strong>(系统)</strong>通常用在桌上型电脑的环境中，可侦测类似 usb 的装置呢！ 不过，如果是服务器环境，这个服务倒是可以关闭啦！如果是桌上型电脑，那最好可以启动啰！</td>
</tr>
<tr>
<td>hidd<br />
(可关闭)</td>
<td><strong>(系统)</strong>也是蓝芽服务的功能啦！可以提供键盘、滑鼠等蓝芽装置的侦测哩！ 须搭配 bluetooth。服务器环境倒是不需要此项服务。</td>
</tr>
<tr>
<td>hplip<br />
(可关闭)</td>
<td><strong>(系统)</strong>主要是针对 HP 的印表机功能所开发的脚本服务，如果你的环境中并没有 HP 相关设备，这个服务就给他关闭吧！</td>
</tr>
<tr>
<td>ip6tables<br />
(可关闭)</td>
<td><strong>(网路)</strong>是针对本机的防火墙功能！这个防火墙主要是针对 IPv6 的版本， 如果你的网路环境并没有 IPv6 的设备，那么这个服务是可以关闭的。</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>iptables</strong></td>
<td><strong>(网路)</strong>本机防火墙功能，是核心支援的呢！所以功能与效能都非常棒！当然不能够取消啊！只是设定上就得要努力研究啦！</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>irqbalance</strong></td>
<td><strong>(系统)</strong>如果你的系统是多核心的硬体，那么这个服务要启动， 因为它可以自动的分配系统中断 (IRQ) 之类的硬体资源。</td>
</tr>
<tr>
<td>isdn<br />
(可关闭)</td>
<td><strong>(网路)</strong>ISDN 是一种宽频设备 (数据机的一种) ，但是在台湾我们比较常使用 ADSL 及光纤设备， 所以这个服务是可以关闭啦。</td>
</tr>
<tr>
<td>kudzu<br />
(可关闭)</td>
<td><strong>(系统)</strong>如果你有增加新的硬体时，这个服务可以在开机时自动的侦测硬体， 并且会自动的呼叫相关的设定软体，方便你在开机时就处理好你的硬体啊！</td>
</tr>
<tr>
<td>lm_sensors<br />
(可关闭)</td>
<td><strong>(系统)</strong>这个服务可以帮你侦测主机板的相关侦测晶片，举例来说， 某些主机板会主动的侦测 CPU 温度、频率、电压等，这个 lm_sensors 能够将这些温度、频率等数据显示出来喔！不过你得要先设定过就是了。</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>lvm2-monitor</strong></td>
<td><strong>(系统)</strong>我们已经谈过 LVM 啰！所以我们当然要启动这个服务比较妥当。</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>mcstrans</strong></td>
<td><strong>(系统)</strong>与 SELinux 有关的服务，最好也启动啊！</td>
</tr>
<tr>
<td>mdmonitor<br />
(可关闭)</td>
<td><strong>(系统)</strong>可以侦测所有软体的状态，暂时似乎也不需要启动这个服务哩！</td>
</tr>
<tr>
<td>messagebus<br />
(可关闭)</td>
<td><strong>(系统)</strong>可用来沟通各个软体之间的讯息，有点类似剪贴簿的感觉。 不过在服务器环境则没有强烈需求就是了。</td>
</tr>
<tr>
<td>microcode_ctl<br />
(可关闭)</td>
<td><strong>(系统)</strong>Intel 的 CPU 会提供一个外挂的微指令集提供系统运作， 不过，如果你没有下载 Intel 相关的指令集档案，那么这个服务不需要启动的，也不会影响系统运作。</td>
</tr>
<tr>
<td>netfs<br />
(可关闭)</td>
<td><strong>(网路)</strong>可以进行网路磁碟机 (NFS, SMB/CIFS) 的挂载与卸载功能。 目前我们尚未使用网路，因此这个服务可以先关闭。</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>network</strong></td>
<td><strong>(网路)</strong>提供网路设定的功能，所以一定要启动的啦！</td>
</tr>
<tr>
<td>nfslock<br />
(可关闭)</td>
<td><strong>(网路)</strong>NFS 为一种 Unix like 的网路磁碟机，但在进行档案的分享时， 为了担心同一档案多重编辑的问题，所以会有这个锁住 (lock) 的服务！可以避免同一个档案被两个不同的人编辑时所造成的档案错误问题。</td>
</tr>
<tr>
<td>pcscd<br />
(可关闭)</td>
<td><strong>(系统)</strong>智慧卡侦测的服务，可以关闭他啦。</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>portmap</strong></td>
<td><strong>(网路)</strong>用在远端程序呼叫的服务，很多服务都使用这个玩意儿来辅助连线的， 因此建议不要取消他，除非你确定你的系统没有使用到任何的 RPC 服务喔！</td>
</tr>
<tr>
<td>readahead_early<br />
readahead_later<br />
(可关闭)</td>
<td><strong>(系统)</strong>在系统开机的时候可以先将某些程式载入到记忆体中，以方便快速的载入， 可加快一些启动的速度。</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>restorecond</strong></td>
<td><strong>(系统)</strong>利用 /etc/selinux/restorecond.conf 的设定来判断当新建档案时， 该档案的 SELinux 类型应该如何还原。</td>
</tr>
<tr>
<td>rpcgssd<br />
rpcidmapd<br />
(可关闭)</td>
<td><strong>(网路)</strong>与 NFS 有关的用户端功能，在你还没有玩到网路阶段时， 这两个咚咚也能够先取消啦！</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>sendmail</strong></td>
<td><strong>(网路)</strong>这就是电子邮件的软体啊！我们想要拥有可寄信的功能时， 这个服务可不能关闭。不过，预设这个服务仅能支援本机的功能，无法收受来自网际网路的邮件喔！</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>setroubleshoot</strong></td>
<td><strong>(系统)</strong>一定要启动啊！因为这玩意儿可以将你的 SELinux 相关讯息记录在 /var/log/messages 里面，非常有帮助喔！</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>smartd</strong></td>
<td><strong>(系统)</strong>这个服务可以自动的侦测硬碟状态，如果硬碟发生问题的话， 还能够自动的回报给系统管理员，是个非常有帮助的服务喔！不可关闭他啊！</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>sshd</strong></td>
<td><strong>(网路)</strong>这个是远端连线服务器的软体功能， 这个通讯协定比 telnet 好的地方在于 sshd 在传送资料时可以进行加密喔！这个服务不要关闭他啦！</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>syslog</strong></td>
<td><strong>(系统)</strong>这个服务可以记录系统所产生的各项讯息， 包括 /var/log/messages 内的几个重要的登录档啊。</td>
</tr>
<tr>
<td>xfs<br />
(可关闭)</td>
<td><strong>(系统)</strong>这个是 X Font Server，主要提供图形介面的字型的一个服务， 如果你不启动 X 视窗的话，那么这个服务可以启动。但是如果你有需要用到 X 时，一定要启动这玩意儿，否则图形介面是无法启动的喔。</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>xinetd</strong></td>
<td><strong>(系统)</strong>就是 super daemon 啊，不必讲了吧！</td>
</tr>
<tr bgcolor="#dddddd">
<td><strong>yum-updatesd</strong></td>
<td><strong>(系统)</strong>可以透过 yum 的功能进行软体的线上升级机制， 若有升级的软体释出时，就能够以邮件或者是 syslog 来通知系统管理原来手动升级啊。</td>
</tr>
</tbody>
</table>
<p>　　底下继续说明一些可能在你的系统当中的服务，只是预设并没有启动这个服务就是了。只是说明一下，各服务的用途还是需要您自行查询相关的文章啰。</p>
<table border="1" width="100%">
<tbody>
<tr>
<td colspan="2">其他服务的简易说明</td>
</tr>
<tr>
<td width="100">服务名称</td>
<td>功能简介</td>
</tr>
<tr>
<td>dovecot</td>
<td><strong>(网路)</strong>可以设定 POP3/IMAP 等收受信件的服务，如果你的 Linux 主机是 email server 才需要这个服务，否则不需要启动他啦！</td>
</tr>
<tr>
<td>httpd</td>
<td><strong>(网路)</strong>这个服务可以让你的 Linux 服务器成为 www server 喔！</td>
</tr>
<tr>
<td>named</td>
<td><strong>(网路)</strong>这是领域名称服务器 (Domain Name System) 的服务， 这个服务非常重要，但是设定非常困难！目前应该不需要这个服务啦！</td>
</tr>
<tr>
<td>nfs</td>
<td><strong>(网路)</strong>这就是 Network Filesystem，是 Unix-Like 之间互相作为网路磁碟机的一个功能。</td>
</tr>
<tr>
<td>ntpd</td>
<td><strong>(网路)</strong>服务的全名是 Network Time Protocol ，这个服务可以用来进行网路校时， 让你系统的时间永远都是正确的哩！</td>
</tr>
<tr>
<td>smb</td>
<td><strong>(网路)</strong>这个服务可以让 Linux 模拟成为 Windows 上面的网路上的芳邻。 如果你的 Linux 主机想要做为 Windows 用户端的网路磁碟机服务器，这玩意儿得要好好玩一玩。</td>
</tr>
<tr>
<td>squid</td>
<td><strong>(网路)</strong>作为代理服务器的一个服务，可作为一个区域网路的防火墙之用。</td>
</tr>
<tr>
<td>vsftpd</td>
<td><strong>(网路)</strong>作为档案传输服务器 (FTP) 的服务。</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://anywang.vicp.net:8180/wp/?feed=rss2&#038;p=157</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux下更换网卡等硬件后问题解决</title>
		<link>http://anywang.vicp.net:8180/wp/?p=150</link>
		<comments>http://anywang.vicp.net:8180/wp/?p=150#comments</comments>
		<pubDate>Fri, 30 Sep 2011 02:18:30 +0000</pubDate>
		<dc:creator>网邻</dc:creator>
				<category><![CDATA[linux操作系统]]></category>

		<guid isPermaLink="false">http://anywang.vicp.net/wp/?p=150</guid>
		<description><![CDATA[作为服务器，网卡等硬件损坏是常有的事，这个时候更换硬件就容易出现一些问题，一般常见的有比如： 　　1、更换后重启，但系统没自动去查找新硬件，这个时候就可以请出一个命令：kudzu 　　kudzu 是Linux下检测硬件变化的命令，这个命令可以用于检查系统中网卡的型号等信息。直接运行的时候会自动查找新硬件，并自行安装。平时也可以用来查看网卡的mac地址，网卡型号等信息。 　　[root@devel flash]# kudzu &#8211;probe &#8211;class=network 　　- 　　class: NETWORK 　　bus: PCI 　　detached: 0 　　device: eth0 　　driver: e100 　　desc: &#8220;Intel Corporation 82557/8/9 [Ethernet Pro 100]&#8221; 　　network.hwaddr: 00:d0:b7:3f:ad:57 　　vendorId: 8086 　　deviceId: 1229 　　subVendorId: 8086 　　subDeviceId: 000c 　　pciType: 1 　　pcidom: 0 　　pcibus: 0 　　pcidev: e 　　pcifn: 0 　　PS：当然查看网卡等硬件信息能用的命令很多，比如lspci，lsmod等都可以 　　2、出现device &#8220;xxxx&#8221; does not seem to be [...]]]></description>
			<content:encoded><![CDATA[<p>作为<a href="http://server.chinabyte.com/" target="_blank">服务器</a>，网卡等硬件损坏是常有的事，这个时候更换硬件就容易出现一些问题，一般常见的有比如：</p>
<p>　　1、更换后重启，但系统没自动去查找新硬件，这个时候就可以请出一个命令：kudzu</p>
<p>　　kudzu 是<a href="http://www.chinabyte.com/keyword/Linux/" target="_blank">Linux</a>下检测硬件变化的命令，这个命令可以用于检查系统中网卡的型号等信息。直接运行的时候会自动查找新硬件，并自行安装。平时也可以用来查看网卡的<a href="http://www.chinabyte.com/keyword/Mac/" target="_blank">mac</a>地址，网卡型号等信息。</p>
<p>　　[root@devel flash]# kudzu &#8211;probe &#8211;class=network</p>
<p>　　-</p>
<p>　　class: NETWORK</p>
<p>　　bus: PCI</p>
<p>　　detached: 0</p>
<p>　　device: eth0</p>
<p>　　driver: e100</p>
<p>　　desc: &#8220;<a href="http://com.chinabyte.com/intel/" target="_blank">Intel</a> Corporation 82557/8/9 [Ethernet Pro 100]&#8221;</p>
<p>　　network.hwaddr: 00:d0:b7:3f:ad:57</p>
<p>　　vendorId: 8086</p>
<p>　　deviceId: 1229</p>
<p>　　subVendorId: 8086</p>
<p>　　subDeviceId: 000c</p>
<p>　　pciType: 1</p>
<p>　　pcidom: 0</p>
<p>　　pcibus: 0</p>
<p>　　pcidev: e</p>
<p>　　pcifn: 0</p>
<p>　　PS：当然查看网卡等硬件信息能用的命令很多，比如lspci，lsmod等都可以</p>
<p>　　2、出现device &#8220;xxxx&#8221; does not seem to be present的问题</p>
<p>　　device &#8220;eth0&#8243; does not seem to be present, delaying initialization。</p>
<p>　　lsmod输出的行少</p>
<p>　　这个时候可以运行：depmod命令。depmod可以自动修复一些 module的依赖关系</p>
<p>　　reboot重启后，lsmod 输出的行多了。</p>
<p>　　eth0 也正常了</p>
<p>转自 <a href="http://soft.chinabyte.com/os/198/11595198.shtml">http://soft.chinabyte.com/os/198/11595198.shtml</a></p>
<p><!--[1]--></p>
]]></content:encoded>
			<wfw:commentRss>http://anywang.vicp.net:8180/wp/?feed=rss2&#038;p=150</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
