📄 apache安装笔记.doc
字号:
#服务端口,缺省是8080,建议将整个APACHE配置调整好后再将服务端口改到正式服务的端口<br>
Port 8080 => 80<br>
<br>
#服务器名:缺省没有<br>
<span class=SpellE>ServerName</span> name.example.com<br>
<br>
#最大服务进程数:根据服务容量预测设置<br>
<span class=SpellE>MaxClients</span> 256 => 800<br>
<br>
#缺省启动服务后的服务进程数:等服务比较平稳后,按平均负载下的<span class=SpellE>httpd</span>个数设置就可以<br>
<span class=SpellE>StartServers</span> 5 => 200<br>
<br>
不要修改:<br>
以前有建议<span class=GramE>说修改</span>:<br>
<span class=SpellE>MinSpareServers</span> 5 => 100<br>
<span class=SpellE>MaxSpareServers</span> 10 => 200<br>
<br>
但从我的经验看来:缺省值已经是非常优化的了,而且让APACHE自己调整进程个数还是比较好的。<br>
<br>
特别修改:<br>
在<span class=SpellE>solaris</span>或一些比较容易出现内存泄露的应用上:<br>
<span class=SpellE>MaxRequestsPerChild</span> 0 =>3000<br>
<br>
应用模块和工具的安装配置:<br>
<br>
由于使用模块动态加载的模式,所以可以方便的通过简单的配置调整来把APACHE定制成你需要的:最好把不常用模块全部清除(无论处于安全还是效率)。<br>
比如:对于静态页面服务器:就什么模块都不加载,对于PHP应用就加上PHP模块,对于JAVA应用就把RESIN模块加载上。而且各种模块的插拔非常简单。<br>
<br>
<br>
一般说来,可以不需要的模块包括:<br>
#<span class=SpellE>LoadModule</span> <span class=SpellE>env_module</span> <span
class=SpellE>libexec/mod_env.so</span><br>
#<span class=SpellE>LoadModule</span> <span class=SpellE>negotiation_module</span>
<span class=SpellE>libexec/mod_negotiation.so</span><br>
#<span class=SpellE>LoadModule</span> <span class=SpellE>statuserials_module</span>
<span class=SpellE>libexec/mod_status.so</span><br>
#server side include已经过时了<br>
#<span class=SpellE>LoadModule</span> <span class=SpellE>includeserials_module</span>
<span class=SpellE>libexec/mod_include.so</span><br>
#不需要将没有缺省index文件的目录<span class=GramE>下所有</span>文件列出<br>
#<span class=SpellE>LoadModule</span> <span class=SpellE>autoindex_module</span>
<span class=SpellE>libexec/mod_autoindex.so</span><br>
#尽量不使用CGI:一直是APACHE安全问题最多的地方<br>
#<span class=SpellE>LoadModule</span> <span class=SpellE>cgi_module</span> <span
class=SpellE>libexec/mod_cgi.so</span><br>
#<span class=SpellE>LoadModule</span> <span class=SpellE>asiserials_module</span>
<span class=SpellE>libexec/mod_asis.so</span><br>
#<span class=SpellE>LoadModule</span> <span class=SpellE>imap_module</span>
<span class=SpellE>libexec/mod_imap.so</span><br>
#<span class=SpellE>LoadModule</span> <span class=SpellE>action_module</span>
<span class=SpellE>libexec/mod_actions.so</span><br>
#不使用安全校验可以大大提高访问速度<br>
#<span class=SpellE>LoadModule</span> <span class=SpellE>accesserials_module</span>
<span class=SpellE>libexec/mod_access.so</span><br>
#<span class=SpellE>LoadModule</span> <span class=SpellE>auth_module</span>
<span class=SpellE>libexec/mod_auth.so</span><br>
#<span class=SpellE>LoadModule</span> <span class=SpellE>setenvif_module</span>
<span class=SpellE>libexec/mod_setenvif.so</span><br>
<br>
最好保留的有:<br>
#用于定制log格式<br>
<span class=SpellE>LoadModule</span> <span class=SpellE>config_log_module</span>
<span class=SpellE>libexec/mod_log_config.so</span><br>
#用于增加文件应用的关联<br>
<span class=SpellE>LoadModule</span> <span class=SpellE>mime_module</span> <span
class=SpellE>libexec/mod_mime.so</span><br>
#用于缺省index文件:<span class=SpellE>index.php</span>等<br>
<span class=SpellE>LoadModule</span> <span class=SpellE>dir_module</span> <span
class=SpellE>libexec/mod_dir.so</span><br>
<br>
可用可不用的有:<br>
#比如:需要在~/username/下调试<span class=SpellE>php</span>可以将<br>
<span class=SpellE>LoadModule</span> <span class=SpellE>userdir_module</span>
<span class=SpellE>libexec/mod_userdir.so</span><br>
#比如:需要将以前的URL进行转向或者需要使用CGI script-alias<br>
<span class=SpellE>LoadModule</span> <span class=SpellE>aliaserials_module</span>
<span class=SpellE>libexec/mod_alias.so</span><br>
<br>
<br>
常用的模块:<br>
最常用的可能就是<span class=SpellE>php</span>和JAVA WEB应用的wrapper,此外,从性能上讲:<span
class=SpellE>mod_gzip</span>可以减少40%左右的流量,从而减少机器用于传输的负载,而<span class=SpellE>mod_expires</span>可以减少10%左右的重复请求,让重复的用户请求CACHE在本地,根本不向服务器发出请求。<br>
<br>
建议将所有MODULE的配置都放到<br>
<br>
PHP的安装:<br>
/path/to/<span class=SpellE>php_src</span>/configure --with-<span
class=SpellE>apxs</span>=/path/to/apache/bin/<span class=SpellE>apxs</span>
--with-other-modules-you-need<br>
需要修改的配置:<br>
<span class=SpellE>AddType</span> application/x-<span class=SpellE>httpd-php</span>
.<span class=SpellE>php</span> .php3 .<span class=SpellE>any_file_in_php</span><br>
<br>
resin的安装设置:<br>
/path/to/resin/<span class=SpellE>src</span>/configure --with-<span
class=SpellE>apxs</span>=/path/to/apache/bin/<span class=SpellE>apxs</span>
<br>
<br>
一般将具体的resin设置放在另外一个文件中:<br>
<<span class=SpellE>IfModule</span> <span class=SpellE>mod_caucho.c</span>><br>
<span class=SpellE>CauchoConfigFile</span> /path/to/apache/conf/<span
class=SpellE>resin.conf</span><br>
</<span class=SpellE>IfModule</span>><br>
<br>
<span class=SpellE>mod_expires</span>的安装配置:<br>
<<span class=SpellE>IfModule</span> <span class=SpellE>mod_expires.c</span>>
<br>
<span class=SpellE>ExpiresActive</span> on<br>
#所有的.gif文件1个月以后过期<br>
<span class=SpellE>ExpiresByType</span> image/gif "access plus 1
month"<br>
#所有的文件缺省1天以后过期<br>
<span class=SpellE>ExpiresDefault</span> "now plus 1 day"<br>
</<span class=SpellE>IfModule</span>><br>
<br>
<span class=SpellE>mod_gzip</span>的安装:<br>
/path/to/apache/bin/<span class=SpellE>apxs</span> -<span class=SpellE>i</span>
-a -c <span class=SpellE>mod_gzip.c</span><br>
<br>
<br>
<span class=SpellE>mod_gzip</span>和PHP在一起的配置<br>
<<span class=SpellE>IfModule</span> <span class=SpellE>mod_gzip.c</span>><br>
<span class=SpellE>mod_gzip_on</span> Yes<br>
<span class=SpellE>mod_gzip_minimum_file_size</span> 1000<br>
<span class=SpellE>mod_gzip_maximum_file_size</span> 300000 <br>
<span class=SpellE>mod_gzip_item_include</span> file \.<span class=SpellE>htm</span>$<br>
<span class=SpellE>mod_gzip_item_include</span> file \.html$<br>
<span class=SpellE>mod_gzip_item_include</span> file \.<span class=SpellE>php</span>$<br>
<span class=SpellE>mod_gzip_item_include</span> file \.php3$<br>
<span class=SpellE>mod_gzip_item_include</span> mime text/.*<br>
<span class=SpellE>mod_gzip_item_include</span> mime <span class=SpellE>httpd/unix</span>-directory
<br>
#不要让<span class=SpellE>mod_gzip</span>和<span class=SpellE>php</span>的session使用同一个临时目录:<span
class=SpellE>php_session</span>需要通过php.ini设置<span class=SpellE>session.save_path</span>
= /<span class=SpellE>tmp/php_sess</span><br>
<span class=SpellE>mod_gzip_temp_dir</span> /<span class=SpellE>tmp/mod_gzip</span><br>
<span class=SpellE>mod_gzip_dechunk</span> Yes<br>
<span class=SpellE>mod_gzip_keep_workfiles</span> No<br>
</<span class=SpellE>IfModule</span>><br>
<span class=SpellE>mod_gzip</span>和<span class=SpellE>mod_php</span>的配合:不要让<span
class=SpellE>mod_gzip</span>和<span class=SpellE>mod_php</span>使用同一个临时目录;<br>
<br>
<span class=SpellE>mod_gzip</span>和RESIN配合:要让<span class=SpellE>mod_gzip</span>在<span
class=SpellE>mod_caucho</span>后LOAD,否则<span class=SpellE>mod_gzip</span>不起作用<br>
...<span class=SpellE>othr</span> modules<br>
<span class=SpellE>AddModule</span> <span class=SpellE>mod_so.c</span><br>
<span class=SpellE>AddModule</span> <span class=SpellE>mod_caucho.c</span><br>
#notice: <span class=SpellE>mod_gzip</span> must load after <span
class=SpellE>mod_caucho</span><br>
<span class=SpellE>AddModule</span> <span class=SpellE>mod_gzip.c</span><br>
<span class=SpellE>AddModule</span> <span class=SpellE>mod_expires.c</span><br>
...<br>
<br>
<<span class=SpellE>IFModule</span> <span class=SpellE>mod_gzip.c</span>><br>
<span class=SpellE>mod_gzip_on</span> Yes<br>
<span class=SpellE>mod_gzip_dechunk</span> yes<br>
<span class=SpellE>mod_gzip_keep_workfiles</span> No<br>
<span class=SpellE>mod_gzip_minimum_file_size</span> 3000<br>
<span class=SpellE>mod_gzip_maximum_file_size</span> 300000 <br>
<span class=SpellE>mod_gzip_item_include</span> file \.html$<br>
<span class=SpellE>mod_gzip_item_include</span> mime text/.*<br>
<span class=SpellE>mod_gzip_item_include</span> mime <span class=SpellE>httpd/unix</span>-directory<br>
<span class=SpellE>mod_gzip_item_include</span> handler '<span
class=SpellE>caucho</span>-request'<br>
</<span class=SpellE>IFModule</span>><br>
<br>
日志轮循工具<span class=SpellE>cronolog</span>的安装和设置:<span class=SpellE>cronolog</span>可以非常整齐的将日志按天轮循存储<br>
缺省编译安装到/<span class=SpellE>usr</span>/local/bin/下,只需要将配置改成:<br>
<br>
<span class=SpellE>CustomLog</span> "|/<span class=SpellE>usr/local/sbin/cronolog</span>
/path/to/apache/logs/%w/<span class=SpellE>accesserials_log</span>"
combined<br>
<br>
日志将按天截断并存放在以weekday为目录名的目录下:比如:log/1是周一,log/5是周五, log/0是周日<br>
<br>
升级维护:<br>
<br>
由于使用标准化的DSO模式安装APACHE,APACHE的HTTPD核心服务和应用模块以及应用模块之间都变的非常灵活,建议将所有独立模块的配置都放在<br>
<<span class=SpellE>IfModule</span> <span class=SpellE>mod_name</span>><br>
CONFIGURATIONS..<br>
</<span class=SpellE>IfModule</span>><br>
里,这样配置非常容易通过屏蔽某个模块来进行功能调整:比如:<br>
#<span class=SpellE>AddModule</span> <span class=SpellE>mod_gzip.c</span><br>
就屏蔽了<span class=SpellE>mod_gzip</span>,其他模块<span class=GramE>不</span>首任何影响。<br>
<br>
安装和维护过程:<br>
<br>
系统安装:系统管理员的职责就是安装系统和一个按照DSO模式安装的APACHE,然后COLON。 <br>
应用安装:由应用管理员负责具体应用所需要的模块并设置HTTPD。 <br>
系统升级:系统管理员:升级系统/升级APACHE <br>
应用升级:应用管理员:升级应用模块:PHP CAUCHO等 <br>
系统备份/恢复:如果APACHE不在缺省的系统盘上,只需要将APACHE目录备份就可以了,遇到系统分区的硬件问题直接使用预先准备好的系统COLON,直接将APACHE所在物理<span
class=GramE>盘恢复</span>就行了。 <br>
系统管理员:APACHE的最简化安装 OS + APACHE(<span class=SpellE>httpd</span> core only) <br>
应用管理员:应用模块定制 +so<br>
+<span class=SpellE>php</span><br>
+so<br>
+<span class=SpellE>caucho</span><br>
+<span class=SpellE>ssl</span> <br>
应用: 纯静态页面服务:<br>
image.example.com<br>
<a href="http://www.example.com" target="_blank">www.example.com</a>
bbs.example.com mall.example.com <br>
<br>
例子:APACHE和PHP模块的独立升级。<br>
<br>
如果APACHE是按照以下方式安装:<br>
./configure --prefix=/home/apache --enable-shared=max --enable-module=most <br>
PHP是按照以下方式安装:<br>
./configure --with-<span class=SpellE>apxs</span>=/home/apache/bin/<span
class=SpellE>apxs</span> --enable-track-<span class=SpellE>vars</span>
--with-<span class=SpellE>mysql</span><br>
<br>
以后单独升级APACHE的时候,仍然是:<br>
./configure --prefix=/home/apache --enable-shared=max --enable-module=most <br>
make<br>
<span class=SpellE>su</span><br>
#/home/apache/bin/<span class=SpellE>apachectl</span> stop<br>
#make install<br>
<br>
单独升级<span class=SpellE>php</span>时,仍然是:<br>
./configure --with-<span class=SpellE>apxs</span>=/home/apache/bin/<span
class=SpellE>apxs</span> --enable-track-<span class=SpellE>vars</span>
--with-<span class=SpellE>mysql</span><br>
make<br>
<span class=SpellE>su</span><br>
#/home/apache/bin/<span class=SpellE>apachectl</span> stop<br>
#make install<br>
<br>
小技巧:<br>
<br>
Apache安装后,缺省根目录下没有但很有用的2个文件:<br>
<br>
<span class=SpellE>favicon.ico</span>: <span class=SpellE>favicon.ico</span>是一个16x16的站点图标文件,如果浏览器发现有这个文件,在地址栏中会用这个图标替换调浏览器的网页图标。IE6和MOZILLA等主流浏览器都支持这个功能。
<br>
robots.txt: 用于告诉搜索引擎的爬虫程序(spider)网站那些页面可以被索引,那些不可以。具体说明请参考:<br>
<a href="http://www.robotstxt.org/wc/robots.html" target="_blank">http://www.robotstxt.org/wc/robots.html</a>
<br>
<br>
<br>
参考文档:<br>
<br>
Apache<br>
<a href="http://httpd.apache.org" target="_blank">http://httpd.apache.org</a><br>
<br>
<span class=SpellE>php</span><br>
<a href="http://www.php.net" target="_blank">http://www.php.net</a><br>
<br>
Resin<br>
<a href="http://www.caucho.com" target="_blank">http://www.caucho.com</a><br>
<br>
<span class=SpellE>mod_gzip</span><br>
<a href="http://www.remotecommunications.com/apache/mod_gzip/"
target="_blank">http://www.remotecommunications.com/apache/mod_gzip/</a><br>
<br>
<span class=SpellE>Cronolog</span><br>
<a href="http://www.cronolog.org" target="_blank">http://www.cronolog.org</a><br>
<br>
<span class=SpellE>mod_expires</span><br>
<a href="http://httpd.apache.org/docs/mod/mod_expires.html" target="_blank">http://httpd.apache.org/docs/mod/mod_expires.html</a></span></span></p>
</td>
</tr>
</table>
</div>
<p class=MsoNormal><span lang=EN-US style='display:none;mso-hide:all'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
</td>
</tr>
</table>
</div>
<p class=MsoNormal align=center style='text-align:center'><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<normalfont></normalfont></div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -