Linux下安裝apache httpd以及httpd常見用法


Linux下安裝apache httpd以及httpd常見用法

一、Linux安裝apache httpd

1、官網下載httpd源碼包:(目前最新版為2.4.10)

http://httpd.apache.org/

2、安裝apache httpd安裝依賴的包:apr和apr-util

如果不安裝這些包,在編譯httpd時會報錯:

可以到官網下載:http://apr.apache.org/download.cgi

安裝apr

1 tar -zxvf apr-1.5.1.tar.gz 
2 cd apr-1.5.1
3 ./configure 
4 make&&make install
5 安裝apr-util
6 tar -zxvf apr-util-1.5.4.tar.gz 
7  cd apr-util-1.5.4
8  ./configure --prefix/usr/local/apr-util --with-apr=/usr/local/apr
3、解壓編譯安裝
1 tar -zxvf httpd-2.4.10.tar.gz
2 cd httpd-2.4.10
3 ./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr  --with-apr-util=/usr/local/apr-util
4 make&&make install

二、apache的簡單操作

它是使用一個apachectl的腳本來實現對apache的操作的(這個文件在apache安裝目錄下的bin目錄中,我的安裝目錄為/usr/local/httpd)

個人理解:apachectl的英文:apache controll

用法:apachectl -[k|f|t] 操作名

1、開啟apache
/usr/local/httpd/bin/apachectl -k start
2、關閉apache
/usr/local/httpd/bin/apachectl -k stop
3、重啟apache
  • 第一種是:直接重啟
    1 /usr/local/httpd/bin/apachectl -k restart
  • 第二種是:優雅重啟(重啟時如果apache繁忙,則等它閑下的時候再重啟)
1 /usr/local/httpd/bin/apachectl -k graceful
4、指定apache配置文件
1 /usr/local/httpd/bin/apachectl -f /usr/local/httpd/conf/httpd.conf
5、檢測apache配置文件語法是否正確
1 /usr/local/httpd/bin/apachectl -t
6、其他操作:
1 /usr/local/httpd/bin/apachectl -v  #顯示當前apache的版本號
2 /usr/local/httpd/bin/apachectl -V  #顯示編譯時的配置

三、apache的簡單配置:

(1)將apache開機啟動
  • 方法一:
    1 cp /usr/local/apache/bin/apachectl /etc/init.d/httpd vi /etc/init.d/httpd

    在#!/bin/sh后面加入下面兩行

    1 #chkconfig:345 85 15
    2 #description: Start and stops the Apache HTTP Server.
    1 chmod +x /etc/rc.d/init.d/httpd chkconfig --add httpd

    然后可以用setup命令進入服務設置,設置為開機啟動

  • 方法二: 將服務加到/etc/rc.d/rc.local中 vi /etc/rc.d/rc.local 添加以下內容
1  /usr/local/apache/bin/apachectl start
(2)修改apache的默認端口(為什么要修改apache的端口,假如我們還安裝了另一種web服務器nginx,它占用了80端口,那我們就不能再使用80端口)

修改apache的配置文件,查找listen修改80為8080

修改ServerName 為localhost:8080

1 listen 8080   #大約在httpd.conf中的52行

增加一行:約在httpd.conf中的189行

1 ServerName localhost:8080

四、apache httpd配置虛擬主機

1、去掉加載配置虛擬主機文件的注釋:約在463行:
1  Include conf/extra/httpd-vhosts.conf
2、進入虛擬主機配置文件,每個virtualHost段之間

 

 

 

  • ServerAdmin為管理員郵箱(不需要)
  • DocumentRoot 網站根目錄 (必填項)
  • ServerName 為服務器名稱(一般是域名或IP)(必填項)
  • ErrorLog 為錯誤日志位置
  • CustomLog 為訪問日志位置
  • 比如我們有兩個域名:www.shixinke.com 和www.withec.com

分別指向到我的服務器網站的根目錄:/web/www/shixinke和/web/www/withec

 1 <VirtualHost *:8080>
 2     DocumentRoot "/web/www/shixinke"
 3     ServerName shixinke.com
 4     ServerAlias www.shixinke.com
 5     ErrorLog "logs/shixinke.com-error_log"
 6     CustomLog "logs/shixinke.com-access_log" common
 7 </VirtualHost>
 8 <VirtualHost *:8080>
 9     DocumentRoot "/web/www/withec"
10     ServerName withec.com
11     ErrorLog "logs/withec.com-error_log"
12     CustomLog "logs/withec.com-access_log" common
13 </VirtualHost>

五,apache中兩個指令補充(配置中的指令)

1、alias:指定虛擬目錄
1 alias /uploads  /web/www/uploads;

這個指令可以指定當我們訪問/uploads這個目錄時,實際訪問的是/web/www/uploads這個目錄。

2、ServerAlias:如果我們有多個域名指向同一個網站,可以使用這個指令
1 ServerName withec.com;
2 ServerAlias withec.net;

 

 

 

轉載於:http://www.shixinke.com/linux/apache-httpd

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM