91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Apache中如何配置httpd-2.2

發布時間:2022-02-18 14:13:14 來源:億速云 閱讀:137 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關Apache中如何配置httpd-2.2的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

Apache是世界使用排名第一的Web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上,由于其跨平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一,其服務名為httpd。apache有很多設置和調優 的注意事項。

Apache中如何配置httpd-2.2

1、監聽的套接字

Listen [IP:]port

此指令可以出現多次, 用于指定監聽多個不同的套接字:

Listen 80

Listen 192.168.1.116:8080

2、配置文件中使用的 keep alive

目前多數的瀏覽器都請求服務器保持持續連接,這種功能就稱為“KeepAlive”,它是HTTP1.1中的標準規格,一般是用來強化服務器的性能。在使用保持連接功能時,設置客戶一次請求連接能影響文件的最大上限,建議把默認值設為ON,以便提高訪問性能。但當使用負載均衡時,會影響負載均衡的效果,在未斷開連接之前,同義客戶端始終被定向到同一臺服務器。

KeepAlive {On|Off}

   KeepAliveTimeout 2                  #超時時間   MaxKeepAliveRequests 50       #長連接最大請求數

3、MPM

  #判定模塊是否存在       StartServers: 默認啟動的工作進程數;   #不包括主進程,主進程只是負責子進程的創建回收等       MinSpareServers: 最少空閑進程數;
       MaxSpareServers: 最大空閑進程數;
       ServerLimit: 最大活動進程數;
       MaxClients: 并發請求的最大數;   #請求連接進來不一定會活動,要小于等于serverlimit       MaxRequestsPerChild: 每個子進程在生命周期內所能夠服務的最多請求個數; prefork.c>    
       StartServers:啟動的子進程的個數
       MaxClients: 并發請求的最大數;
       MinSpareThreads:最小空閑線程數;
       MaxSpareThreads:最大空閑線程數;
       ThreadsPerChild:每個子進程可生成的線程數;
       MaxRequestsPerChild:每個子進程在生命周期內所能夠服務的最多請求個數,0表示不限定; prefork.c>

4、DSO模塊加載方式

   LoadModule module_name /path/to/module

如果使用相對路徑,則對于ServerRoot所定義的位置而言;例如:

 LoadModule php5_module /usr/lib64/httpd/modules/php5.so

讓服務重載配置文件方能生效;

httpd -M: 列出已經裝載的所有DSO及非DSO模塊
httpd -l: 列出支持使用的非DSO模塊

默認使用prefork模塊,若想使用worker,則修改腳本配置文件:

[root@localhost conf]# vim /etc/sysconfig/httpd#HTTPD=/usr/sbin/httpd.worker    #啟用此項,修改所使用的二進制程序

5、配置站點根目錄

DocumentRoot /path/to/somewhere

Apache服務器存放網頁的路徑,默認所有要求提供HTTP服務的連接,都以這個目錄為主目錄,默認為 /var/www/html。

6、配置頁面訪問屬性

  "/path/to/somewhere">       Options:        Indexes: 缺少指定的默認頁面時,允許將目錄中的所有文件以列表形式返回給用戶,危險;        FollowSymLinks: 允許跟隨符號鏈接所指向的原始文件;        None: 所有都不啟用;        All: 所有都啟用;        ExecCGI: 允許使用mod_cgi模塊執行CGI腳本;        Includes: 允許使用mod_include模塊實現服務器端包含(SSI);        MultiViews:允許使用mod_negotiation實現內容協商;        SymLinksIfOwnerMatch:在鏈接文件屬主屬組與原始文件的屬主屬組相同時,允許跟隨符號鏈接所指向的原始文件;可以配置網站目錄下的訪問屬性,使用"path">可以基于正則表達式的匹配,但是一般不建議使用,會耗費時間。類似的指令還有:"">: 配置URL訪問屬性,與相似(可以配置像內生的status頁面或者定義了別名的路徑等);"">  : 限定單個文件的訪問屬性;"">  : 相當于Location ~  ,但一般建議使用此配置進行正則匹配;

如果某要配置其屬性的URL能映射到某具體文件系統路徑,建議使用。

7、基于主機的訪問控制

"/path/to/somewhere">         Options       AllowOverride None    #AllowOverride表示以下基于ip的訪問控制是否被禁用,none表示不被禁用       Order Deny,Allow        #后面的表示默認規則       Allow       Deny

基于IP控制:

      Allow from       Deny from           IP, Network Address           172.16           172.16.0.0           172.16.0.0/16           172.16.0.0/255.255.0.0

二者都匹配或二者都無匹配項時,則以后者為準;否則,則以匹配到的為準;

8、定義默認主頁面

DirectoryIndex index.php index.html home.html default.html  #自左而右依次找

9、用戶主頁

如果期望讓每個用戶都可以創建個人站點:http://Server_IP/~Username/

 userdir disablied: 禁止 userdir public_html:public_html是用戶家目錄下的目錄名稱,所有位于此目錄中的文件均可通過前述的訪問路徑進行訪問

配置用戶主頁示例:

[root@localhost conf]# vim httpd.conf  #首先在配置文件中啟用以下選項366     #UserDir disabled367368     UserDir public_html[root@localhost httpd]# service httpd reload[root@localhost conf]# useradd feiyu[root@localhost conf]# su -  feiyu[feiyu@localhost ~]$ mkdir public_html[feiyu@localhost ~]$ cd public_html/[feiyu@localhost public_html]$ echo "hello feiyu"  > index.html

此時可以訪問了。但apache用戶沒有權限讀取文件,所以還得定義訪問權限

[feiyu@localhost ~]$ ls -ld /home/feiyu/drwx------. 6 feiyu feiyu 4096 Feb 15 20:42 /home/feiyu/[feiyu@localhost ~]$ setfacl -m u:apache:x /home/feiyu/[feiyu@localhost ~]$ getfacl /home/feiyu/getfacl: Removing leading '/' from absolute path names# file: home/feiyu/# owner: feiyu# group: feiyuuser::rwxuser:apache:--xgroup::---mask::--xother::---[feiyu@localhost ~]$ curl 192.168.1.117/~feiyu/hello feiyu

10、配置日志功能

默認日志目錄:/var/log/httpd/

access.log: 訪問日志,其需要記錄的內容需要自定義error.log: 錯誤日志

訪問日志:CustomLog “/path/to/access_log_file” Format_Name #CustomLog自定義訪問日志路徑LogFormat Format_String Format_Name

%h: 客戶端地址%l: 遠程登錄名,通常為-%u: 認證時的遠程用戶名,沒有認證時為-%t: 收到請求時的時間;%r: 請求報文的起始行;%>s: 響應狀態碼;%b: 響應報文的長度,單位為字節%{Header_Name}i: 記錄指定請求報文首部的內容(value);

詳情請參考:http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats

錯誤日志: ErrorLog

11、路徑別名

  Alias /alias/ "/path/to/somewhere/"

意味著訪問http://Server_IP/alias/時,其頁面文件來自于/path/to/somewhere這個位置; 注意:前后路徑要一致,結尾都有”/”或者都沒有

12、設定默認字符集

    AddDefaultCharset  UTF-8

定義cgi腳本路徑別名:

    CGI: Common Gateway Interface協議(執行某些文件時要以管理員的權限執行,已經很少被使用了)

13、CGI腳本路徑別名

CGI: Common Gateway Interface協議(執行某些文件時要以管理員的權限執行,已經很少被使用了)

定義cgi腳本路徑別名:

ScriptAlias /URL/ "/path/to/somewhere/"   #使用此種方法定義文件則被使用cgi協議執行或者顯式使用execcgi

14、基于用戶的訪問控制

當你的網站或者站點的某個路徑只想讓你授權的用戶訪問時,就可以使用基于用戶的訪問控制。

虛擬用戶:可以使用文件,SQL數據庫或者ldap等機制進行認證。認證類型(auth):basic: 基本認證,帳號和密碼明文發送;

digest:摘要認證,hash編程之后發送,大多瀏覽器不支持;

認證提供者(authentication provider):帳號和密碼的存放位置

授權機制(authorization):根據什么進行授權

例:基于文件,做基本認證,根據用戶和組進行授權

使用htpasswd命令生成認證庫

htpasswd:-c #第一次使用-c創建新文件,不是第一次不要使用此選項-m #用戶密碼使用MD5加密后存放-s #用戶密碼使用SHA加密后存放-p #用戶密碼不加密-d #禁用一個賬戶-e #啟用一個賬戶[root@localhost fin]# htpasswd -c -m /etc/httpd/conf/.htpasswd feiyu     #第一次需要使用-c選項創建文件New password:Re-type new password:Adding password for user feiyu[root@localhost fin]# htpasswd -m /etc/httpd/conf/.htpasswd feiyu1New password:Re-type new password:Adding password for user feiyu1

配置認證機制

"/www/htdocs/fin">       Options None       AllowOverride AuthConfig       AuthType Basic       AuthName "Private Area"   # AuthBasicProvider file                    #可以不用指,默認為文件       AuthUserFile /etc/httpd/conf/.htpasswd     #所使用的認證文件       Require valid-user      #允許文件中的所有合法賬號

訪問界面如下所示:

Apache中如何配置httpd-2.2
httpd-2.2 配置及用法完全攻略httpd-2.2 配置及用法完全攻略

基于組進行認證

