apache常用配置

Jun 06, 2016 pm 07:44 PM
apache php どうやって よく使われる 時間 待って 聞く 構成

如何设 置请求等待时间 在httpd.conf里面设置: TimeOut n 其中n为整数,单位是秒。 如何接收一个get请求的总时间 接收一个post和put请求的TCP包之间的时间 TCP包传输中的响应(ack)时间间隔 如何使得apache监听在特定的端口 修改httpd.conf里面关于Listen

++如何设 置请求等待时间
在httpd.conf里面设置:
  TimeOut n
  其中n为整数,单位是秒。

++如何接收一个get请求的总时间
接收一个post和put请求的TCP包之间的时间
  TCP包传输中的响应(ack)时间间隔

++如何使得apache监听在特定的端口 
  修改httpd.conf里面关于Listen的选项,例如:
  Listen 8000
  是使apache监听在8000端口
  而如果要同时指定监听端口和监听地址,可以使用:
  Listen 192.170.2.1:80
  Listen 192.170.2.5:8000
  这样就使得apache同时监听在192.170.2.1的80端口和192.170.2.5的8000端口。
  当然也可以在httpd.conf里面设置:
  Port 80
  这样来实现类似的效果。

++如何设置apache的最大空闲进程数 
  修改httpd.conf,在里面设置:
  MaxSpareServers n
其中n是一个整数。这样当空闲进程超过n的时候,apache主进程会杀掉多余的空闲进程而保持空闲进程在n,节省了系统资源。如果在一个apache非常繁忙的站点调节这个参数才是必要的,但是在任何时候把这个参数调到很大都不是一个好主意。
  同时也可以设置:
  MinSpareServers n
  来限制最少空闲进程数目来加快反应速度。

++apache如何设置启动时的子服务进程个数 
  在httpd.conf里面设置:
  StartServers 5
  这样启动apache后就有5个空闲子进程等待接受请求。
  也可以参考MinSpareServers和MaxSpareServers设置。

++如何在apache中设置每个连接的最大请求数 

  在httpd.conf里面设置:
  MaxKeepAliveRequests 100
  这样就能保证在一个连接中,如果同时请求数达到100就不再响应这个连接的新请求,保证了系统资源不会被某个连接大量占用。但是在实际配置中要求尽量把这个数值调高来获得较高的系统性能。
     #用户连续访问了多少个页面后重新建立联结,适当调高.

++如何在apache中设置session的持续时间 
  在apache1.2以上的版本中,可以在httpd.conf里面设置:
  KeepAlive on
  KeepAliveTimeout 15
这样就能限制每个session的保持时间是15秒。session的使用可以使得很多请求都可以通过同一个tcp连接来发送,节约了网络资源和系统资源。
#KeepAliveTimeout是允许用户保持连接15秒内有效,如果用户在15秒内点击其他页面不需要重新建立联结,这个值设置短不利于降低效率,如果设置长可能导致的同时联结数会跟高,一般建议按照缺省的15

++如何使得apache对客户端进行域名验证 
  可以在httpd.conf里面设置:
  HostnameLookups on|off|double
如果是使用on,那么只有进行一次反查,如果用double,那么进行反查之后还要进行一次正向解析,只有两次的结果互相符合才行,而off就是不进行域名验证。
如果为了安全,建议使用double;为了加快访问速度,建议使用off。

++如何使得apache只监听在特定的ip
  修改httpd.conf,在里面使用
  BindAddress 192.168.0.1
  这样就能使得apache只监听外界对192.168.0.1的http请求。如果使用:
  BindAddress *
  就表明apache监听所有网络接口上的http请求。
  当然用防火墙也可以实现。

++apache中如何限制http请求的消息主体的大小 
  在httpd.conf里面设置:
  LimitRequestBody n
  n是整数,单位是byte。
cgi脚本一般把表单里面内容作为消息的主体提交给服务器处理,所以现在消息主体的大小在使用cgi的时候很有用。比如使用cgi来上传文件,如果有设置:
  LimitRequestBody 102400
  那么上传文件超过100k的时候就会报错。

++如何修改apache的文档根目录 
修改httpd.conf里面的DocumentRoot选项到指定的目录,比如:
  DocumentRoot /www/htdocs
  这样http://localhost/index.html就是对应/www/htdocs/index.html

