真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎樣進(jìn)行Apache的配置

本篇文章為大家展示了怎樣進(jìn)行Apache的配置,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

為登封等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及登封網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司、登封網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。 
主站點(diǎn)的配置(基本配置) 

(1) 基本配置: 
ServerRoot "/mnt/software/apache2" #你的apache軟件安裝的位置。其它指定的目錄如果沒(méi)有指定絕對(duì)路徑,則目錄是相對(duì)于該目錄。 

PidFile logs/httpd.pid #第一個(gè)httpd進(jìn)程(所有其他進(jìn)程的父進(jìn)程)的進(jìn)程號(hào)文件位置。 

Listen 80 # 
Options FollowSymLinks 
AllowOverride None 
Order allow,deny 
Allow from all 
 

在上面這段目錄屬性配置中,主要有下面的選項(xiàng): 

Options:配置在特定目錄使用哪些特性,常用的值和基本含義如下: 

ExecCGI: 在該目錄下允許執(zhí)行CGI腳本。 

FollowSymLinks: 在該目錄下允許文件系統(tǒng)使用符號(hào)連接。 

Indexes: 當(dāng)用戶(hù)訪問(wèn)該目錄時(shí),如果用戶(hù)找不到DirectoryIndex指定的主頁(yè)文件(例如index.html),則返回該目錄下的文件列表給用戶(hù)。 

SymLinksIfOwnerMatch: 當(dāng)使用符號(hào)連接時(shí),只有當(dāng)符號(hào)連接的文件擁有者與實(shí)際文件的擁有者相同時(shí)才可以訪問(wèn)。 

其它可用值和含義請(qǐng)參閱:http://www.clusting.com/Apache/ApacheManual/mod/core.html#options 


AllowOverride:允許存在于.htaccess文件中的指令類(lèi)型(.htaccess文件名是可以改變的,其文件名由AccessFileName指令決定): 
None: 當(dāng)AllowOverride被設(shè)置為None時(shí)。不搜索該目錄下的.htaccess文件(可以減小服務(wù)器開(kāi)銷(xiāo))。 

All: 在.htaccess文件中可以使用所有的指令。 

其他的可用值及含義(如:Options FileInfo AuthConfig Limit等),請(qǐng)參看: http://www.clusting.com/Apache/ApacheManual/mod/core.html#AllowOverride 

Order:控制在訪問(wèn)時(shí)Allow和Deny兩個(gè)訪問(wèn)規(guī)則哪個(gè)優(yōu)先: 

Allow:允許訪問(wèn)的主機(jī)列表(可用域名或子網(wǎng),例如:Allow from 192.168.0.0/16)。 

Deny:拒絕訪問(wèn)的主機(jī)列表。 

更詳細(xì)的用法可參看:http://www.clusting.com/Apache/ApacheManual/mod/mod_access.html#order 

DirectoryIndex index.html index.htm index.php #主頁(yè)文件的設(shè)置(本例將主頁(yè)文件設(shè)置為:index.html,index.htm和index.php) 


(2) 服務(wù)器的優(yōu)化 (MPM: Multi-Processing Modules) 
apache2主要的優(yōu)勢(shì)就是對(duì)多處理器的支持更好,在編譯時(shí)同過(guò)使用--with-mpm選項(xiàng)來(lái)決定apache2的工作模式。如果知道當(dāng)前的apache2使用什么工作機(jī)制,可以通過(guò)httpd -l命令列出apache的所有模塊,就可以知道其工作方式: 

prefork:如果httpd -l列出prefork.c,則需要對(duì)下面的段進(jìn)行配置: 

 

StartServers 5 #啟動(dòng)apache時(shí)啟動(dòng)的httpd進(jìn)程個(gè)數(shù)。 

MinSpareServers 5 #服務(wù)器保持的最小空閑進(jìn)程數(shù)。 

MaxSpareServers 10 #服務(wù)器保持的最大空閑進(jìn)程數(shù)。 

MaxClients 150 #最大并發(fā)連接數(shù)。 

MaxRequestsPerChild 1000 #每個(gè)子進(jìn)程被請(qǐng)求服務(wù)多少次后被kill掉。0表示不限制,推薦設(shè)置為1000。 

 


