linux服務器配置實例<10>---配置web服務器

配置web服務器

.Web 服務器簡介 :
5.Apache 的性能 :web 服務器的功能和運行性能是最重要的因素 .Apache 的衆多特性保證了它能夠高效並且穩定的運行
DOS ,動態共享對象,容許運行時動態裝載模塊、採用預生成技術提升響應速度、運行在幾乎全部的計算機平臺、支持最新的 HTTP1.1 協議、簡單而強有力的基於文件的配置、支持虛擬主機、支持 HTTP 認證、集成了代理服務器、且有可定製的服務器日誌、支持安全 Socket (SSL) 、用戶會話過程的跟蹤能力、支持通用網關接口 CGI 、集成 Perl 腳本編程語言、支持服務器端包含命令 (SSI) 、支持 FastCGI 、支持 PHP 、支持 Java Servlets 、支持第三方軟件開發商提供的大量功能模塊
6.Apache 的三種運行方式: Multi-processing modules
預派生 (Profork): 首先啓動一個父進程,而後建立並啓動必定數量的子進程監聽客戶的請求,父進程始終監控子進程,啓動時自動生成 8 個子進程,最小空閒進程 5
工做者 (Worker MPM): 此模塊是混合使用進和線程的運行模型,首先啓動一個父進程,而後建立並啓動必定數量的子進程 ,每一個子進程都建立 並啓動相同數量的線程,由線程監聽客戶的請求,父進程始終監控子進程,當沒有足夠的空閒線程爲客戶服務時,父進程就會建立並運行新的子進程
獨立子進程 (Perchild): 混合使用進程和線程的運行模式,每一個子進程均可以建立指定數量的線程,當服務器上負載增長後, Apache 不會建立新的子進程,而是在當前的子進程之一上建立新的線程爲客戶提供服務,具備高擴展性,低可靠性
.Apache2.0 的模塊 : 仍舊使用模塊的方式運行, Apache 由內核、標準模塊和第三方提供的模塊 3 個層次組成
.Apache 的安裝和啓動 :
1.Apache 的安裝
2. 啓動 Apache
#service httpd restart
#pstree|grep httpd
#apachect1 configtest|httpd -t 檢測配置文件語法的正確性
#service httpd status
#ntsysv
#apachect configtest|httpd -t 檢查配置文件語法的正確性
#apachectl -v 查看編譯配置參數
#apachectl -l 查看已經被編譯的模塊
mod_so.c 表示當前的 Apache 支持 Dynamic Shared Objects(DSO), 即用戶能夠在不從新編譯 Apache 的狀況下使用 Apache eXenSion 編譯的第三方模塊
prefork.c 表示 Red Hat 發佈的 Apache 是使用預派生 MPM 模式運行的
3.Apache 的基本配置
KeepAlive on 使用保鏈接的功能,即一次請求鏈接能響應多個文件
MaxClients 150 限制同一時間的鏈接數不能超過 150
ServerAdmin root@localhost 設置 Apache 服務器管理員的 E-mail 地址
ServerName [url]www.abc.com:80[/url] Apache 服務器須要指向自己的鏈接時使用
DirectoryIndex index.html index.html.var 當訪問服務器時依次查找頁面 index.html index.html.var
IndexOptions 能夠在此指令後添加 FolderFirst 表示讓目錄列有前面
4. 分割配置任務
使用 Inclde 指令:例如能夠將所與虛擬主機配置相關的配置單獨存成一個配置文件,而後在主配置文件中將其包含進來
使用 .htaccess 文件:用於改變主配置文件中的配置,只能設置對目錄的訪問控制,它能夠覆蓋主配置文件中的配置,而 Include 只是簡單的包含
(1). 什麼時候使用 .htaccess 不從新啓動服務器的狀況下改變服務器配置
(2). 步驟 :
首先在主配置文件中啓用並控制對 .htaccess 文件的使用
而後在須要蓋主配置文件的目錄下生成 .htaccess 文件
(3). 啓用並控制使用 .htaccess 文件
設置文件名稱
AcessFileName .htaccess
<Files ~".\.htaccess">
    Order allow,deny
    Deny from all
</files>
1 .htaccess 文件的訪問控制
#cd /var/www/html #mkdir private #cd private #touch test
修改主配置文件 #vi /etc/httpd/conf/httpd.conf <Directory "/var/www/html/private">AllowOverride Options</Directory>
#service httpd restart
#vi /var/www/html/private/.htaccess 添加 Options -Indexes
2 配置每一個用戶的 Web 站點
配置每一個用戶的 Web 站點的意圖是使在安裝了 Apache 的本地計算機上,擁有用戶賬號的每一個用戶都可以架設本身單獨的 Web 站點
步驟 :
修改主配置文件啓用每一個用戶的 Web 站點配置
修改主配置文件爲每一個用戶的 Web 站點目錄配置訪問控制
vi /etc/httpd/conf/httpd.conf
<IFModule mod_userdir.c>
  UserDir disable root
  UserDir public_html