++如何修改apache的最大连接数
在httpd.conf中设置:
  MaxClients n
n是整数,表示最大连接数,取值范围在1和256之间,如果要让apache支持更多的连接数,那么需要修改源码中的httpd.h文件,把定义的HARD_SERVER_LIMIT值改大然后再编译。

++如何使每个用户有独立的cgi-bin目录 
有两种可选择的方法:
  (1)在Apache配置文件里面关于public_html的设置后面加入下面的属性:
  ScriptAliasMatch ^/~([^/]*)/cgi-bin/(.*) /home/$1/cgi-bin/$2
  (2)在Apache配置文件里面关于public_html的设置里面加入下面的属性:
  
    Options ExecCGI
    SetHandler cgi-script
  

++如何调整Apache的最大进程数
Apache允许为请求开的最大进程数是256,MaxClients的限制是256.如果用户多了,用户就只能看到Waiting for
reply….然后等到下一个可用进程的出现。这个最大数,是Apache的程序决定的–它的NT版可以有1024,但Unix版只有256,你可以在src/include/httpd.h中看到:
#ifndef HARD_SERVER_LIMIT
#ifdef WIN32
#define HARD_SERVER_LIMIT 1024
#else
#define HARD_SERVER_LIMIT 256
#endif
#endif
你可以把它调到1024,然后再编译你的系统。

++如何屏蔽来自某个Internet地址的用户访问Apache服务器 
可以使用deny和allow来限制访问,比如要禁止202.202.202.xx网络的用户访问:
  
  order deny,allow
  deny from 202.202.202.0/24
  

++如何在日志里面记录apache浏览器和引用信息 
你需要把mod_log_config编译到你的Apache服务器中,然后使用下面类似的配置:
  CustomLog logs/access_log “%h %l %u %t “%r” %s %b “%{Referer}i”
“%{User-Agent}i”"

++如何修改Apache返回的头部信息
问题分析:当客户端连接到Apache服务器的时候,Apache一般会返回服务器版本、非缺省模块等信息,例如:
  Server: Apache/1.3.26 (Unix) mod_perl/1.26
解决:
你可以在Apache的配置文件里面作如下设置让它返回的关于服务器的信息减少到最少:
  ServerTokens Prod
注意:
这样设置以后Apache还会返回一定的服务器信息,比如:
  Server: Apache
但是这个不会对服务器安全产生太多的影响,因为很多扫描软件是扫描的时候是不顾你服务器返回的头部信息的。你如果想把服务器返回的相关信息变成:
  Server: It iS a nOnE-aPaCHe Server
  那么你就要去修改源码了。

++ 产生日志但不包括 图片。
LogFormat “%h %l %u %t \”%r\” %>;s %b \”%{Referer}i\” \”%{User-Agent}i\”" combined
SetEnvIf Request_URI \.gif$ gif-image
SetEnvIf Request_URI \.GIF$ gif-image
SetEnvIf Request_URI \.jpg$ gif-image
SetEnvIf Request_URI \.JPG$ gif-image
SetEnvIf Request_URI \.png$ gif-image
SetEnvIf Request_URI \.swf$ gif-image
SetEnvIf Request_URI \.SWF$ gif-image
SetEnvIf Request_URI \.css$ gif-image
SetEnvIf Request_URI \.CSS$ gif-image
SetEnvIf Request_URI \.js$ gif-image
SetEnvIf Request_URI \.JS$ gif-image
SetEnvIf Request_URI \.ico$ gif-image
;
        ServerAdmin webmaster@abc.net
        DocumentRoot /db/htdocs/www
        ServerName www.abc.net
        CustomLog “|/usr/local/cronolog/sbin/cronolog /db/logs/www.%Y-%m-%d.log” combined env=!gif-image
#用cronolog截取存放在/db/logs/下的按日期产生的apache日志文件,不包括图片
;

另一方法:

SetEnv IMAG 1

CustomLog logs/access_log combined env=!IMAG

++首先拒绝任何人,然后允许来自特定主机的访问。 
Order deny,allow
Deny from all
Allow from dev.example.com