在該工作模式下,服務(wù)器啟動(dòng)后起動(dòng)5個(gè)httpd進(jìn)程(加父進(jìn)程共6個(gè),通過(guò)ps -ax|grep httpd命令可以看到)。當(dāng)有用戶(hù)連接時(shí),apache會(huì)使用一個(gè)空閑進(jìn)程為該連接服務(wù),同時(shí)父進(jìn)程會(huì)fork一個(gè)子進(jìn)程。直到內(nèi)存中的空閑進(jìn)程達(dá)到MaxSpareServers。該模式是為了兼容一些舊版本的程序。我缺省編譯時(shí)的選項(xiàng)。 

worker:如果httpd -l列出worker.c,則需要對(duì)下面的段進(jìn)行配置: 

 

StartServers 2 #啟動(dòng)apache時(shí)啟動(dòng)的httpd進(jìn)程個(gè)數(shù)。 

MaxClients 150 #最大并發(fā)連接數(shù)。 

MinSpareThreads 25 #服務(wù)器保持的最小空閑線(xiàn)程數(shù)。 

MaxSpareThreads 75 #服務(wù)器保持的最大空閑線(xiàn)程數(shù)。 

ThreadsPerChild 25 #每個(gè)子進(jìn)程的產(chǎn)生的線(xiàn)程數(shù)。 

MaxRequestsPerChild 0 #每個(gè)子進(jìn)程被請(qǐng)求服務(wù)多少次后被kill掉。0表示不限制,推薦設(shè)置為1000。 

 


該模式是由線(xiàn)程來(lái)監(jiān)聽(tīng)客戶(hù)的連接。當(dāng)有新客戶(hù)連接時(shí),由其中的一個(gè)空閑線(xiàn)程接受連接。服務(wù)器在啟動(dòng)時(shí)啟動(dòng)兩個(gè)進(jìn)程,每個(gè)進(jìn)程產(chǎn)生的線(xiàn)程數(shù)是固定的(ThreadsPerChild決定),因此啟動(dòng)時(shí)有50個(gè)線(xiàn)程。當(dāng)50個(gè)線(xiàn)程不夠用時(shí),服務(wù)器自動(dòng)fork一個(gè)進(jìn)程,再產(chǎn)生25個(gè)線(xiàn)程。 


perchild:如果httpd -l列出perchild.c,則需要對(duì)下面的段進(jìn)行配置: 

 

NumServers 5 #服務(wù)器啟動(dòng)時(shí)啟動(dòng)的子進(jìn)程數(shù) 

StartThreads 5 #每個(gè)子進(jìn)程啟動(dòng)時(shí)啟動(dòng)的線(xiàn)程數(shù) 

MinSpareThreads 5 #內(nèi)存中的最小空閑線(xiàn)程數(shù) 

MaxSpareThreads 10 #最大空閑線(xiàn)程數(shù) 

MaxThreadsPerChild 2000 #每個(gè)線(xiàn)程最多被請(qǐng)求多少次后退出。0不受限制。 

MaxRequestsPerChild 10000 #每個(gè)子進(jìn)程服務(wù)多少次后被重新fork。0表示不受限制。 

 

該模式下,子進(jìn)程的數(shù)量是固定的,線(xiàn)程數(shù)不受限制。當(dāng)客戶(hù)端連接到服務(wù)器時(shí),又空閑的線(xiàn)程提供服務(wù)。 如果空閑線(xiàn)程數(shù)不夠,子進(jìn)程自動(dòng)產(chǎn)生線(xiàn)程來(lái)為新的連接服務(wù)。該模式用于多站點(diǎn)服務(wù)器。 
(3) HTTP返頭回信息配置: 

ServerTokens Prod #該參數(shù)設(shè)置http頭部返回的apache版本信息,可用的值和含義如下: 

Prod:僅軟件名稱(chēng),例如:apache 
Major:包括主版本號(hào),例如:apache/2 
Minor:包括次版本號(hào),例如:apache/2.0 
Min:僅apache的完整版本號(hào),例如:apache/ 2.0.54 
OS:包括操作系統(tǒng)類(lèi)型,例如:apache/2.0.54(Unix) 
Full:包括apache支持的模塊及模塊版本號(hào),例如:Apache/2.0.54 (Unix) mod_ssl/2.0.54 OpenSSL/0.9.7g 
ServerSignature Off #在頁(yè)面產(chǎn)生錯(cuò)誤時(shí)是否出現(xiàn)服務(wù)器版本信息。推薦設(shè)置為Off 


