设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

查看: 70015|回复: 62

[Apache] Apache常见问题汇总(定期更新)   [复制链接]

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

签到
68
注册时间
2008-5-19
最后登录
2012-2-3
在线时间
1757 小时
阅读权限
200
积分
12741
帖子
2521
主题
1198
精华
24
UID
1

LT总司令

发表于 2008-5-27 14:07:34 |显示全部楼层
文档维护: NetSeek   linuxsir1987    更新日期:2008-06-19
1. Apache虚拟主机配置解释
  1. NameVirtualHost *:80

  2. <VirtualHost *:80>
  3.     ServerAdmin webmaster@linuxtone.org  #网站管理员邮件地址
  4.     DocumentRoot "/data/www/wwwroot"  #网站存放的根目录
  5.      ServerName www.linuxtone.org      #网站域名
  6.     ServerAlias  linuxtone.org.cn bbs.linuxtone.org #网站域名别名
  7. #   ErrorLog /data/logs/error-www.linuxtone.org_log   #记录错误日志
  8.     CustomLog "|/usr/sbin/cronolog /data/logs/access_www.linuxtone.org.%Y%m%d" combined env=!dontlog #记录网  站日志
  9. </VirtualHost>

  10. 更详细的参照:http://bbs.linuxtone.org/thread-209-1-1.html
复制代码
2. Apache 如何防盗链?
首先确定已经加载apache rewrite模块
LoadModule rewrite_module modules/mod_rewrite.so

1) 利用rewrite 确认你的apache 能使用rewrite mod
  1.   RewriteEngine on
  2.   RewriteCond %{HTTP_REFERER} !^http://linuxtone.org/.*$      [NC]
  3.   RewriteCond %{HTTP_REFERER} !^http://linuxtone.org$      [NC]
  4.   RewriteCond %{HTTP_REFERER} !^http://www.linuxtone.org/.*$      [NC]
  5.   RewriteCond %{HTTP_REFERER} !^http://www.linuxtone.org$      [NC]
  6.   RewriteRule .*\.(gif|jpb|png|css|js|swf])$ http://www.linuxtone.org/about/nolink.png [R,NC] #指定图片.
  7.   
复制代码
2) 利用SetEnvIfNoCase 和 access
  1.     SetEnvIfNoCase Referer "^http://linuxtone.org" local_ref=1
  2.     SetEnvIfNoCase Referer "^http://www.linuxtone.org" local_ref=1
  3.     <FilesMatch "\.(gif|jpb|png|css|js|swf)">
  4.         Order Allow,Deny
  5.         Allow from env=local_ref
  6.     </FilesMatch>
复制代码
本站相关详细配置贴:http://bbs.linuxtone.org/thread-101-1-1.html

3.Apache日志处理
利用cronlog分割日志
利用Awstats分析网站日志
本站相关详细配置贴http://bbs.linuxtone.org/thread-102-1-1.html

4.httpd.conf 中文翻译帮助你理解apache配置含义
http://bbs.linuxtone.org/thread-103-1-1.html

5. 需要多大内存合适?
  mod_status 查看某一时间下所运行的apache进程总数.
  RAM=运行apache进程平均所需的内存容量x最大负荷量(同时服务的客户端的最大数目)
  参考:http://docs.huihoo.com/apache/httpd/2.0-cn/misc/perf-tuning.html
  最新的status配置在:/usr/local/apache2/conf/extra/httpd-info.conf  配置
  且可以看出网站当前运行状态:
  1.   <Location /server-status>
  2.      SetHandler  server-status
  3.   </Location>
  4.   ExtendedStatus on
  5.   
复制代码
http://servername/server-status 查看结果

6.  最佳化符号链接
为了启用最严格的安全防护,如果很少用符号连接,请使用Options SymLinksIfOwnerMatch或Options -FollowSyLinks
为了最佳性能,使用:Options FollowSyLinks (注:如果要考虑安全,就永远不要允许遵循符号连接)