++将/xyz/old.html的请求重写为物理的文件/website/test1/abc/new.html
1).在httpd.conf中有’Alias /xyz /website/test1/abc’这条指令
2).在/website/test1/abc/下建立.htaccess文件,内容如下
RewriteEngine On
RewriteBase   /xyz
RewriteRule   ^old\.html$ new.html
3).为了保证启用.htaccess,需要在httpd.conf中配置

    AllowOverride All

#注: RewriteBase指令显式地设置了目录级重写的基准URL。

++根据浏览器类型决定返回什么网页文件
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Mozilla.*
RewriteRule ^/$                 /homepage.max.html [L]
#其它类推

++Rewrite其它
RewriteEngine On
RewriteLogLevel 3 #较高的值会使Apache速度急剧下降! 重写日志使用大于2的Level值只用于调试!
RewriteLog “/usr/local/var/apache/logs/rewrite.log”   #写log
RewriteRule     ^/$      /film/index.shtml        [R,L] # 重定向首页到另一个文件
RewriteRule     ^/$      /film/index.shtml        [P,L] # 重定向首页到另一个文件,同时不改URL地址名

++关闭错误文档的最后一行将包含服务器的名字、Apache的版本等信息 

ServerSignature Off #默认值为On,也可改为ServerSignature email ,这样将显示管理员的email地址

++将以/puppy及/puppies开头的url对应至/www/docs/small_dogs目录
AliasMatch ^/pupp(y|ies) /www/docs/small_dogs

++Redirect指令将特定url重定向至其它的服务器上
Redirect [关键字] /example http://www.otherserver.com/new/location
关键字:
temp — 临时的重定向,返302状态响应,客户端会记往原始请求所用的url
permanent — 永久性的重定向,返301响应,客户端会记得新的url
gone — 告之用户,此URL已被移除了,而且不会再回来了, 这个关键字后不需要跟新URL参数,返410状态.
seeother — 告之客户端旧的url已经被废弃了,但文件的内容已经被新文件的内容取代了返303状态.

++将多个url重定向至同一位置
RedirectMatch ^/[fF]ish(ing)? http://fis.example.com

++接受不区分大小写的URL
CheckSpelling On #mod_speling模块支持

++将请求url中所有的string1都改为string2

RewriteCond %{REQUEST_URI} “string1″
RewriteRule “(.*)string1(.*)” “$1string2$2″ [N,PT]
#[N]标记让apache不断重复执行重写的规则,直至RewriteCond条件失效为止.

++手工安装某模块(以rewrite为例)
/usr/local/apache/bin/apxs -c mod_rewrite.c ##apxs应指定绝对路径
/usr/local/apache/bin/apxs -i -a -n mod_rewrite mod_rewrite.la

#编辑httpd.conf文件
LoadModule rewrite_module modules/mod_rewrite.so

++一个虚拟主机的例子
NameVirtualHost *:80

    ServerAdmin webmaster@zhangjianfeng.com
    ServerName blog.zhangjianfeng.com
    ServerAlias web1.zhangjianfeng.com
    DocumentRoot “/web/web1/”   
    ErrorLog /logs/apache/web1_error_log
    CustomLog /logs/apache/web1_log combined
    RewriteEngine On
    #RewriteLogLevel 1
    #RewriteLog “/logs/apache/rewrite.log”
    #RewriteRule \.(exe|rar)$ http://downloads.zhangjianfeng.com/data/$1 [R]

++ServerTokens指令
ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full
ServerTokens Prod[uctOnly] 服务器会发送(比如): Server: Apache
ServerTokens Major 服务器会发送(比如): Server: Apache/2
ServerTokens Minor 服务器会发送(比如): Server: Apache/2.0
ServerTokens Min[imal] 服务器会发送(比如): Server: Apache/2.0.41
ServerTokens OS     服务器会发送(比如): Server: Apache/2.0.41 (Unix)
ServerTokens Full (或未指定) 服务器会发送(比如): Server: Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2

++其它

Order allow,deny
Deny from all

User apache
Group apache
ServerAdmin root@zhangjianfeng.com
ServerName websrv1
UseCanonicalName Off
HostnameLookups Off
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”" combined
CustomLog logs/access_log combined
ErrorLog logs/error_log
ServerSignature On|Off|EMail
ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full

++查看目前连接协议情况
netstat -an | grep -i “80″ | awk ‘{print $6}’ | sort | uniq -c | sort -n