先創建用戶再創建組文件:

    組文件格式:       組名: 用戶1 用戶2 用戶3   "/www/htdocs/fin">       Options None       AllowOverride AuthConfig       AuthType Basic       AuthName "Private Area"   # AuthBasicProvider file       AuthUserFile /etc/httpd/conf/.htpasswd       AuthGroupFile /etc/httpd/conf/.htgroup      #所使用的組文件       Require group GroupName    ">

15、虛擬主機

虛擬主機意即一個物理服務器提供多個站點,以前剛建站時使用的是阿里云的免費虛擬主機,我想應該就是基于此方法配置的。虛擬主機的實現方法有三種:

基于不同的IP實現不同的虛擬主機:變化IP

基于不同的port實現不同的虛擬主機:變化port

基于不同的FQDN實現不同的虛擬主機:變化ServerName的參數

配置使用虛擬主機:

(1)注釋中心主機,并啟用相關配置

[root@localhost http]# vim /etc/httpd/conf/httpd.confDocumentRoot "/var/www/html"     #注釋中心主機NameVirtualHost *:80    #使用基于域名的虛擬主機時需要啟動此項,并且下面的配置與其保持一致,在 httpd-2.4 中不需要使用

(2)基于ip的虛擬主機:

         ServerName www.feiyu1.com       DocumentRoot "/var/www/html/feiyu1"       ServerName www.feiyu2.com       DocumentRoot "/var/www/html/feiyu2"

(3)基于端口的虛擬主機:

       ServerName www.feiyu1.com       DocumentRoot "/var/www/html/feiyu1"

ServerName www.feiyu2.com DocumentRoot “/var/www/html/feiyu2” (4)基于域名的虛擬主機:

NameVirtualHost *:80       ServerName www.feiyu1.com       DocumentRoot "/var/www/html/feiyu1"       CustomLog "/var/log/httpd/feiyu1-access_log" combined       ServerName www.feiyu2.com       DocumentRoot "/var/www/html/feiyu2"       CustomLog "/var/log/httpd/feiyu2-access_log" combined

16、啟用 https 協議

https是在http的基礎上進行ssl/tls加密實現的結果,啟用https固然更安全,不會存在流量劫持等風險,但使用https就不再是三次握手了,它會增加建立連接的時間。

http與https首次請求對比圖:

Apache中如何配置httpd-2.2
httpd-2.2 配置及用法完全攻略httpd-2.2 配置及用法完全攻略
Apache中如何配置httpd-2.2
httpd-2.2 配置及用法完全攻略httpd-2.2 配置及用法完全攻略

http: 文本協議,80/tcphttps: 二進制格式的協議, 443/tcpSSL握手要完成的工作:

交換協議版本號

選擇雙方都支持的加密方式

對兩端實現身份驗正

密鑰交換

SSL會話基于IP地址進行,不支持在基于FQDN的虛擬主機上實現,所以在只有一個公網IP的服務器上使用虛擬主機時,只能為一個站點使用https。

配置支持https:

(1)安裝httpd支持ssl模塊

[root@localhost ~]# yum install mod_ssl -y

(2)自建CA

[root@localhost ~]# cd /etc/pki/CA[root@localhost ~]# (umask 077; openssl genrsa -out private/cakey.pem 2048)[root@localhost ~]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365

(3)生成私鑰

[root@localhost ~]# cd /etc/httpd/conf/[root@localhost ~]# mkdir ssl[root@localhost ~]# cd ssl[root@localhost ~]# (umask 077; openssl genrsa -out httpd.key 1024)

(4)生成證書申請

[root@localhost ~]# openssl req -new -key httpd.key -out httpd.csr

(5)CA簽署證書

[root@localhost ~]# openssl ca -in httpd.csr -out httpd.crt -days 365

(6)修改httpd的ssl配置文件

[root@localhost ~]# vim /etc/httpd/conf.d/ssl.confDocumentRoot "/var/www/html/feiyu1"ServerName www.feiyu.comSSLCertificateFile /etc/httpd/conf/ssl/httpd.crtSSLCertificateKeyFile /etc/httpd/conf/ssl/httpd.key

(7)驗證導入瀏覽器

驗證,可以使用以下命令進行驗證或者將證書導入到瀏覽器并進行訪問:

# openssl s_client -connect IP:port -CAfile /path/to/CA_certificate_file

17、服務器status頁面

status頁面是httpd內生的,且此信息可以通過web予以顯示,此信息是關于服務器的運行狀態的所以不能對所有人都顯示。

[root@localhost html]# vim /etc/httpd/conf/httpd.confSetHandler server-statusAuthType BasicAuthName "Server Status"AuthUserFile "/etc/httpd/conf/.htpasswd"Require valid-userOrder deny,allowAllow from all

