日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

apache-详细配置文件介绍+多种方式虚拟主机配置

發(fā)布時(shí)間:2025/1/21 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 apache-详细配置文件介绍+多种方式虚拟主机配置 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

grep -v "#" /etc/httpd/conf/httpd.conf



ServerTokens OS ? ?返回Server :Apache/2.0.41(unix)

servertokens 指令?

說明:配置HTTP服務(wù)器回應(yīng)頭,此指令控制了server回送給客戶端的回應(yīng)頭域是否包含關(guān)于服務(wù)器OS類型和編譯的模塊描述信息

語法:

servertokens ?major|minor|minimal|productonly|os|full


apache 啟動(dòng)后有9個(gè)進(jìn)程,一個(gè)主進(jìn)程 8個(gè)子進(jìn)程主進(jìn)程以root身份運(yùn)行 進(jìn)程ID在httpd.pid里 ?子進(jìn)程以Apache進(jìn)程運(yùn)行,子進(jìn)程是主進(jìn)程產(chǎn)生的,


Apache ?DSO

Apache是一個(gè)模塊化設(shè)計(jì)的服務(wù),核心只包含主要功能,擴(kuò)展能通過模塊實(shí)現(xiàn),不同模塊可以被靜態(tài)編譯進(jìn)程序,也可以動(dòng)態(tài)加載


查看模塊 httpd -M

查看靜態(tài)編譯的程序的模塊 ?httpd -l

如果加新的功能就需要重新編譯,但是DSO不需要,可以通過Apache自帶的apxs


apache MPM(multi process modules)


mpm負(fù)責(zé)實(shí)現(xiàn)網(wǎng)絡(luò)監(jiān)聽,請(qǐng)求處理等功能,mpm有很多種,目的是為了在不同平臺(tái)環(huán)境實(shí)現(xiàn)最優(yōu)化的性能及穩(wěn)性。

通過以下命令可以看出Apache所使用的MPM

httpd -l

httpd ?-V ? m默認(rèn)是prefork



線程與進(jìn)程的區(qū)別:

線程是指進(jìn)程內(nèi)的一個(gè)執(zhí)行單元,也是進(jìn)程內(nèi)的可調(diào)度實(shí)體.

與進(jìn)程的區(qū)別:

(1)地址空間:進(jìn)程內(nèi)的一個(gè)執(zhí)行單元;進(jìn)程至少有一個(gè)線程;它們共享進(jìn)程的地址空間;而進(jìn)程有自己獨(dú)立的地址空間;

(2)資源擁有:進(jìn)程是資源分配和擁有的單位,同一個(gè)進(jìn)程內(nèi)的線程共享進(jìn)程的資源

(3)線程是處理器調(diào)度的基本單位,但進(jìn)程不是.

4)二者均可并發(fā)執(zhí)行.


進(jìn)程和線程都是由操作系統(tǒng)所體會(huì)的程序運(yùn)行的基本單元,系統(tǒng)利用該基本單元實(shí)現(xiàn)系統(tǒng)對(duì)應(yīng)用的并發(fā)性。

進(jìn)程和線程的區(qū)別在于:


簡而言之,一個(gè)程序至少有一個(gè)進(jìn)程,一個(gè)進(jìn)程至少有一個(gè)線程.?

線程的劃分尺度小于進(jìn)程,使得多線程程序的并發(fā)性高。?

另外,進(jìn)程在執(zhí)行過程中擁有獨(dú)立的內(nèi)存單元,而多個(gè)線程共享內(nèi)存,從而極大地提高了程序的運(yùn)行效率。?

線程在執(zhí)行過程中與進(jìn)程還是有區(qū)別的。每個(gè)獨(dú)立的線程有一個(gè)程序運(yùn)行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨(dú)立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個(gè)線程執(zhí)行控制。

