Linux Apache服務(一)

1、Apache簡介

   「Apache HTTP Server」是開源軟件項目的傑出表明,基於標準的HTTP網絡協議提供網頁瀏覽服務,在Web服務器領域中長期保持着超過半數的份額。Apache服務器能夠運行在Linux,UNIX,Windows等多種操做平臺中html

2、Apache的特色

  1.   開放源代碼:這是APache最重要的特性之一,開源免費,這也是在國內很火的重要緣由。
  2.      跨平臺應用:這個特性得益於APache的源代碼開放,APache服務器能夠運行在絕大多數的軟硬件平臺上。
  3.        支持各類web編程語言:支持perl,PHP,Python,java等,甚至微軟的ASP技術的可使用。
  4.        模塊化設計:APache並無將全部功能集中在單一服務器中,而是儘量的經過標準的模塊化設計實現專有的功能
  5.         運行穩定:APache服務器可用於構建具備大負載訪問量的Web站點,並具備很高的安全性。

3、Centos6和Centos7自帶的Apache版本

Centos6:httpd2.2java

Centos7:httpd2.4web

4、Apache的安裝方式

  1. rpm安裝
  2. 編譯安裝
  3. yum安裝

5、Centos6 Apache程序環境

3.1 配置文件

/etc/httpd/conf/httpd.conf apache

/etc/httpd/conf.d/*.conf編程

 3.2 服務腳本

/etc/rc.d/init.d/httpd vim

配置文件:/etc/sysconfig/httpd瀏覽器

 3.3 主程序文件

/usr/sbin/httpd
/usr/sbin/httpd.event
/usr/sbin/httpd.worker 安全

 3.4 日誌文件目錄

/var/log/httpd 服務器

/var/log/httpd/access_log 訪問日誌 網絡

/var/log/httpd/error_log 錯誤日誌

 3.5 站點文檔目錄

/var/www/html

3.6 模塊文件路徑

/usr/lib64/httpd/modules

3.7 配置文件的組成

[root@Server ~]# grep "Section" /etc/httpd/conf/httpd.conf 
### Section 1: Global Environment
### Section 2: 'Main' server configuration
### Section 3: Virtual Hosts

3.8 配置格式

directive  value
directive: 不區分字符大小寫
value:爲路徑時,取決於文件系統

6、服務搭建

6.1 使用yum安裝Apache

1 [root@Server ~]# yum -y install httpd httpd-manual

6.2  啓動apache服務

6.2.1.先編輯一下配置文件/etc/httpd/conf/httpd.conf,在ServerName 那一行加上localhost:80 不然在啓動服務的時候會報錯 

[root@Server ~]# vim /etc/httpd/conf/httpd.conf

#ServerName www.example.com:80
ServerName localhost:80

6.2.2  啓動httpd服務

[root@Server ~]# service httpd start
正在啓動 httpd:

6.3 關閉SELINUX和iptables防火牆

[root@Server ~]# service iptables stop
[root@Server ~]# setenforce 0

 6.4 重啓httpd服務並用瀏覽器進行測試

[root@Server ~]# service httpd restart
中止 httpd:                                               [肯定]
正在啓動 httpd:                                           [肯定]

 7、Apache配置詳解

7.1 基本配置

1.基本配置

ServerRoot "/etc/httpd"              //apache軟件安裝的位置。其它指定的目錄若是沒有指定絕對路徑,則目錄是相對於該目錄。 
PidFile run/httpd.pid              //第一個httpd進程(全部其餘進程的父進程)的進程號文件位置。 

Timeout 60 //
設置鏈接超時,參數timeout,當鏈接超過必定的空閒時間,就會自動斷開

KeepAlive On //設置keepalive,提升網絡效率,默認是關閉的

MaxKeepAliveRequests 100 //設置keepaliverequest,設置爲0 的時候沒有限制,不過最好仍是用默認值,或者本身根據狀況來改變
Listen 80                           //服務器監聽的端口號。 

ServerName localhost:80      //主站點名稱(網站的主機名)。 

ServerAdmin admin@clusting.com        //管理員的郵件地址。 

DocumentRoot "/var/www/htdocs"    //主站點的網頁存儲位置。 

DirectoryIndex index.html index.html.var //設置網站主頁文件
AddDefaultCharset UTF-8                   //設置字符集,參數AddDefaultCharset,建議最好設置utf-8,這是通用的。

 2.對網站目錄或文件進行訪問控制

<Directory "/var/www/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

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

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

    ExecCGI: 在該目錄下容許執行CGI腳本。

    FollowSymLinks: 在該目錄下容許文件系統使用符號鏈接。

    Indexes: 當用戶訪問該目錄時,若是用戶找不到DirectoryIndex指定的主頁文件(例如index.html),則返回該目錄下的文件列表給用                                 戶。

    SymLinksIfOwnerMatch: 當使用符號鏈接時,只有當符號鏈接的文件擁有者與實際文件的擁有者相同時才能夠訪問。

  • AllowOverride:容許存在於.htaccess文件中的指令類型(.htaccess文件名是能夠改變的,其文件名由AccessFileName指令決定):

    None: 當AllowOverride被設置爲None時。不搜索該目錄下的.htaccess文件(能夠減少服務器開銷)。

    All: 在.htaccess文件中可使用全部的指令。

  • Order:控制在訪問時Allow和Deny兩個訪問規則哪一個優先:

     Allow:容許訪問的主機列表(可用域名或子網,例如:Allow from 192.168.0.0/16)。

     Deny:拒絕訪問的主機列表。

 3. 服務器的優化 (MPM: Multi-Processing Modules) 

apache2主要的優點就是對多處理器的支持更好,在編譯時同過使用–with-mpm選項來決定apache2的工做模式。若是知道當前的apache2使用什麼工做機制,能夠經過httpd -l命令列出apache的全部模塊,就能夠知道其工做方式:

prefork:若是httpd -l列出prefork.c,則須要對下面的段進行配置:

<IfModule prefork.c> 

StartServers 5 #啓動apache時啓動的httpd進程個數。 

MinSpareServers 5 #服務器保持的最小空閒進程數。 

MaxSpareServers 10 #服務器保持的最大空閒進程數。 

MaxClients 150 #最大併發鏈接數。 

MaxRequestsPerChild 1000 #每一個子進程被請求服務多少次後被kill掉。0表示不限制,推薦設置爲1000。 

</IfModule> 
View Code

 4.HTTP返頭回信息配置

5.持久性鏈接設置

6.別名設置

7.CGI設置

7.2 日誌的設置

1.錯誤日誌

2.訪問日誌

7.3 用戶認證配置

7.4 虛擬主機配置

7.5 SSL加密的配置

相關文章
相關標籤/搜索