SetHandler: 顯式的定義使用的處理器 ,是當文件被調用時,Apache內部表示形式;一般每種文件類型都有其隱式處理器;

18、使用mod_deflate模塊壓縮頁面優化傳輸速度

一般當CPU多空閑,帶寬壓力大時才會啟用壓縮,啟用壓縮不但能優化傳輸速度也能節約帶寬,但是其一個弊端就是會使緩存的命中率下降。

[root@localhost html]# vim /etc/httpd/conf/httpd.confSetOutputFilter DEFLATE    #啟用deflate[root@localhost conf.d]# vim deflate.conf   # Restrict compression to these MIME types    定義要壓縮的文件類型   AddOutputFilterByType DEFLATE text/plain   AddOutputFilterByType DEFLATE text/html   AddOutputFilterByType DEFLATE application/xhtml+xml   AddOutputFilterByType DEFLATE text/xml   AddOutputFilterByType DEFLATE application/xml   AddOutputFilterByType DEFLATE application/x-javascript   AddOutputFilterByType DEFLATE text/javascript   AddOutputFilterByType DEFLATE text/css   # Level of compression (Highest 9 - Lowest 1)   DeflateCompressionLevel 9                     #壓縮比,默認為6      # Netscape 4.x has some problems.   BrowserMatch ^Mozilla/4 gzip-only-text/html      # Netscape 4.06-4.08 have some more problems   BrowserMatch ^Mozilla/4\.0[678] no-gzip      # MSIE masquerades as Netscape, but it is fine   BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

19、資源限定

軟限制:可以超出的限制,但僅超出一定時長;

硬限制:絕對不能超出的限制

使用 ulimit 可以修改軟限制:

-n [N]: 顯示或限定能打開的最大的文件句柄數;

-u [N]: 所能夠運行的最多進程數;

其相對應的配置文件為:/etc/security/limits.conf,擴展配置:/etc/security/limits.d/*.conf

root@tianfeiyu # vim /etc/security/limits.conf #設定硬限制apache hard nofile   65535  #設定能打開的最大文件數apache hard nproc 30000#設定能打開的最大進程數

20、httpd程序包自帶的工具介紹

httpd:Apache 服務器。

apachectl:Apache HTTP 服務器控制工具。

ab:Apache HTTP 服務器性能基準工具。

apxs:Apache 擴展工具。

configure:配置源代碼。

dbmmanage:為基本認證創建和更新 DBM 格式的用戶認證文件。

htcacheclean:清理磁盤緩存。

htdigest:為摘要認證創建和更新用戶認證文件。

htdbm:操作 DBM 密碼數據庫。

htpasswd:為基本認證創建和更新用戶認證文件。

httxt2dbm:為 RewriteMap 創建 dbm 文件。

logresolve:將 Apache 日志文件中的 IP 地址解析到主機名稱。

rotatelogs:不關閉 Apache 而切換日志文件。

suexec:執行外部程序前切換用戶。

運行目錄:/etc/httpd

配置文件:

主配置:/etc/httpd/conf/httpd.conf

擴展配置:/etc/httpd/conf.d/*.conf

Socket: 80/tcp, 443/tcp

文檔根目錄:/var/www/html

CGI目錄:/var/www/cgi-bin/
MPM(Multipath Processing Module):多道處理模塊,非一個模塊,而是對一種特性的稱謂

多進程模型 prefork: 一個進程響應一個請求(主進程創建進程響應)

多線程模型 worker: 一個主進程多個子進程,一個進程生成多個線程,一個線程響應一個請求,一個進程生成的線程數有限

事件模型 event: 一個線程響應多個請求,基于事件驅動機制來維持多個用戶請求;

event-driven: 事件驅動,主要目的在于實現單線程響應多個請求;

httpd配置目錄信息:服務腳本:/etc/rc.d/init.d/httpd腳本配置文件:/etc/sysconfig/httpd
高度模塊化:DSO(Dynamic Shared Object)動態化裝飾模塊

MPM(Multipath Processing Module):多道處理模塊,非一個模塊,而是對一種特性的稱謂

感謝各位的閱讀!關于“Apache中如何配置httpd-2.2”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蓝田县| 莆田市| 弋阳县| 大关县| 天台县| 望江县| 平遥县| 彰化县| 兴业县| 西平县| 瑞安市| 黎平县| 淮阳县| 平遥县| 来宾市| 乐东| 洛宁县| 宜兰市| 泰州市| 天津市| 峡江县| 巫溪县| 报价| 康平县| 禹城市| 阆中市| 北川| 吕梁市| 浙江省| 大连市| 多伦县| 白城市| 兴山县| 新巴尔虎右旗| 桐乡市| 嘉鱼县| 孙吴县| 鄂尔多斯市| 三都| 许昌市| 固安县|