?從邏輯角度來看,多線程的意義在于一個(gè)應(yīng)用程序中,有多個(gè)執(zhí)行部分可以同時(shí)執(zhí)行。但操作系統(tǒng)并沒有將多個(gè)線程看做多個(gè)獨(dú)立的應(yīng)用,來實(shí)現(xiàn)進(jìn)程的調(diào)度和管理以及資源分配。這就是進(jìn)程和線程的重要區(qū)別。

進(jìn)程是具有一定獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位.?

線程是進(jìn)程的一個(gè)實(shí)體,是CPU調(diào)度和分派的基本單位,它是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位.線程自己基本上不擁有系統(tǒng)資源,只擁有一點(diǎn)


在運(yùn)行中必不可少的資源(如程序計(jì)數(shù)器,一組寄存器和棧),但是它可與同屬一個(gè)進(jìn)程的其他的線程共享進(jìn)程所擁有的全部資源.?

一個(gè)線程可以創(chuàng)建和撤銷另一個(gè)線程;同一個(gè)進(jìn)程中的多個(gè)線程之間可以并發(fā)執(zhí)行.




prefork 與worker


prefork: prefork是非線程的,預(yù)生成進(jìn)程型的MPM,使用多子進(jìn)程,每個(gè)子進(jìn)程只有一個(gè)線程,每個(gè)進(jìn)程在某個(gè)時(shí)間只能維持一個(gè)連接,效率高,但內(nèi)存占用量較大。。它適合于沒有線程安全庫,需要避免線程兼容性問題的系統(tǒng)


worker:是線程化多進(jìn)程的MPM,每個(gè)子進(jìn)程可以生成多個(gè)線程,每個(gè)線程處理一個(gè)請(qǐng)求。內(nèi)存占用率小,適用于流量搞得http服務(wù)器。缺點(diǎn),假如一個(gè)線程崩潰,整個(gè)進(jìn)程連同其他任何其中線程一起死掉



Apache 中prefork的最大進(jìn)程數(shù)是 在prefork的配置中

?

Apache三個(gè)配置

1 global 1 environment

2 main configuration

3 virtual host


first one class ?1 ?

全局配置影響整個(gè)Apache


ServerTokens OS ? ?返回Server的信息 :Apache/2.0.41(unix)

ServerRoot ? ? ? ? "/etc/httpd" ? 服務(wù)的主目錄 ? 不能更改,也即是安裝目錄

pidfile ?run/httpd.pid ? ?主進(jìn)程id的號(hào)

timeout ? 連接時(shí)間。


keepalived ?off 是否開啟TCP連接請(qǐng)求(是否開啟持久連接功能,即客戶端練到服務(wù)器下載數(shù)據(jù)完成后任然保持連接狀態(tài)) ? 開啟效率較好,默認(rèn)關(guān)閉

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

KeepAliveTimeout 15 ? 一個(gè)TCP連接兩次請(qǐng)求時(shí)間的間,即連續(xù)連接多長時(shí)間



LISTEN 80 ?監(jiān)聽端口號(hào),以及在那個(gè)ip上監(jiān)聽80端口

DSO