(4) 持久性連接設(shè)置 

KeepAlive On #開(kāi)啟持久性連接功能。即當(dāng)客戶(hù)端連接到服務(wù)器,下載完數(shù)據(jù)后仍然保持連接狀態(tài)。 

MaxKeepAliveRequests 100 #一個(gè)連接服務(wù)的最多請(qǐng)求次數(shù)。 

KeepAliveTimeout 30 #持續(xù)連接多長(zhǎng)時(shí)間,該連接沒(méi)有再請(qǐng)求數(shù)據(jù),則斷開(kāi)該連接。缺省為15秒。 

別名設(shè)置 
對(duì)于不在DocumentRoot指定的目錄內(nèi)的頁(yè)面,既可以使用符號(hào)連接,也可以使用別名。別名的設(shè)置如下: 

Alias /download/ "/var/www/download/" #訪問(wèn)時(shí)可以輸入:http://www.custing.com/download/ 

 #對(duì)該目錄進(jìn)行訪問(wèn)控制設(shè)置 
Options Indexes MultiViews 
AllowOverride AuthConfig 
Order allow,deny 
Allow from all 
 


CGI設(shè)置 

ScriptAlias /cgi-bin/ "/mnt/software/apache2/cgi-bin/" # 訪問(wèn)時(shí)可以:http://www.clusting.com/cgi-bin/ 。但是該目錄下的CGI腳本文件要加可執(zhí)行權(quán)限! 

 #設(shè)置目錄屬性 
AllowOverride None 
Options None 
Order allow,deny 
Allow from all 
 


個(gè)人主頁(yè)的設(shè)置 (public_html) 