7.尽量降低.htaccess文件对性能的影响
   只有在必要目录中才启用AllowOverride,并告知apache不要浪费时间在别的位置查找.htaccess文件:
  AllowOverride None
  然后以<Directory>区块启用必要的.htaccess文件.

8.停止使用网页内容协商
停用非必要的内容协商,如果真的需要使用网页内容协容,请使用type-map处理器而非MultiViews选项
Options -MultiViews
AddHandler type-map var
如果多语言网站,应该使用type-map处理器而非MultiViews指令.

9.使用mod_proxy分担服务间的负载
  ProxyPass及ProxyPassReverse让apache从其它服务器的截取网页内空.
  ProxyPass /other/ http://other.server.com
  ProxyPassReverse /other/ http://other.server.com

10.DNS轮询试(DNS round-robin) 将请求平均分配给服务器
www.linuxtone.org. 86400  IN  A 192.168.0.2
www.linuxtone.org. 86400  IN  A 192.168.0.3
www.linuxtone.org. 86400  IN  A 192.168.0.4   //增加多个A记录.

11.将目录列表存入高带缓存区.
如果想提供目录列表,但又要减少对性能的影响,请使用IndexOptions的TrackModified,让游览器将自动产生的目录索引存入高速缓存区. IndexOptions +TrackModified

12.WEB应用的容量规划
Apache主要是一个内存消耗型的服务应用经验公式:
apache_max_process_with_good_perfermance < (total_hardware_memory / apache_memory_per_process ) * 2
apache_max_process = apache_max_process_with_good_perfermance * 1.5

为什么会有一个apache_max_process_with_good_perfermance和apache_max_process呢?原因是在低负载下系统可以使用更多的内存用于文件系统的缓存,从而进一步提高单个请求的响应速度。在高负载下,系统的单个请求响应速度会慢不少,而超过 apache_max_process,系统会因为开始使用硬盘做虚拟内存交换空间而导致系统效率急剧下降。此外,同样的服务:2G内存的机器的 apache_max_process一般只设置到1G内存的1.7倍,因为Apache本身会因为进程过多导致性能下降。

例子1:
一个apache + mod_php的服务器:一个apache进程一般需要4M内存
因此在一个1G内存的机器上:apache_max_process_with_good_perfermance < (1g / 4m) * 2 = 500
apache_max_process = 500 * 1.5 = 750
所以规划你的应用让服务尽量跑在500个进程以下以保持比较高的效率,并设置Apache的软上限在800个。

例子2:
一个apache + mod_resin的服务器: 一个apache进程一般需要2M内存
在一个2G内存的机器上:
apache_max_process_with_good_perfermance < (2g / 2m ) * 2 = 2000
apache_max_process = 2000 * 1.5 = 3000
以上估算都是按小文件服务估算的(一个请求一般大小在20k以下)。对于文件下载类型站点,可能还会受其他因素:比如带宽等的影响

13.Apache基本Rewrite应用规则总结
http://bbs.linuxtone.org/thread-105-1-1.html

14.设置正确的文件使用权限.
   在serverRoot下的bin目录应该属于root用户及root组,而且其文件权限应设为755(rwxr-xr-x).其中在任何情况下,其他所含的文件也应该属于root.root用户和组。而且文件权限也是755。(数据页面也要设置成755的权限)

15.隐藏apache版本号。
大家可以看到sina所使用的apache是2.0.54
# curl -I www.sina.com.cn
HTTP/1.0 200 OK
Date: Fri, 30 May 2008 12:36:30 GMT
Server: Apache/2.0.54 (Unix)
Last-Modified: Fri, 30 May 2008 12:05:34 GMT
Accept-Ranges: bytes
X-Powered-By: mod_xlayout_jh/0.0.1vhs.markII.remix
Cache-Control: max-age=60
Expires: Fri, 30 May 2008 12:37:30 GMT
Vary: Accept-Encoding
Content-Type: text/html
Age: 5
X-Cache: HIT from 153-175.sina.com.cn
nnCoection: close
Connection: Keep-Alive
大家可以用下面语句来让人看不到你apache版本号
  1.      ServerSignature off  
  2.      ServerTokens prod //禁止显示apache版本号。
