1. 程式人生 > >Linux配置Apache伺服器全攻略

Linux配置Apache伺服器全攻略

http://blog.csdn.net/cookies_6362/article/details/2881206

一,使用原始碼安裝

  (1) 獲得原始碼

  NN表示當前所用的版本號。

  (2) 解壓縮

  # gzip -d httpd-2_0_NN.tar.gz

  # tar xvf httpd-2_0_NN.tar 

  (3) 配置.

  # ./configure --prefix= /usr/local/apache --enable-so

  表示Apache將安裝在/usr/local/apache目錄下

  (4) 編譯與安裝

  # make

  # make install

  (5) 測試

  # /usr/local/apache/bin/apachectl start

  二,使用RPM包安裝

  # rpm —ivh apache-*.rpm

  完成安裝後,配置檔案在/etc/httpd/conf/目錄下,檔案根目錄為/var/www/html,工具檔案在/etc/rc.d/init.d/目錄下,日誌檔案在/var/log/httpd/目錄下。

  第三站 Apache 2.0的配置

  Apache 2.0的主配置檔案為httpd.conf。如果以上述原始碼安裝則配置檔案儲存在/usr/local/apache/conf/目錄下,若以RPM包方式安裝則配置檔案儲存在/etc/httpd/conf/目錄下。我們可以直接修改httpd.conf檔案也可以用redhat linux 9自帶的圖形化工具來配置。開啟啟動程式->系統設定->伺服器設定->HTTP伺服器,可以進行相關。主介面如圖:

  下面我們來看一下httpd.conf中的幾條指令,“#”後加入了註釋說明。

  Port 80 #定義了web伺服器的偵聽埠,預設值為80,它是TCP網路埠之一。若寫入多個埠,以最後一個為準。

  User apache #一般情況下,以nobody使用者和nobody組來執行web伺服器,因為web

  Group apache # 伺服器發出的所有的程序都是以root使用者身份執行的,存在安全風險。 

  ServerAdmin [email protected] #指定伺服器管理員的E-mail地址。伺服器自動將錯誤報告到該地址。 

  ServerRoot /etc/httpd #伺服器的根目錄,一般情況下,所有的配置檔案在該目錄下

  ServerName new.host.name:80 #web客戶搜尋的主機名稱

  KeepAliveTimeout 15 #規定了連續請求之間等待15秒,若超過,則重新建立一條新的TCP連線 

  MaxKeepAliveRequests 100 #永久連線的HTTP請求數

  MaxClients 150 #同一時間連線到伺服器上的客戶機總數

  ErrorLog logs/error_log #用來指定錯誤日誌檔案的名稱和路徑

  PidFile run/httpd.pid #用來存放httpd程序號,以方便停止伺服器。

  Timeout 300 #設定請求超時時間,若網速較慢則應把值設大。

  DocumentRoot /var/www/html #用來存放網頁檔案

第四站 Apache的管理

  (1) 啟動和停止Apache

  /etc/rc.d/init.d/httpd start

  /etc/rc.d/init.d/httpd stop

  (2) Apache的日誌檔案

  有人說判定一個管理員是否優秀之一就是看他是否是一個分析日誌的能手,因為從日誌檔案中獲取的反饋資訊對管理員來說是相當重要的。Apache的日至檔案主要包括訪問日誌和錯誤日誌。訪問日誌記錄了該伺服器所有的請求的過程,主要記錄的是客戶的資訊,通過它我們可以知道什麼人訪問了該網站,什麼時候訪問的,訪問的內容是什麼等等。錯誤日誌則是記錄了伺服器出錯的細節和如何處理等。日誌檔案的位置是由上述主配置檔案httpd.conf來規定的。Redhat中有一個檢視日誌的工具——系統日誌。其主介面如下

  下面各舉一個例子來說明他的格式:

  錯誤日誌的寫法:

  [Mon sep 22 14:32:52 2003] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test

  [Mon sep 22 14:32:52 2003] 錯誤發生的時間。

  [error] 表示錯誤的級別。有debug,info,notice,warn,error,crit,alert,emerg,這些級別由低到高表示了錯誤的嚴重性。

  [client 127.0.0.1] 表示客戶端IP地址。

  client denied by server configuration: /export/home/live/ap/htdocs/test 標是錯誤的具體資訊。

  訪問日誌的寫法:

  127.0.0.1 - wangdong [22/sep/2003:13:55:36 -0800] "GET /apache_pb.gif HTTP/1.0" 200 2326

  127.0.0.1 表示訪問這臺伺服器的客戶端IP地址。

  Wangdong 表示使用者的登入名。

  [22/sep/2003:13:55:36 -0800] 伺服器完成客戶端請求的時間,格式為[日/月/年:小時:分鐘:秒 時區]

  "GET /apache_pb.gif HTTP/1.0" 表示客戶端訪問該資源所使用的方法。

  200 記錄的是伺服器返回給客戶的狀態碼。200表示成功,以4打頭的表示訪問出錯。

  2326 表示發給客戶端的總位元組數。若是“—”表示沒有找到訪問資源。

  但在實際應用中,對於大型網站,日誌檔案往往增長的很快,不利於我們查詢,降低伺服器的效率,而且佔用大量的磁碟空間,所以我們必須對日誌進行定期的維護。

  既然日誌檔案很大,那麼我們如何把一大堆枯燥的資料整理成容易讓我們看懂的形式呢?有沒有這樣的工具呢?非常幸運,在redhat linux 9中自帶了一個分析日誌的工具——webalizer,如圖:

  我們也可以在網上找到大量這樣優秀的免費的工具,例如:WebTrends Analysis Series。

  第五站 配置虛擬主機

  虛擬主機是在一臺www伺服器上為多個單獨的域名提供www服務,每個域名具有自己的目錄和配置,相當於將一臺主機分為多臺主機,虛擬主機技術對於主機數量不足,但又想為不同的使用者提供獨立的Web服務的需求非常有效。而對於一個公司,利用價格昂貴的伺服器只提供一種域名服務,似乎是不明智的,而現在越來越多的公司喜歡在一臺伺服器上使用多個域名服務,架設不同的網站,這樣做的好處是顯而易見。

  Apache有兩種方式支援虛擬主機,一種是基於IP的虛擬主機,另一種是基於名字的虛擬主機。基於名字的虛擬主機使用相同的IP地址來配置不同的虛擬主機,這就彌補了因IP地址不足而帶來的問題。基於名字的虛擬主機的配置相當簡單,你只需配置你得DNS伺服器使每個主機名對應正確的IP地址,然後再配置Apache HTTP Server使它能認識不同的主機名就可以了。

  NameVirtualHost 192.168.0.1   
 

  DocumentRoot /var/www/html/business

  DocumentRoot /var/www/html/teaching


  而基於IP的虛擬主機則要求使用不同的IP地址來區別不同的虛擬主機,這就要求使用多塊網絡卡,把不同的IP地址捆綁到不同的網絡卡上,或者在一塊網絡卡上捆綁多個IP地址。假設我們主機的IP地址為192.168.0.1(www.media.com),另外有兩個IP地址別?..nf/httpd.conf。[/url]

  ServerAdmin [email protected] business.media.com

  DocumentRoot /var/www/html/business

  ErrorLog /var/www/html/business/logs/error_log

  TransferLog /var/www/html/business/logs/access_log 
 

  DocumentRoot /var/www/html/teaching

  ErrorLog /var/www/html/teaching/logs/error_log

  TransferLog /var/www/html/teaching/logs/access_log

  第六站配置Apache代理

  代理伺服器是網路資訊服務的中轉站。如果我們把Apache代理伺服器形象地比喻成代理商的話,消費者向代理商購買東西時,如果代理商有的話,可直接賣給消費者,若沒有,則代理商向廠家進貨,再賣給消費者。這樣做有以下幾點好處:(1)提高了訪問速度。(2)充當防火牆,增加了安全性。(3)可以過濾一些不良網站。(4)具有快取功能。(5)節省IP開銷。代理伺服器可分為兩種型別:客戶端代理和伺服器端代理。下面我們在講解幾個指令後舉例說明各自的配置方法。

  ProxyRequest On/Off #啟用或者禁用Apache代理服務。

  CacheRoot "/etc/httpd/proxy" #代理快取的根目錄。

  CacheSize 5 #代理快取的大小。

  CacheGcInterval 4 #設定執行管理快取的無用資料蒐集程式的時間間隔

  CacheMaxExpire 24 #檔案過期時間。

  CacheDefaultExpire 1 #指定未包含過期資訊檔案的有效期。

  NoCache a-domain.com another-domain.edu #該網站的檔案將不被快取。

  • 客戶端代理的配置

  (1) 修改/etc/httpd/conf/httpd.conf中的相關指令

  (2) 修改/etc/httpd/conf/httpd.conf,新增對代理目錄的訪問控制。


  Order deny,allow

  Deny from all

  Allow from .your-domain.com


  (3) 重啟httpd。

  • 伺服器端代理的配置

  伺服器端代理與客戶端代理不同,它是在防火牆上安裝Apache伺服器,使用它提供對WWW伺服器的代理訪問。這種方法把WWW伺服器與外部隔開,提高了安全性,而對使用者來說,好像沒有變化一樣。假設在內部區域網中WWW伺服器的IP地址為192.168.0.2,防火牆主機內部IP地址為192.168.0.5,外部IP地址為192.9.202.1。

  (一) 配置防火牆上的Apache

  (1) 在/etc/httpd/conf/httpd.conf中新增虛擬主機。

  DocumentRoot /www/docs/business.media.com

  ErrorLog logs/business.media.com-error_log

  CustomLog logs/business.media.com-log_common


相關推薦

Linux配置Apache伺服器

http://blog.csdn.net/cookies_6362/article/details/2881206 一,使用原始碼安裝   (1) 獲得原始碼   NN表示當前所用的版本號。   (2) 解壓縮   # gzip -d httpd-2_0_NN.tar.

win7下安裝Linux實現雙系統

ont c51 item itl command 桌面 ted current 輸入 最近剛剛把原來32位的系統給重新安裝成64位的win7旗艦版,但又想嘗試下Linux,於是在win7下安裝了Linux實現了雙系統,是ubuntu 12.04版本的,據說現在最新的14.

Apache HBase

基礎概念 Coprocessor  Coprocessor 其實是一個類似 MapReduce 的分析元件,不過它極大簡化了 MapReduce 模型。將請求獨立地在各個 Region 中並行地執行,並提供了一套框架讓使用者靈活地自定義 Coproces

DNS伺服器之一:基礎介紹(區域委派 )

區域委派 一個完整的DNS區域包含以自己的DNS域名為基礎名稱空間的所有DNS名稱空間的資訊,當基於此DNS名稱空間新建一個DNS區域時,新建的區域稱為子區域。例如,完整的winsvr.org區域包含了以winsvr.org為基礎名稱空間的所有DNS名稱空間的資訊,而te

Apache WEB伺服器配置

    Apache伺服器的設定檔案位於/usr/local/apache/conf/目錄下,傳統上使用三個配置檔案httpd.conf,access.conf和srm.conf,來配置Apache伺服器的行為。   httpd.conf提供了最基本的伺服器配置,是對守護程式

Windows平臺下載、安裝、配置Apache

郵件地址 director fig ons min least chang 修改 all 本文介紹了如何在windows平臺進行apache服務器的下載、安裝和配置過程。 1.下載 首先進入apache for windows的官方下載地址[猛戳這裏],依次在下列頁面進行

微信小程式小白總結4-伺服器(windows OS)簡易搭建和相關配置

廢話少敘,切入正題。     作為微信小程式後端的“核心”,伺服器搭建這一步至關重要,而且操作繁雜,需要有耐心而且會查閱,下面將提供一種簡單有效的簡易的微信小程式伺服器從零搭建和相關配置方法。 一、伺服器的購買      同域名一樣,如

在Amazon EC2上配置Thin+NginX+Rails (Linux環境)