UserDir public_html (間用戶(hù)的主頁(yè)存儲(chǔ)在用戶(hù)主目錄下的public_html目錄下 URL http://www.clusting.com/~bearzhang/file.html 將讀取 /home/bearzhang/public_html/file.html 文件) 

chmod 755 /home/bearzhang #使其它用戶(hù)能夠讀取該文件。 

UserDir /var/html (the URL http://www.clusting.com/~bearzhang/file.html 將讀取 /var/html/bearzhang/file.html) 

UserDir /var/www/*/docs (the URL http://www.clusting.com/~bearzhang/file.html 將讀取 /var/www/bearzhang/docs/file.html) 

日志的設(shè)置 

(1)錯(cuò)誤日志的設(shè)置 
ErrorLog logs/error_log #日志的保存位置 
LogLevel warn #日志的級(jí)別 

顯示的格式日下: 
[Mon Oct 10 15:54:29 2005] [error] [client 192.168.10.22] access to /download/ failed, reason: user admin not allowed access 

(2)訪問(wèn)日志設(shè)置 

日志的缺省格式有如下幾種: 
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined 
LogFormat "%h %l %u %t "%r" %>s %b" common #common為日志格式名稱(chēng) 
LogFormat "%{Referer}i -> %U" referer 
LogFormat "%{User-agent}i" agent 
CustomLog logs/access_log common 


格式中的各個(gè)參數(shù)如下: 

%h --客戶(hù)端的ip地址或主機(jī)名 

%l --The 這是由客戶(hù)端 identd 判斷的RFC 1413身份,輸出中的符號(hào) "-" 表示此處信息無(wú)效。 

%u --由HTTP認(rèn)證系統(tǒng)得到的訪問(wèn)該網(wǎng)頁(yè)的客戶(hù)名。有認(rèn)證時(shí)才有效,輸出中的符號(hào) "-" 表示此處信息無(wú)效。 

%t --服務(wù)器完成對(duì)請(qǐng)求的處理時(shí)的時(shí)間。 

"%r" --引號(hào)中是客戶(hù)發(fā)出的包含了許多有用信息的請(qǐng)求內(nèi)容。 

%>s --這個(gè)是服務(wù)器返回給客戶(hù)端的狀態(tài)碼。 

%b --最后這項(xiàng)是返回給客戶(hù)端的不包括響應(yīng)頭的字節(jié)數(shù)。 

"%{Referer}i" --此項(xiàng)指明了該請(qǐng)求是從被哪個(gè)網(wǎng)頁(yè)提交過(guò)來(lái)的。 

"%{User-Agent}i" --此項(xiàng)是客戶(hù)瀏覽器提供的瀏覽器識(shí)別信息。 

下面是一段訪問(wèn)日志的實(shí)例: 
192.168.10.22 - bearzhang [10/Oct/2005:16:53:06 +0800] "GET /download/ HTTP/1.1" 200 1228 
192.168.10.22 - - [10/Oct/2005:16:53:06 +0800] "GET /icons/blank.gif HTTP/1.1" 304 - 
192.168.10.22 - - [10/Oct/2005:16:53:06 +0800] "GET /icons/back.gif HTTP/1.1" 304 - 

各參數(shù)的詳細(xì)解釋?zhuān)?qǐng)參閱:http://www.clusting.com/Apache/ApacheManual/logs.html 


用戶(hù)認(rèn)證的配置 
(1)in the httpd.conf: 
AccessFileName .htaccess 
......... 
Alias /download/ "/var/www/download/" 
 
Options Indexes 
AllowOverride AuthConfig 
 
(2) create a password file: 
/usr/local/apache2/bin/htpasswd -c /var/httpuser/passwords bearzhang 

(3)onfigure the server to request a password and tell the server which users are allowed access. 
vi /var/www/download/.htaccess: 
AuthType Basic 
AuthName "Restricted Files" 
AuthUserFile /var/httpuser/passwords 
Require user bearzhang 
#Require valid-user #all valid user 

虛擬主機(jī)的配置 
(1)基于IP地址的虛擬主機(jī)配置 
Listen 80 
 
DocumentRoot /www/example1 
ServerName www.example1.com 
 
 
DocumentRoot /www/example2 
ServerName www.example2.org 
 


(2) 基于IP和多端口的虛擬主機(jī)配置 
Listen 172.20.30.40:80 
Listen 172.20.30.40:8080 
Listen 172.20.30.50:80 
Listen 172.20.30.50:8080 

 
DocumentRoot /www/example1-80 
ServerName www.example1.com 
 

 
DocumentRoot /www/example1-8080 
ServerName www.example1.com 
 

 
DocumentRoot /www/example2-80 
ServerName www.example1.org 
 

 
DocumentRoot /www/example2-8080 
ServerName www.example2.org 
 

(3)單個(gè)IP地址的服務(wù)器上基于域名的虛擬主機(jī)配置: 
# Ensure that Apache listens on port 80 
Listen 80 

# Listen for virtual host requests on all IP addresses 
NameVirtualHost *:80 

 
DocumentRoot /www/example1 
ServerName www.example1.com 
ServerAlias example1.com. *.example1.com 
# Other directives here 
 

 
DocumentRoot /www/example2 
ServerName www.example2.org 
# Other directives here 
 

(4)在多個(gè)IP地址的服務(wù)器上配置基于域名的虛擬主機(jī): 
Listen 80 

# This is the "main" server running on 172.20.30.40 
ServerName server.domain.com 
DocumentRoot /www/mainserver 

# This is the other address 
NameVirtualHost 172.20.30.50 

 
DocumentRoot /www/example1 
ServerName www.example1.com 
# Other directives here ... 
 

 
DocumentRoot /www/example2 
ServerName www.example2.org 
# Other directives here ... 
 

(5)在不同的端口上運(yùn)行不同的站點(diǎn)(基于多端口的服務(wù)器上配置基于域名的虛擬主機(jī)): 
Listen 80 
Listen 8080 

NameVirtualHost 172.20.30.40:80 
NameVirtualHost 172.20.30.40:8080 

 
ServerName www.example1.com 
DocumentRoot /www/domain-80 
 

 
ServerName www.example1.com 
DocumentRoot /www/domain-8080 
 

 
ServerName www.example2.org 
DocumentRoot /www/otherdomain-80 
 

 
ServerName www.example2.org 
DocumentRoot /www/otherdomain-8080 
 

(6)基于域名和基于IP的混合虛擬主機(jī)的配置: 
Listen 80 

NameVirtualHost 172.20.30.40 

 
DocumentRoot /www/example1 
ServerName www.example1.com 
 

 
DocumentRoot /www/example2 
ServerName www.example2.org 
 

 
DocumentRoot /www/example3 
ServerName www.example3.net 
 



SSL加密的配置 

首先在配置之前先來(lái)了解一些基本概念: 

證書(shū)的概念:首先要有一個(gè)根證書(shū),然后用根證書(shū)來(lái)簽發(fā)服務(wù)器證書(shū)和客戶(hù)證書(shū),一般理解:服務(wù)器證書(shū)和客戶(hù)證書(shū)是平級(jí)關(guān)系。SSL必須安裝服務(wù)器證書(shū)來(lái)認(rèn)證。 因此:在此環(huán)境中,至少必須有三個(gè)證書(shū):根證書(shū),服務(wù)器證書(shū),客戶(hù)端證書(shū)。 在生成證書(shū)之前,一般會(huì)有一個(gè)私鑰,同時(shí)用私鑰生成證書(shū)請(qǐng)求,再利用證書(shū)服務(wù)器的根證來(lái)簽發(fā)證書(shū)。 

SSL所使用的證書(shū)可以自己生成,也可以通過(guò)一個(gè)商業(yè)性CA(如Verisign 或 Thawte)簽署證書(shū)。 

簽發(fā)證書(shū)的問(wèn)題:如果使用的是商業(yè)證書(shū),具體的簽署方法請(qǐng)查看相關(guān)銷(xiāo)售商的說(shuō)明;如果是知己簽發(fā)的證書(shū),可以使用openssl自帶的CA.sh腳本工具。 

如果不為單獨(dú)的客戶(hù)端簽發(fā)證書(shū),客戶(hù)端證書(shū)可以不用生成,客戶(hù)端與服務(wù)器端使用相同的證書(shū)。 
(1) conf/ssl.conf 配置文件中的主要參數(shù)配置如下: 

Listen 443 
SSLPassPhraseDialog buildin 
#SSLPassPhraseDialog exec:/path/to/program 
SSLSessionCache dbm:/usr/local/apache2/logs/ssl_scache 
SSLSessionCacheTimeout 300 
SSLMutex file:/usr/local/apache2/logs/ssl_mutex 

 

# General setup for the virtual host 
DocumentRoot "/usr/local/apache2/htdocs" 
ServerName www.example.com:443 
ServerAdmin you@example.com 
ErrorLog /usr/local/apache2/logs/error_log 
TransferLog /usr/local/apache2/logs/access_log 

SSLEngine on 
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL 

SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt 
SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key 
CustomLog /usr/local/apache2/logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b" 

 

(2) 創(chuàng)建和使用自簽署的證書(shū): 
a.Create a RSA private key for your Apache server 
/usr/local/openssl/bin/openssl genrsa -des3 -out /usr/local/apache2/conf/ssl.key/server.key 1024 

b. Create a Certificate Signing Request (CSR) 
/usr/local/openssl/bin/openssl req -new -key /usr/local/apache2/conf/ssl.key/server.key -out /usr/local/apache2/conf/ssl.key/server.csr 

c. Create a self-signed CA Certificate (X509 structure) with the RSA key of the CA 
/usr/local/openssl/bin/openssl req -x509 -days 365 -key /usr/local/apache2/conf/ssl.key/server.key -in /usr/local/apache2/conf/ssl.key/server.csr -out /usr/local/apache2/conf/ssl.crt/server.crt 

/usr/local/openssl/bin/openssl genrsa 1024 -out server.key 
/usr/local/openssl/bin/openssl req -new -key server.key -out server.csr 
/usr/local/openssl/bin/openssl req -x509 -days 365 -key server.key -in server.csr -out server.crt 

(3) 創(chuàng)建自己的CA(認(rèn)證證書(shū)),并使用該CA來(lái)簽署服務(wù)器的證書(shū)。 
mkdir /CA 
cd /CA 
cp openssl-0.9.7g/apps/CA.sh /CA 
./CA.sh -newca 
openssl genrsa -des3 -out server.key 1024 
openssl req -new -key server.key -out server.csr 
cp server.csr newreq.pem 
./CA.sh -sign 

cp newcert.pem /usr/local/apache2/conf/ssl.crt/server.crt
cp server.key /usr/local/apache2/conf/ssl.key/

上述內(nèi)容就是怎樣進(jìn)行Apache的配置,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


文章名稱(chēng):怎樣進(jìn)行Apache的配置
地址分享:
http://weahome.cn/article/pocsps.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部