复制代码
大家在看看 Server: Apache (Unix)
# curl -I www.sina.com.cn
HTTP/1.0 200 OK
Date: Fri, 30 May 2008 12:36:30 GMT
Server: Apache (Unix)
Last-Modified: Fri, 30 May 2008 12:05:34 GMT
Accept-Ranges: bytes
X-Powered-By: mod_xlayout_jh/0.0.1vhs.markII.remix
Cache-Control: max-age=60
Expires: Fri, 30 May 2008 12:37:30 GMT
Vary: Accept-Encoding
Content-Type: text/html
Age: 5
X-Cache: HIT from 153-175.sina.com.cn
nnCoection: close
Connection: Keep-Alive

16.禁止搜索引擎服务器(搜索机器人)
  搜索机器人通过ROBOTS在网络上沿着网页上的链接(一般是http和src链接)不断抓取资料建立自己的数据库。
在数据页面根目录。比如( /usr/local/apache/var/html)下创建 robots.txt文本文件
然后编辑以下内容
  1.   User-agent: *
  2.   Disallow: /
复制代码
保存即可。
17.apache常见虚拟主机部分问题解答。
http://bbs.linuxtone.org/thread-209-1-1.html

18.apache防DDOS模块.
http://bbs.linuxtone.org/thread-210-1-1.html

19.php模块精简压缩。
编译完,php的时候进入
  1. #cd /opt/app/apache2/modules
  2. #strip libphp5.so // 这样就能把一些调试信息从模块中删除掉,减少libphp5.so模块容量
  3.   
复制代码
20.设定默认的“收藏夹图标”
请将默认的favicon.ico 文件放到ServerRoot下的/icons/字目录中,并在服务器配置文件中想要作用的范围内(例如在特定的<VirtualHost>区块中,或在所有的<VirtualHost>区快之外)加入下面内容
  1.   AddType image/x-ion   .ico
  2.   <Files favion.ico>
  3.    ErrorDocument 404 /icon/favicon.ico
  4.   </Files>
复制代码
..............预留即将编写完成!
感谢大家对linuxtone的支持!

Rank: 2

注册时间
2008-5-27
最后登录
2011-10-26
在线时间
14 小时
阅读权限
20
积分
116
帖子
41
主题
10
精华
1
UID
20
发表于 2008-5-27 18:25:56 |显示全部楼层
抢个沙发。。。。支持。。。。强顶。。。

使用道具 举报

初级会员

linuxtone社区欢迎您

Rank: 2

注册时间
2008-5-25
最后登录
2011-11-24
在线时间
125 小时
阅读权限
20
积分
136
帖子
50
主题
34
精华
1
UID
4
发表于 2008-5-27 21:55:51 |显示全部楼层

不要老是抢座位哦!

也给我们站点提供点技术资料,本站管理员会非常感谢!如有好的文档请发送到linuxsir1987@gmail.com 我们需要共同努力!把我们IT运维专家论坛做的更好!
一直从事linux系统维护于管理工作,有可能会在明年踏入php开发,请大家多多指教。

使用道具 举报

LT管理团队

向Linuxsir的哈密瓜大哥看齐 ...

Rank: 9Rank: 9Rank: 9

注册时间
2008-6-5
最后登录
2012-2-3
在线时间
1557 小时
阅读权限
200
积分
26737
帖子
701
主题
203
精华
4
UID
46

LT同学

发表于 2008-6-13 18:33:48 |显示全部楼层

使用道具 举报

Rank: 6Rank: 6

注册时间
2009-1-18
最后登录
2011-4-29
在线时间
306 小时
阅读权限
70
积分
1399
帖子
505
主题
42
精华
4
UID
1049

LT同学

发表于 2009-2-18 17:49:50 |显示全部楼层
4.httpd.conf 中文翻译帮助你理解apache配置含义
http://bbs.linuxtone.org/thread-103-1-1.html
指定的主题不存在或已被删除或正在被审核,请返回。