include ? conf.d/*.conf ?模塊加載路徑

user

group ?Apache ?指定Apache是以什么身份運(yùn)行子進(jìn)程

second ? class ?2?


Apache缺省服務(wù)目錄主配置

serveradmin ?管理員郵件地址

servername 服務(wù)器域名,也就是網(wǎng)站的域名

UseCanonicalName Off ? 是否嚴(yán)格使用合格域名 ? 如果使用虛擬主機(jī),一定要關(guān)閉

DocumentRoot "/var/www/html" ?根目錄 ?主站點(diǎn)目錄


<Directory ?/var/www/html> ? 主站點(diǎn)目錄訪問控制 ?,缺省配置

? ? Options FollowSymLinks

? ? AllowOverride None

? ? Order?allow,deny

? ? ?Allow?from?all

</Directory>


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

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

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

Indexes:?當(dāng)用戶訪問該目錄時(shí),如果用戶找不到DirectoryIndex指定的主頁文件(例如index.html),則返回該目錄下的文件列表給用戶。 一般不建議使用?

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

AllowOverride ?None:允許存在于.htaccess文件中的指令類型(.htaccess文件名是可以改變的,其文件名由AccessFileName指令決定)

None:?當(dāng)AllowOverride被設(shè)置為None時(shí)。不搜索該目錄下的.htaccess文件(可以減小服務(wù)器開銷)

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

Deny:拒絕訪問的主機(jī)列表


Apache的MPM優(yōu)化


# prefork MPM

?

<IfModule prefork.c>

StartServers ? ? ? 8 ? ? 啟動(dòng)Apache時(shí)候啟動(dòng)的httpd進(jìn)程個(gè)數(shù)

MinSpareServers ? ?5 ? ? 最小空閑的進(jìn)程數(shù)

MaxSpareServers ? 20 ? ? 最大空閑的進(jìn)程數(shù)

ServerLimit ? ? ?256 ? ??

MaxClients ? ? ? 256 ? ?最大允許連接數(shù),即最大并發(fā)數(shù),最大限值由serverlimit 控制

MaxRequestsPerChild ?4000 子進(jìn)程最大請(qǐng)求數(shù),0表示不限制,推薦位1000

</IfModule>


#worker MPM

?

<IfModule worker.c>

StartServers ? ? ? ? 4 ? 啟動(dòng)Apache時(shí)候啟動(dòng)的httpd的個(gè)數(shù)

MaxClients ? ? ? ? 300 ? 最大并發(fā)連接數(shù)

MinSpareThreads ? ? 25 ? 最小空閑線程數(shù)

MaxSpareThreads ? ? 75 ? 最大空閑線程數(shù)

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

MaxRequestsPerChild ?0 ? 每個(gè)子進(jìn)程被請(qǐng)求的最大次數(shù)

</IfModule>



別名設(shè)置

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

Alias /error/ "/var/www/error/" ? ?訪問時(shí)候可以輸入 ?、HTTP://www.node.com/error


<IfModule mod_negotiation.c>

<IfModule mod_include.c>

? ? <Directory "/var/www/error">

? ? ? ? AllowOverride None

? ? ? ? Options IncludesNoExec?

? ? ? ? AddOutputFilter Includes html

? ? ? ? AddHandler type-map var

? ? ? ? Order allow,deny

? ? ? ? Allow from all

? ? ? ? LanguagePriority en es de fr

? ? ? ? ForceLanguagePriority Prefer Fallback

? ? </Directory>



對(duì)Apache服務(wù)器的根訪問不生成目錄列表,同時(shí)指定錯(cuò)誤頁面

<locationmatch "^/$>

options-indexes

errordocument 403 /error/noindex.html

<locationmatch>

當(dāng)訪問服務(wù)器時(shí)候依次訪問頁面 index.html ?index.html.var

directoryindex ? index.html ?index.html.var

DirectoryIndex index.html index.html.var ?不指定任何首頁時(shí)候,默認(rèn)讀取的首頁


指定保護(hù)目錄配置文件的名稱

AccessFileName .htaccess ? ? ? ? ? ? ? ? ? 分布式訪問控制文件?


//指定負(fù)責(zé)處理MIME 對(duì)應(yīng)格式的配置文件的存放位置?

TypesConfig /etc/mime.types?


//指定默認(rèn)的MIME 文件類型為純文本或HTML 文件?

DefaultType text/plain?

//只記錄連接Apache 服務(wù)器的IP 地址,而不記錄主機(jī)名

?HostnameLookups Off?


訪問日志設(shè)置


ErrorLog logs/error_log ? ? 錯(cuò)誤日志的位置

?

#LogLevel: ? debug, info, notice, warn, error, crit,

?

LogLevel warn


自定義訪問日志


LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %l %u %t \"%r\" %>s %b" common ?#common為日志格式名稱

LogFormat "%{Referer}i -> %U" referer

LogFormat "%{User-agent}i" agent?


# "combinedio" includes actual counts of actual bytes received (%I) and sent (%O); this

# requires the mod_logio module to be loaded.

#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combined:io

CustomLog logs/access_log common


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

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

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

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

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

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

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

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

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

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


用戶認(rèn)證的配置




<IfModule mod_userdir.c> ? 條件化模塊判斷


如果有這個(gè)模塊,默認(rèn)將使用這個(gè)功能

UserDir disabled

#UserDir public_html

</IfModule>





<Files ~ "^\.ht"> ? ? ? ? ? ?文件訪問控制

? ? Order allow,deny

? ? Deny from all

? ? Satisfy All

</Files>



ServerSignature on ? 表示在錯(cuò)誤頁面中不顯示Apache的版本

servertokens prod ? ? 在錯(cuò)誤頁面中不顯示操作系統(tǒng)的名稱


+==========================================================================================

虛擬主機(jī)

===========================================================================================

虛擬主機(jī)(VirtualHost).通常分為這樣3種:

基于域名,基于端口,基于IP,以及它們的混合


下面是每種虛擬主機(jī)的配置過程


1.基于域名

這是一種最通用的情況,已經(jīng)給服務(wù)器設(shè)置了多個(gè)域名,然后希望訪問不同的域名來訪問不同的網(wǎng)站文件.

修改httpd.conf的配置


?Use name-based virtual hosting.

#

NameVirtualHost * ?表示在apache監(jiān)聽的所有IP和所有端口(此時(shí)只有80)上做多域名虛擬主機(jī)

<VirtualHost *>

? ? ServerAdmin xxx@xxx.com

? ? DocumentRoot /var/www/html/s1

? ? ServerName s1.domain1.com

? ? ErrorLog logs/ error_log

? ? TransferLog logs/ access_log

</VirtualHost>

?

<VirtualHost *>

? ? ServerAdmin xxx@ixxx.com

? ? DocumentRoot /var/www/html/s2

? ? ServerName ?s2.domain1.com

? ? ErrorLog logs/error_log

? ? TransferLog logs/access_log

</VirtualHost>




2.基于端口

通過訪問同一個(gè)IP(或者域名)的不同端口來訪問到不同的文件

對(duì)httpd.conf做如下修改

增加監(jiān)聽口

Listen 80

Listen 81

將之前做的多域名虛擬主機(jī)去掉(因?yàn)榇藭r(shí)是用IP加端口來訪問的),即

# Use name-based virtual hosting.

#

# NameVirtualHost * ? ?注釋掉這句話

以下是虛擬主機(jī)配置(注意下面的配置部分我并沒用ServerName字段)

<VirtualHost *:80>

? ? ServerAdmin xxx@xxx.com

? ? DocumentRoot /var/www/html/s1

? ? ErrorLog logs/error_log

? ? TransferLog logs/ access_log

</VirtualHost>

?

<VirtualHost *:81>

? ? ServerAdmin xxx@xxx.com

? ? DocumentRoot /var/www/html/s2

? ? ErrorLog logs/ error_log

? ? TransferLog logs/ access_log

</VirtualHost>

?



混合實(shí)驗(yàn)

看到這里我們就可以做一個(gè)稍微復(fù)雜的實(shí)驗(yàn),在不同的端口上做不同域名的訪問.例如

在80上訪問s1.domain1.com和s2.domain1.com

在81上訪問s3.domain2.com和s4.domain2.com當(dāng)然這樣訪問是要帶端口號(hào)的,上面因?yàn)槭?0默認(rèn)端口所以不需要寫端口號(hào)

訪問這四個(gè)域名+端口分別訪問到不同的頁面.

配置過程

首先在bind上增加兩個(gè)域名指向服務(wù)器. s3.domain2.com,s4.domain2.com,增加之后記得要重啟bind.

然后修改httpd.conf文件

增加監(jiān)聽口

Listen 80

Listen 81

虛擬主機(jī)設(shè)置

# Use name-based virtual hosting.

#

NameVirtualHost *:80

NameVirtualHost *:81

表示要在本機(jī)的所有IP的80和81上面做多域名(NameVirtualHost:即為名稱虛擬主機(jī)的意思)

<VirtualHost *:80>

? ? ServerAdmin xxx@xxx.com

? ? DocumentRoot /var/www/html/s1

? ? ServerName s1.domain1.com

? ? ErrorLog logs/ error_log

? ? TransferLog logs/ access_log

</VirtualHost>

?

<VirtualHost *:80>

? ? ServerAdmin xxx@xxx.com

? ? DocumentRoot /var/www/html/s2

? ? ServerName ?s2.domain1.com

? ? ErrorLog logs/ error_log

? ? TransferLog logs/access_log

</VirtualHost>

?

?

<VirtualHost *:81>

? ? ServerAdmin xxx@xxx.com

? ? DocumentRoot /var/www/html/s3

? ? ServerName ?s3.domain2.com

? ? ErrorLog logs/error_log

? ? TransferLog logs/access_log

</VirtualHost>

?

<VirtualHost *:81>

? ? ServerAdmin xxx@xxx.com

? ? DocumentRoot /var/www/html/s4

? ? ServerName ?s4.domain2.com

? ? ErrorLog logs/error_log

? ? TransferLog logs/access_log

</VirtualHost>

?

檢查虛擬主機(jī)設(shè)置


?

3.基于IP的虛擬主機(jī)

將不同的網(wǎng)站掛在不同的IP上,訪問不同的IP,所看到的是不同網(wǎng)站.因?yàn)橐话惴?wù)器沒那么多公網(wǎng)IP,而且大家一般都是用域名訪問的.所以這


個(gè)基本沒用.但是可以用來測試和學(xué)習(xí).

適用環(huán)境:server上沒有配置域名,只能用IP訪問.

為了實(shí)驗(yàn)效果,我們先來停掉DNS服務(wù).

首先為服務(wù)器增加一個(gè)IP,192.168.0.112

[root@server1 network-scripts]# cp ifcfg-eth0 ifcfg-eth0:0

[root@server1 network-scripts]# vi ifcfg-eth0:0

DEVICE=eth0:0 ? ? //設(shè)備名稱

ONBOOT=yes ? ? ? //隨系統(tǒng)啟動(dòng)

BOOTPROTO=static

IPADDR=192.168.0.112 //新設(shè)的IP

NETMASK=255.255.255.0

GATEWAY=192.168.0.1

激活這個(gè)設(shè)備

[root@server1 network-scripts]# ifdown eth0;ifup eth0

查看當(dāng)前ip設(shè)置

[root@server1 network-scripts]# ifconfig

eth0 ? ? ?Link encap:Ethernet ?HWaddr 00:0A:EB:XX:XX:XX?

? ? ? ? ? inet addr:192.168.0.111 ?Bcast:192.168.0.255 ?Mask:255.255.255.0

? ? ? ? ?

eth0:0 ? ?Link encap:Ethernet ?HWaddr 00:0A:EB:XX:XX:XX?

? ? ? ? ? inet addr:192.168.0.112 ?Bcast:192.168.0.255 ?Mask:255.255.255.0

? ? ? ? ?

ping這個(gè)112確實(shí)啟用成功.

這樣增加IP的工作就完成了,下面對(duì)httpd.conf做修改

# Use name-based virtual hosting.

#

#NameVirtualHost * ? 去掉基于多域名的主機(jī)

?

<VirtualHost 192.168.0.111>

? ? ServerAdmin xxx@xxx.com

? ? DocumentRoot /var/www/html/s1

# ? ?ServerName s1.domain1.com

? ? ErrorLog logs/ error_log

? ? TransferLog logs/ access_log

</VirtualHost>

?

<VirtualHost 192.168.0.112>

? ? ServerAdmin xxx@xxx.com

? ? DocumentRoot /var/www/html/s2

# ? ?ServerName ?ss2.domain1.com

? ? ErrorLog logs/ error_log

? ? TransferLog logs/ access_log

</VirtualHost>

?

注意上面紅色的部分,由于此時(shí)沒用多域名所以我將ServerName字段去掉了(在多端口的時(shí)候這樣做是可以的).但是出現(xiàn)了下面的錯(cuò)誤,可以看


到它是把IP作為域名給解析了.

"httpd.conf" 1157L, 38072C written ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

[root@server1 conf]# ../bin/httpd -S

[Mon Jul 30 14:09:06 2007] [error] (EAI 2)Name or service not known: Failed to resolve server name for 192.168.0.112 (check?


DNS) -- or specify an explicit ServerName

[Mon Jul 30 14:09:06 2007] [error] (EAI 2)Name or service not known: Failed to resolve server name for 192.168.0.111 (check?


DNS) -- or specify an explicit ServerName

VirtualHost configuration:

192.168.0.111:* ? ? ? ?bogus_host_without_reverse_dns (/usr/local/apache2/conf/httpd.conf:1065)

192.168.0.112:* ? ? ? ?bogus_host_without_reverse_dns (/usr/local/apache2/conf/httpd.conf:1074)

Syntax OK

?

下面我們將ServerName字段加上去,后面的名稱我們隨意寫

<VirtualHost 192.168.0.111>

? ? ServerAdmin hong.yao@infonaligy.com

? ? DocumentRoot /var/www/html/s1

? ? ServerName s1

? ? ErrorLog logs/dbpi_web-error_log

? ? TransferLog logs/dbpi_web-access_log

</VirtualHost>

?

<VirtualHost 192.168.0.112>

? ? ServerAdmin hong.yao@infonaligy.com

? ? DocumentRoot /var/www/html/s2

? ? ServerName s2

? ? ErrorLog logs/dbpi_web-error_log

? ? TransferLog logs/dbpi_web-access_log

</VirtualHost>

?

然后再來檢查虛擬主機(jī)配置

[root@server1 conf]# ../bin/httpd -S

VirtualHost configuration:

192.168.0.111:* ? ? ? ?s1 (/usr/local/apache2/conf/httpd.conf:1065)

192.168.0.112:* ? ? ? ?s2 (/usr/local/apache2/conf/httpd.conf:1075)

Syntax OK

在客戶機(jī)上測試訪問192.168.0.111和192.168.0.112成功.

?

個(gè)人覺得這應(yīng)該是一處bug,因?yàn)樵谶@種情況下并不需要域名訪問,采用的是完全以實(shí)際IP進(jìn)行訪問.相應(yīng)的ServerName這個(gè)字段應(yīng)該是沒有意義


的(正如多端口時(shí)我們這樣做,完全沒問題).事實(shí)也表明了我們?nèi)我馄鹈忠彩强梢酝ㄟ^的.

?

?

最后說一個(gè)Apache常常會(huì)碰到的問題

啟動(dòng)apache時(shí)會(huì)有警告

httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

還是能夠正常的啟動(dòng)和訪問,只是有這個(gè)問題.

解決:

#ServerName [url]www.example.com:80[/url] 將這句話修改如下

ServerName 192.168.0.111 當(dāng)然根據(jù)你的實(shí)際情況修改為本機(jī)的IP或者域名


轉(zhuǎn)載于:https://blog.51cto.com/douya/1546599

總結(jié)

以上是生活随笔為你收集整理的apache-详细配置文件介绍+多种方式虚拟主机配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。