++一个简单的密码认证实现
#添加下面内容到httpd.conf
Alias /test2 “/var/www/html/test”
  
    AllowOverride AuthConfig  
    Order Deny,Allow
    Allow from all      
  

#建立验证文件和第一个验证用户
#htpasswd -c /etc/userfile user  
#vi /var/www/html/test/usergroup
    usergroup:user user1 user2 #相关用户使用htpasswd创建
#vi /var/www/html/test/.htaccess
   AuthName “blog.zhangjianfeng.com user_auth test”
   AuthType Basic
   AuthUserFile /etc/userfile
    #以下两行只有在以组的形式管理,才需要
     #AuthGroupFile /var/www/html/test/usergroup
     #require group usergroup
   require user user

++手工GET数据(用于测试等)
telnet blog.zhangjianfeng.com 80
Escape character is ‘^]’.
GET /index.php HTTP/1.1
Accept: text/plain,text/html,*/*;q=0.3
Accept-Encoding: deflate
Host: http://www.test.com:8004/
If-None-Match: “418112890:855172144000″
User-Agent: W3CRobot/5.1 libwww/5.1
Connection: Keep-Alive

++取HTTP HEAD
curl –head http://blog.zhangjianfeng.com/

++为Apache配置mod_deflat压缩输出
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so

DeflateCompressionLevel 9
SetOutputFilter DEFLATE
#DeflateFilterNote Input instream
#DeflateFilterNote Output outstream
#DeflateFilterNote Ratio ratio
LogFormat ‘”%r” %{outstream}n/%{instream}n (%{ratio}n%%)’ deflate
CustomLog logs/deflate_log.log deflate

#need more? http://httpd.apache.org/docs/2.0/mod/mod_deflate.html

++mod_proxy应用, 将 www.zhangjianfeng.com/news 的请求转到另一台主机
LoadModule proxy_module modules/mod_proxy.so
proxypass /news http://news.zhangjianfeng.com/ #news.zhangjianfeng.com为另一台主机

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

15一般的に使用される通貨サークルエスケープインデックステクノロジー分析 15一般的に使用される通貨サークルエスケープインデックステクノロジー分析 Mar 03, 2025 pm 05:48 PM

上位15のビットコインエスケープインデックスの詳細な分析:2025の市場見通しこの記事では、15の一般的に使用されるビットコインエスケープインデックスを深く分析します。投資家は潜在的なリスクにどのように対処すべきですか?これらの指標を1つずつ解釈し、合理的な対応戦略を探りましょう。 1.キーインジケーターの詳細な説明AHR999コイン買いだめ指標:AHR999によって作成され、ビットコイン固定投資戦略の支援。現在の値は1.21で、これは待機中の範囲にあるため、注意することをお勧めします。 AHR999へのリンクエスケープトップインジケーター:AHR999コインの貯蔵インジケーターのサプリメントは、市場のトップを識別するために使用されます。現在の値は今週2.48です

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

2024 年の開発者向け PHP CMS プラットフォーム トップ 10 2024 年の開発者向け PHP CMS プラットフォーム トップ 10 Dec 05, 2024 am 10:29 AM

CMSはコンテンツマネジメントシステムの略称です。これは、ユーザーが高度な技術知識を必要とせずにデジタル コンテンツを作成、管理、変更できるようにするソフトウェア アプリケーションまたはプラットフォームです。 CMS を使用すると、ユーザーはコンテンツを簡単に作成および整理できます

PHPの配列の最後に要素を追加する方法 PHPの配列の最後に要素を追加する方法 Feb 07, 2025 am 11:17 AM

配列は、プログラミングのデータを処理するために使用される線形データ構造です。アレイを処理している場合は、既存の配列に新しい要素を追加する必要があります。この記事では、各方法のコード例、出力、時間と空間の複雑さ分析を使用して、PHPの配列の最後に要素を追加するいくつかの方法について説明します。 アレイに要素を追加するさまざまな方法は次のとおりです。 四角い括弧を使用します[] PHPでは、配列の最後に要素を追加する方法は、四角い括弧[]を使用することです。この構文は、単一の要素のみを追加する場合にのみ機能します。以下は構文です。 $ array [] = value; 例

See all articles