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

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux系统web站点设置-http基础设置

發(fā)布時(shí)間:2023/12/18 linux 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux系统web站点设置-http基础设置 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、httpd2.2的組成:

????/etc/httpd:服務(wù)器的根目錄

????????conf/httpd.conf,conf.d/*:配置文件

????????conf/magic:MIME的配置文件

????????logs:日志文件的存放路徑,符號(hào)鏈接/var/log/httpd

????????modules:動(dòng)態(tài)模塊文件的存放路徑,符號(hào)鏈接/usr/lib64/httpd/modules

????????run:httpd主進(jìn)程pid的存放路徑,符號(hào)鏈接/usr/run/httpd

?

????httpd的主配置文件:/etc/httpd/conf/httpd.conf

????????在此配置文件中,所有的配置項(xiàng)均被稱(chēng)為指令(Directive)

????????????指令的格式:Directive Value

????

????在主配置文件中,所有的指令都被分組到三個(gè)配置段中: ? ?????

????????### Section 1: Global Environment

????????### Section 2: 'Main' server configuration

????????### Section 3: Virtual Hosts

?

二、常用的配置指令:

????Section 1: Global Environment:全局配置段

????1.Listen Directive

????? ? 定義服務(wù)器監(jiān)聽(tīng)的有效套接字

????????格式:Listen [IPADDR:]port [protocol]

????????????注意:

????????????????1.在各配置文件中,Listen指令可以出現(xiàn)多次,用于定義不同的監(jiān)聽(tīng)套接字

????????????????2.Listen指令不能省略,否則服務(wù)器無(wú)法啟動(dòng)

????????????????3.如果省略IP地址,將會(huì)監(jiān)聽(tīng)當(dāng)前服務(wù)器所有被正確配置并生效的IP地址

????????????????4.在httpd2.2中,如果更改Listen中IP地址信息,則必須重啟httpd進(jìn)程才能生效,僅僅reload不能生效

?

????2.KeepAlive Directive

????????開(kāi)啟或關(guān)閉HTTP協(xié)議的長(zhǎng)鏈接功能

????????格式:KeepAlive On|Off

?

????????KeepAliveTimeout Directive????

????????服務(wù)器在一個(gè)長(zhǎng)鏈接上能夠達(dá)到的子回話(huà)請(qǐng)求的最大時(shí)間間隔;默認(rèn)的時(shí)間單位為秒

????????格式:KeepAliveTimeout number

?

????????MaxKeepAliveRequests Directive

????????一個(gè)長(zhǎng)鏈接上所能夠接受的最大的用戶(hù)請(qǐng)求數(shù)量,默認(rèn)是100個(gè)

????????格式:MaxKeepAliveRequests number

????????

????????以上三條指令是與長(zhǎng)鏈接相關(guān)的指令,長(zhǎng)鏈接的斷開(kāi)條件:

????????????時(shí)間限制、請(qǐng)求數(shù)量限制

?

? ? ? ? 使用Telnet測(cè)試長(zhǎng)鏈接:?

????????????設(shè)置KeepAlive On?,重載httpd服務(wù),默認(rèn)?KeepAliveTimeout的值為15

????????????

?

????3.MPM相關(guān)指令:

????????MPM:多道處理模塊;

????????httpd-2.2的MPM不支持DSO機(jī)制,且event為測(cè)試模式 ? ? ?????????

????/usr/sbin/httpd

????/usr/sbin/httpd.event

????/usr/sbin/httpd.worker

?

????????通過(guò)修改/etc/sysconfig/httpd文件來(lái)完成MPM功能切換;

????HTTPD=/usr/sbin/httpd.worker

????? ? 每次更換MPM模塊,都需要重啟httpd服務(wù)后才能生效,/etc/sysconfig/httpd是服務(wù)啟動(dòng)腳本/etc/init.d/httpd的配置文件;

????????????查看httpd或httpd.worker程序的模塊列表:

????????httpd -M

????????httpd.worker -M

?

????????????查看httpd或httpd.worker程序的靜態(tài)編譯模塊列表

????????????????httpd -l

????????????????httpd.worker -l

????????

????????與prefoik模塊相關(guān)的配置指令: ? ??

????????????<IfModule prefork.c>

????????????StartServers ? ? ? 8

????????????????//在服務(wù)主進(jìn)程啟動(dòng)之后,預(yù)先f(wàn)ork多少子進(jìn)程

????????????MinSpareServers ? ?5

????????????????//最少預(yù)留的空閑子進(jìn)程的數(shù)量

????????????MaxSpareServers ? 20

????????????????//最多預(yù)留的空閑子進(jìn)程的數(shù)量

????????????ServerLimit ? ? ?256

????????????????//為MaxClient指令定義上限

????????????MaxClients ? ? ? 256

????????????????//最多的客戶(hù)端并發(fā)訪(fǎng)問(wèn)量

????????????MaxRequestsPerChild ?4000

????????????????//每個(gè)子進(jìn)程能夠處理的客戶(hù)端請(qǐng)求的最大值

????????????</IfModule>

?

????????與worker模塊相關(guān)的配置指令 ? ????????

????????????<IfModule worker.c>

????????????StartServers ? ? ? ? 4

????????????????//在服務(wù)主進(jìn)程啟動(dòng)之后,預(yù)先f(wàn)ork多少個(gè)子進(jìn)程;

????????????MaxClients ? ? ? ? 300

????????????????//最多的客戶(hù)端并發(fā)訪(fǎng)問(wèn)量

????????????MinSpareThreads ? ? 25

????????????????//最少預(yù)留的空閑線(xiàn)程的數(shù)量

????????????MaxSpareThreads ? ? 75

????????????????//最多預(yù)留的空閑線(xiàn)程的數(shù)量

????????????ThreadsPerChild ? ? 25

? ? ? ? ? ? ? ? //每個(gè)子進(jìn)程可以管理的線(xiàn)程數(shù)量

????????????MaxRequestsPerChild ?0

????????????????//每個(gè)子進(jìn)程可以處理的客戶(hù)端請(qǐng)求的最大值

????????????</IfModule>

????

????4.DSO機(jī)制:

????????鏈接動(dòng)態(tài)模塊并將其添加至活動(dòng)模塊列表

????????格式:LoadModule module filename

????????例:

????????????LoadModule auth_basic_module modules/mod_auth_basic.so

????????modules是相對(duì)于ServerRoot指令定義的根目錄的路徑而言的

?

????5.Include Directive

????????可以包括除了主配置文件之外的其他服務(wù)配置文件;支持Globbing

????????格式:Include file-path | directory-path | wildcard

????????示例:

????????????Inlude conf.d/*.conf

?

????6.User Directive

????????指定啟動(dòng)子進(jìn)程的用戶(hù)ID和組ID

????????格式:User User-Id

? ? ? ? ? ? Group Group-Id

?

????Section 2:?'Main' server configuration,定義了默認(rèn)的web站點(diǎn)的基本屬性

? ? 7.ServerAdmin Directive

????????定義了發(fā)送錯(cuò)誤信息的郵箱地址;

????????格式:ServerAdmin email-address|URL

?

????????ServerName Directive

????????服務(wù)器做自我標(biāo)識(shí)時(shí)使用的主機(jī)名和端口號(hào)的組合;

????????格式:ServerName [scheme://]domain-name|ip-address[:port]

?

????????DocumentRoot Directive

????????為web站點(diǎn)的資源提供路徑映射;

????????格式:DocumentRoot directory-path

????????示例:

????????????DocumentRoot "/var/www/html"

?

????8.站點(diǎn)資源訪(fǎng)問(wèn)控制資源指令

????????1)基于文件系統(tǒng)的訪(fǎng)問(wèn)控制指令 ??

????????????a.基于指定目錄的訪(fǎng)問(wèn)控制指令?????????

????????????????<Directory "/PATH/TO/SOME_DIR">

???? ????Options Directive

???? ????AllowOverride Directive

???? ????Order Directive

???? ????Allow Directive

???? ????Deny Directive

???? ????????</Directory>

?

????????????b.基于特定文件的訪(fǎng)問(wèn)控制指令 ? ?????????

????????????????<File "FILENAME">

????Directive Value

????????????????</File>

?

????????????c.基于模式匹配的方式進(jìn)行訪(fǎng)問(wèn)控制的指令 ????????????

????????????????<FilesMatch regex>

????Directive Value

????????????????</FilesMatch>

?

????????????????<DirectoryMatch regex>

????Directive Value

????????????????</DirectoryMatch>

?

????????2)基于URL的訪(fǎng)問(wèn)控制指令

? ? ? ? ? ? a.基于URL進(jìn)行訪(fǎng)問(wèn)控制:

????????????????<Location URL-path|URL>

????Directive Value

????????????????</Location>

?

????b.基于URL的模式匹配的方式進(jìn)行訪(fǎng)問(wèn)控制:

????????????????<LocationMatch regex>

????Directive Value

????????????????</LocationMatch>

? ? ? ??

????????3)指令具體內(nèi)容

????????????①Options Directive

????????????????指定的目錄中激活web訪(fǎng)問(wèn)控制相關(guān)特性;

????????????????格式:Options [+|-]option [[+|-]option] ...

????????????????取值可以是:None, All, Indexes, Includes, FollowSymLinks, SymLinksifOwnerMatch, ExecCGI, MultiViews...

????Indexes:啟用DocumentRoot的索引特性;當(dāng)web站點(diǎn)沒(méi)有定義符合要求的主頁(yè)或者主頁(yè)不存在時(shí),在瀏覽器上允許以索引的方式列表顯示整個(gè)DocumentRoot中所有的資源給用戶(hù)選擇;一般用于資源下載站點(diǎn);對(duì)于正常的web站點(diǎn)來(lái)說(shuō),應(yīng)禁用此功能;

????FollowSymLinks:跟蹤符號(hào)鏈接并找到被鏈接的文件,并可以在客戶(hù)端瀏覽器中打開(kāi);

????SymLinksifOwnerMatch:只有處理客戶(hù)端請(qǐng)求的子進(jìn)程的所有者與符號(hào)鏈接文件的所有者為同一用戶(hù)時(shí),才跟蹤符號(hào)鏈接;

????

????????????②AllowOverride Directive

????????????????控制被允許放置于.htaccess文件中的指令是否生效;

????????????????格式:AllowOverride All|None|directive-type [directive-type]

????????????????httpd允許在web站點(diǎn)的文檔根目錄中以及各級(jí)子目錄中使用.htaccess文件進(jìn)行資源的訪(fǎng)問(wèn)控制;凡是放置于.htaccess文件中的指令,有繼承的特性;如果每次執(zhí)行指令都要讀取該文件進(jìn)行比對(duì),則運(yùn)行效率會(huì)下降,所以通常建議該指令的值設(shè)置為"None";

?

????③Order Directive

????????????????定義基于IP地址的訪(fǎng)問(wèn)控制管理的順序;

????????????????a.配置順序:

????根據(jù)指定的Allow和Deny的順序來(lái)執(zhí)行;

????????????????b.范圍順序:

????匹配范圍越小的,越優(yōu)先執(zhí)行;

????????????????格式:Order ordering

????ordering可以包含兩種通用順序:

????????????????????Allow, Deny:

????????????????????????????先計(jì)算Allow指令的匹配,如果能夠匹配任意規(guī)則,則允許;

????????????????????????????再計(jì)算Deny指令的匹配,如果能夠匹配任意規(guī)則,則阻止;

????????????????????????????如果沒(méi)有匹配,則默認(rèn)阻止所有;

????????????????????Deny, Allow:

????先計(jì)算Deny指令的匹配,如果能夠匹配任意規(guī)則,則阻止;

????再計(jì)算Allow指令的匹配,如果能夠匹配任意規(guī)則,則允許;

????如果沒(méi)有匹配,則默認(rèn)允許所有;

?

????④Deny Directive

????????????????控制阻止訪(fǎng)問(wèn)服務(wù)器的客戶(hù)端主機(jī);

????????????????格式:Deny from all|host|env=[!]env-variable [host|env=[!]env-variable] ...

?

????? Allow Directive

????????????????控制允許訪(fǎng)問(wèn)服務(wù)器的客戶(hù)端主機(jī);

????????????????格式:Allow from all|host|env=[!]env-variable [host|env=[!]env-variable] ...

????host可以寫(xiě)成:

????????????????????????域名或FQDN:example.net www.abc.com

????????????????????????單個(gè)IP:172.16.0.1

????????????????????????邏輯網(wǎng)段:172.16 172.16.0.0/16 172.16.0.0/255.255.0.0

?

????示例:

????????Order allow,deny

????????????????????????Allow from all

????????????????????????????//允許所有客戶(hù)端主機(jī)訪(fǎng)問(wèn)當(dāng)前服務(wù)器的web站點(diǎn)服務(wù);

?

????????????????????????Order deny,allow

????????????????????????Deny from 172.16.0.1

????//僅阻止IP地址為172.16.0.1的主機(jī)訪(fǎng)問(wèn)當(dāng)我服務(wù)器的web站點(diǎn)服務(wù);

????????

????9.DirectoryIndex Directive

????????為當(dāng)前web站點(diǎn)指定默認(rèn)的主頁(yè)文件名稱(chēng);

????????格式:DirectoryIndex disabled | local-url [local-url] ...

?

????????注意:

????1) DirectoryIndex指令之后可以設(shè)置多個(gè)本地URL作為主頁(yè)文件名稱(chēng);按照順序從前到后進(jìn)行名稱(chēng)匹配,如果能夠匹配成功,就將該資源當(dāng)作本站點(diǎn)的主頁(yè)文檔;如果沒(méi)有匹配成功,且Options指令中也沒(méi)有定義Indexes特性,則web服務(wù)器阻止本次請(qǐng)求;

????2) 如果請(qǐng)求資源時(shí)明確的給出URL,則DirectoryIndex指令的值無(wú)任何意義;

????

????10.日志相關(guān)指令

????????ErrorLog Directive

????標(biāo)明錯(cuò)誤信息的日志記錄的位置(文件路徑)

????????格式:ErrorLog file-path|syslog[:[facility][:tag]]

?

????????示例:

????ErrorLog logs/error_log

?

????????LogLevel Directive

????????????控制錯(cuò)誤日志記錄的詳細(xì)程度;

????????????格式:LogLevel [module:]level [module:level] ...

????level包括:emerg、alert、crit、error、warn、notice、info、debug

?

????注意:

????????1) 日志記錄等級(jí)越高,在錯(cuò)誤日志中記錄的信息就會(huì)越少;

????????2) 選擇的日志記錄等級(jí),有向上兼容的特性;

?

????????CustomLog Directive

????標(biāo)明記錄訪(fǎng)問(wèn)日志的文件的路徑及日志記錄的格式;

????????????格式:CustomLog file format

?

????????示例:

????CustomLog logs/access_log combined

?????

????????LogFormat Directive

????功能:描述了在訪(fǎng)問(wèn)日志中記錄信息的特定格式;

????格式:LogFormat format|nickname [nickname]

????????????????常用的format:

????%h:遠(yuǎn)程主機(jī)名稱(chēng);如果HostnameLookups的值設(shè)置為Off,則記錄遠(yuǎn)程主機(jī)的IP地址;

????%l:遠(yuǎn)程登錄名稱(chēng);如果沒(méi)有登錄名,就在日志中記錄為"-";

????%u:遠(yuǎn)程用戶(hù)名稱(chēng);記錄通過(guò)身份驗(yàn)證之后訪(fǎng)問(wèn)資源的用戶(hù)名稱(chēng);

????%t:收到客戶(hù)端請(qǐng)求的時(shí)候的服務(wù)器的時(shí)間戳;[18/Sep/2011:19:18:28 -0400]

????\"%r\":請(qǐng)求報(bào)文首部的首行;

????????????????????????"GET /index.html HTTP/1.1"

????%>s:請(qǐng)求報(bào)文的狀態(tài)信息;

????%b:以字節(jié)為單位的響應(yīng)報(bào)文的長(zhǎng)度;

????\"%{Referer}i\":訪(fǎng)問(wèn)此頁(yè)面之前通過(guò)哪個(gè)超鏈接跳轉(zhuǎn)而來(lái);使用"{}"引用的內(nèi)容是報(bào)文首部中的首部名稱(chēng);

????\"%{User-Agent}i\":客戶(hù)端使用的http應(yīng)用程序及相關(guān)信息;

?

????????????????示例:

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

????????????????????LogFormat "%h %l %u %t \"%r\" %>s %b" common

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

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

?

? ? ? ? ? ? ? ? 四種格式,默認(rèn)選擇combined

????????????????????CustomLog logs/access_log combined

?

????11.定義路徑別名的指令:

????????Alias Directive

????????????將指定的URL映射至本地的文件系統(tǒng)路徑;

????????????格式:Alias URL-path file-path|directory-path

????????示例:????

????????????Alias /icons/ "/var/www/icons/"

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

? ????????????? Options Indexes MultiViews FollowSymLinks

? ? ????????????AllowOverride None

? ? ????????????Order allow,deny

? ????????????? Allow from all

????????????</Directory>

?

????????AliasMatch Directive

????????????使用正則表達(dá)式將URL映射至本地的文件系統(tǒng)路徑;

????????????格式:AliasMatch regex file-path|directory-path

????????示例:

????AliasMatch ^/exam(.*)?$ "/tmp/exam$1"

????<Directory "/tmp/exam/">

????????????????Options None

????????????????AllowOverride None

????????????????Order allow,deny

????????????????Allow from all

????</Directory>

?

????12.服務(wù)器系統(tǒng)狀態(tài)數(shù)據(jù)查詢(xún):

????????前提:LoadModule status_module modules/mod_status.so

????????<Location /server-status>

????SetHandler server-status

????Order deny,allow

????Deny from all

????Allow from 172.16

????????</Location>

?

????????ExtendedStatus On|Off:開(kāi)啟或關(guān)閉更多的額外狀態(tài)信息展示;

?

三、虛擬主機(jī)配置段:

????### Section 3: Virtual Hosts

????<VirtualHost> Directive

????啟動(dòng)并配置虛擬主機(jī)及相關(guān)參數(shù);

????????格式:

????<VirtualHost addr[:port] [addr[:port]] ...>

????????????????Directive Value

????</VirtualHost>

?

????使用虛擬主機(jī):默認(rèn)一個(gè)httpd僅能構(gòu)建一個(gè)web站點(diǎn),因此很多的情況下,我們需要在同一臺(tái)服務(wù)器上架構(gòu)多個(gè)web站點(diǎn),此時(shí)則需要使用虛擬主機(jī)來(lái)定義。如果啟用了虛擬主機(jī),每個(gè)獨(dú)立的Web站點(diǎn)都必須要有至少一個(gè)獨(dú)立的主機(jī)標(biāo)識(shí):

????IP地址 + Port + 主機(jī)頭(請(qǐng)求報(bào)文首部中的Host首部的值,通常為FQDN)

?

????三種典型的虛擬主機(jī)實(shí)現(xiàn)方式:

????????1) 基于IP地址構(gòu)建的虛擬主機(jī);

????????2) 基于Port構(gòu)建的虛擬主機(jī);

????????3) 基于主機(jī)頭構(gòu)建的虛擬主機(jī);

????????注意:Main Server和Virtual Host不能同時(shí)被定義;而且一旦虛擬主機(jī)配置被激活,Main Server就不再有效;

?

????常用指令:

????NameVirtualHost Directive

????????功能:在使用基于主機(jī)頭構(gòu)建虛擬主機(jī)時(shí),指定虛擬主機(jī)名稱(chēng);

????????格式:NameVirtualHost addr[:port]

?

????????配置示例:

????/etc/httpd/conf/httpd.conf中添加如下指令:

1 2 Listen172.16.88.99:8000 NameVirtualHost?172.16.88.99:80

?

????/etc/httpd/conf.d/vhost1.conf的內(nèi)容如下:

?

1 2 3 4 5 6 7 8 9 10 <VirtualHost?192.168.109.2:80> ????ServerNamewww.ppp213.com ????DocumentRoot"/myvhost/vhost1/" ????<Directory?"/myvhost/vhost1"> ????????Options?None ????????AllowOverride?None ????????Order?allow,deny ????????Allow?from?all ????</Directory> </VirtualHost>

?

????/etc/httpd/conf.d/vhost2.conf的內(nèi)容如下

?

1 2 3 4 5 6 7 8 9 10 <VirtualHost?192.168.109.20:8080> ????ServerNamewww.ppp213.cn ????DocumentRoot"/myvhost/vhost2/" ????<Directory?"/myvhost/vhost2/"> ????????Options?None ????????AllowOverride?None ????????Order?allow,deny ????????Allow?from?all ????</Directory> </VirtualHost>

?

????/etc/httpd/conf.d/vhost3.conf的內(nèi)容如下

1 2 3 4 5 6 7 8 9 10 <VirtualHost?192.168.109.20:80> ????ServerName?www.ppp213.org ????DocumentRoot?"/myvhost/vhost3/" ????<Directory?"/myvhost/vhost3/"> ????Options?None ????AllowOverride?None ????Order?allow,deny ????Allow?from?all ????</Directory> </VirtualHost>

?

????????為主機(jī)添加新的ip地址 192.168.109.20:

1 ip?add?add?192.168.109.20/16?dev?eth0?label?eth0:0

????

????????分別創(chuàng)建/myvhost/vhost1,/myvhost/vhost2,/myvhost/vhost3,并再其下創(chuàng)建index.html,重新載入httpd服務(wù)后,分別訪(fǎng)問(wèn)192.168.109.2、192.168.109.20、192.168.109.20:8080

????????

????? ??

????????

轉(zhuǎn)載于:https://www.cnblogs.com/noxy/p/8989240.html

總結(jié)

以上是生活随笔為你收集整理的linux系统web站点设置-http基础设置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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