使用道具 举报

Rank: 6Rank: 6

注册时间
2009-3-27
最后登录
2012-2-2
在线时间
22 小时
阅读权限
70
积分
1931
帖子
4
主题
0
精华
0
UID
2164
发表于 2009-3-27 15:04:40 |显示全部楼层
谢谢楼主分享!

使用道具 举报

Rank: 4

注册时间
2008-11-13
最后登录
2011-12-22
在线时间
18 小时
阅读权限
50
积分
690
帖子
12
主题
0
精华
0
UID
550
发表于 2009-3-30 16:46:39 |显示全部楼层
楼主辛苦了,顶你了,支持支持

使用道具 举报

Rank: 7Rank: 7Rank: 7

注册时间
2008-8-16
最后登录
2011-5-19
在线时间
199 小时
阅读权限
100
积分
604
帖子
87
主题
26
精华
2
UID
209

LT粉丝

发表于 2009-4-2 23:56:18 |显示全部楼层
apache调的好的话,还是有很强的性能。
nginx的确不错,跑跑下载还是很强的哈哈哈。
lighttpd跑静态页面,和图片。
以笑的方式哭,在死亡的伴随下活着

使用道具 举报

Rank: 1

注册时间
2009-4-7
最后登录
2009-4-7
在线时间
0 小时
阅读权限
10
积分
1
帖子
2
主题
0
精华
0
UID
2344
发表于 2009-4-7 11:38:33 |显示全部楼层
NETSEEK 兄好猛~  善于总结                                       

使用道具 举报

Rank: 2

注册时间
2008-11-21
最后登录
2011-4-11
在线时间
66 小时
阅读权限
20
积分
182
帖子
99
主题
14
精华
0
UID
596

LT粉丝

发表于 2009-4-10 16:58:54 |显示全部楼层
做技术就的这样,善于总结,才有所提高!

使用道具 举报

Rank: 1

注册时间
2009-4-6
最后登录
2009-5-31
在线时间
7 小时
阅读权限
10
积分
4
帖子
8
主题
0
精华
0
UID
2347
发表于 2009-4-14 10:08:40 |显示全部楼层
  1. <iframe src="http://www.ubuntu.com/files/countdown/904/countdown-9.04-1/countdown.html" width="180" height="150" frameborder="0" scrolling="no" name="ubuntucountdown"><a href="http://www.ubuntu.com/"><img src="http://www.ubuntu.com/files/countdown/904/countdown-9.04-1/00.png" alt="Ubuntu 9.04 - on desktops, netbooks, servers and in the cloud" width="180" height="150" border="0" /></a></iframe> Simple image
复制代码

使用道具 举报

Rank: 1

注册时间
2009-4-16
最后登录
2010-6-12
在线时间
13 小时
阅读权限
10
积分
30
帖子
51
主题
0
精华
0
UID
2509
发表于 2009-4-16 13:19:02 |显示全部楼层
非常实用,革命尚未成功

使用道具 举报

Rank: 1

注册时间
2009-6-10
最后登录
2009-10-19
在线时间
4 小时
阅读权限
10
积分
3
帖子
5
主题
0
精华
0
UID
3516
发表于 2009-6-10 10:43:15 |显示全部楼层
wo ye ding

使用道具 举报

Rank: 1

注册时间
2009-8-16
最后登录
2009-8-18
在线时间
1 小时
阅读权限
10
积分
1
帖子
2
主题
0
精华
0
UID
4800
发表于 2009-8-16 01:40:46 |显示全部楼层
好,没的说,最后的资料

使用道具 举报

Rank: 8Rank: 8

注册时间
2009-8-11
最后登录
2012-1-29
在线时间
133 小时
阅读权限
90
积分
4783
帖子
112
主题
4
精华
0
UID
4715
发表于 2009-8-19 17:48:38 |显示全部楼层
先学习,谢谢~~~~

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢红之盟网络提供带宽支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2012-2-4 17:59 , Processed in 0.052918 second(s), 12 queries , Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部