</IfModule>
<Directory /home/*/public_html>
  AllowOverride FileInfo Authconfig Limit
  Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
  <Limit GET POST OPTIONS>
  Order deny,allow
  Deny from all 
  </LimitExcept>
</Directory>
#su user1
#cd
#mkdir public_html
#chmod 711 /home/user1
建立 Index.html 的內容
訪問本身的主頁
[url]http://IP[/url] 地址或 FQDN/~ 用戶名
3 配置虛擬主機
在一臺 WEB 服務器上,能夠爲多個單獨域名提供 Web 服務,對於 ISP 的意義重大,由於使用獨立的域名和根網址更爲正式,易爲衆人接受 .
基於 IP 地址的虛擬主機:使用相同的 IP 地址,不一樣的端品號。不一樣的 IP 地址,相同的端口號
基於名字的虛擬主機:不一樣的主機頭,一個 IP 地址映射多個域名。
配置不一樣 IP 地址的虛擬主機:
#vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
#vi /etc/sysconfig/network-scripts/ifcfg-eth0:1
#/etc/rc.d/init.d/network restart
#cd /etc/httpd
#vi vhost-conf.d/ip-vhost34.conf
<VirtualHost 192.168.1.57:80>
   ServerAdmin [email]webmaster1@abc.com[/email]
   DocumentRoot /var/www/www1
   DirectoryIndex index.html
   ServerName www1.abc.com:80
</VirtualHost>
<VirtualHost 192.168.1.57:80>
   ServerAdmin [email]webmaster1@abc.com[/email]
   DocumentRoot /var/www/www1
   DirectoryIndex index.html
   ServerName www1.abc.com:80
</VirtualHost>
建立默認文檔
#echo "Include vhost-conf.d/*.conf">>conf/httpd.conf
#vi /etc/httpd/conf/httpd.conf
 <Virtualhost 192.168.1.57:80>
       Server Admin [email]netmask@abc.com[/email]
       DocumentRoot /var/www/html
       DirectoryIndex index.html
       ServerName  192.168.1.57
 </VirtualHost>
 <VirtualHost 192.168.1.77:80>
       Server Admin [email]netmask@abc.com[/email]
       DocumentRoot /var/www/www1
       DirectoryIndex index.html
       ServerName 192.168.1.77
 </VirtualHost>
4: 配置基於端口的虛擬主機 , 即相同 IP 地址不一樣端口號的虛擬主機
#vi vhost-conf.d/ip-vhost12.conf
listen 8080
listen 6666
<Virtualhost 192.168.1.57:8080>
       ServerAdmin [email]webmaster@abc.com[/email]
       DocumentRoot /var/www/www1
       DirectoryIndex index.html
       ServerName  rhl9.abc.com:8080
</VirtualHost>
<VirtualHost 192.168.1.57:6666>
       ServerAdmin [email]webmaster@abc.com[/email]
       DocumentRoot /var/www/www2
       DirectoryIndex index.html
       ServerName rhl9.abc.com:6666
</VirtualHost>
建立默認文檔
#echo "Include vhost-conf.d/*.conf">>conf/httpd.conf
5: 配置基於主機頭的虛擬主機
配置 DNS, 編輯正向解析數據庫文件
www 1 IN A 192.168.1.57
www 2 IN A 192.168.1.57
#vi vhost-conf.d/n-vhost.conf
NameVirtualHost 192.168.1.57
<Virtualhost 192.168.1.57:80>
       ServerAdmin [email]webmaster@abc.com[/email]
       DocumentRoot /var/www/www1
       DirectoryIndex index.html
       ServerName  www1.abc.com
</VirtualHost>
<VirtualHost 192.168.1.57:80>
       ServerAdmin [email]webmaster@abc.com[/email]
       DocumentRoot /var/www/www2
       DirectoryIndex index.html
       ServerName www2.abc.com
</VirtualHost>
建立默認文檔
#echo "Incaf.d/*.conf">>conf/httpd.conf
6: 訪問控制
訪問控制指令
Order   deny,allow 用於指定執行容許訪問規則和執行拒絕訪問的前後順序
Deny all 表示全部客戶 |abc.com 域名錶示域內的全部客戶 |IP 地址,能夠指定完整的 IP 地址或部分 IP 地址 |192.168.1.0/255.255.255.0|192.168.1.0/24 定義拒絕訪問列表
Allow 定義容許訪問列表
<Directory /var/www/html/private>
   Order deny,allow
   deny from all
   allow from 192.168.1.57
</Directory>
7: 認證和受權 . 兩種認證類,基本認證 Basic 和摘要 Digest 認證,摘要認證比基本認證更加安全,認證指令既能夠出如今主配置文件的 Directory 容器中,也能夠出如今 ./htaccess 文件中
受權 , 爲指定用戶或組進行受權,受權指令爲 Require
#vi /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/private">
   AllowOverride None 不使用 .htaccess 文件
  AuthType Basic 指定基本認證方式
  AuthName "abc.com" 指定認證領域名稱
   AuthUserFile /var/www/passwd/abc.com 指定認證口令的存放位置
  require valid-user
</Directory>
建立認證口令文件,並添加兩個用戶
#cd /var/www/passwd
#htpasswd -c jamond osmond
#chown apache.apache jamond 因爲 Apache 的子進程以 apache 用戶運行
#service httpd restart
相關文章
相關標籤/搜索