upstream domain1 { server 0.0.0.0:3000; server 0.0.0.0:3001; server 0.0.0.0:3002; } server { listen 80;

伺服器Linux一鍵安裝web環境(阿里雲伺服器)(Centos )

Centos 系統下的全能Web環境一鍵安裝程式 第一篇地址:http://www.dzbfsj.com/thread-1785-1-1.html 第二篇地址:http://www.cnblogs.com/ada-zheng/p/3724957.html Cen

Linux環境變量配置

ets export 內容修改 sets .profile less 腳本 pipe 攻略 Linux環境變量配置 在自定義安裝軟件的時候,經常需要配置環境變量,下面列舉出各種對環境變量的配置方法。 下面所有例子的環境說明如下: 系統:Ubuntu 14.0 用戶名:uu

Linux一鍵安裝web環境(阿裏雲ECS服務器)

傳輸 80端口 掛載 iyu 使用 ftp服務 老版本 雲服務 linux服務 摘自阿裏雲服務器官網,此處 一鍵安裝包下載: 點此下載 安裝須知 1、此安裝包可在阿裏雲所有linux系統上部署安裝,此安裝包包含的軟件及版本為: nginx:1.0.15、1.2.5、1.4.

Linux編程之UDP SOCKET

應用場景 什麽是 vid 結構體指針 from 好的 conn 能力 cnblogs 這篇文章將對linux下udp socket編程重要知識點進行總結,無論是開發人員應知應會的,還是說udp socket的一些偏僻知識點,本文都會講到。盡可能做到,讀了一篇文章之後,大家對

Linux下Makefile的automake生成

作為Linux下的程式開發人員,大家一定都遇到過Makefile,用make命令來編譯自己寫的程式確實是很方便。一般情況下,大家都是手工寫一個簡單Makefile,如果要想寫出一個符合自由軟體慣例的Makefile就不那麼容易了。          在本文中,將給大家介紹如

[轉]linux下Makefile的automake生成

2006-07-19 作為Linux下的程式開發人員,大家一定都遇到過Makefile,用make命令來編譯自己寫的程式確實是很方便。一般情況下,大家都是手工寫一個簡單Makefile,如果要想寫出一個符合自由軟體慣例的Make

[Linux][Kubernetes][fabric8]安裝fabric8

前言 之前專案要求安裝fabric8,在官網,各大部落格中瀏覽無數,發現坑實在太多,特地寫下這篇文章,希望對後來想嘗試kubernetes和fabric8的同學們有所幫助。 什麼是docker docker是一個開源的容器平臺,我們可以粗略的理解為虛擬機器,使用者使用imag

Linux CentOS7安裝MySql8.0.11

一.軟體準備Linux系統下載地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1708.isocmake與依賴包 下載地址:https://download.csdn.net/

linuxApache伺服器配置虛擬域名

1. 修改httpd.conf 可以直接在Apache配置檔案的結尾新增如下程式碼,給Apache新增虛擬域名: NameVirtualHost *:80 <VirtualHost *:80> ServerName www.nine.com DocumentRoot

LinuxApache伺服器的基本配置

2.Apache伺服器的常用命令(1) 啟動Apache伺服器:service httpd start(2) 重啟Apache伺服器:service httpd restart(修改了配置檔案後要執行此命令)(3) 停止Apache伺服器:service httpd stop(4) 開啟“Apache配置”:

VS Tools for AI(2)低配置虛擬機器也能玩轉深度學習,無需NC/NV系列

接著上文VS Tools for AI全攻略,我們來討論如何使用Azure資源來訓練我們的tensorflow專案。Azure雲我個人用得很多,主要是因為微軟爸爸批了150刀每月的額度,我可以愉快地玩耍。 那麼針對Azure,有成套的兩個方案解決問題。 方案一(比較有錢的、對速度要求高的):使用De

squid 代理伺服器設定(多圖)

上網了,不免會遭到種種攻擊,有時還碰到一些網站無法訪問,或者訪問速度特別慢等現象,面對這些現象,代理伺服器作為網路訪問的紐帶就應運而生了。通過使用代理伺服器可以將我們的真實IP地址隱藏起來,而且在一定程度上還可以提高網路訪問的範圍和速度。代理伺服器的存在一般是不公開的,可以