apache編譯安裝
A. apache沒有安裝文件怎麼安裝
有現成的web環境套件,例如想在Windows中運行apache,可以選擇wamp環境套件,他包含apache、mysql、php,如果想在Linux系統中運行,最好選擇編譯安裝方式,直接從apache網站下載源代碼,通過mkae install來進行環境部署;
B. 編譯安裝的apache怎麼用service啟動
Apache安裝後可通過其安裝路徑的bin目錄下的apachectl腳本控制服務的啟動和停止。本例中apache安裝在/usr/local/apache-2.2.6,服務控制腳本為:
/usr/local/apache-2.2.6/bin/apachectl
執行下面的命令啟動Apache服務:
/usr/local/apache-2.2.6/bin/apachectl start
執行下面的命令停止Apache服務:
/usr/local/apache-2.2.6/bin/apachectl stop
可以簡單地把Apache啟動命令加到/etc/rc.local文件,讓Apache隨系統啟動而自動啟動:
echo"/usr/local/apache-2.2.6/bin/apachectl start" >> /etc/rc.local
下面介紹如何把Apache加入到系統服務,用service命令來控制Apache的啟動和停止。
首先以apachectl腳本為模板生成Apache服務控制腳本:
grep -v "#"/usr/local/apache-2.2.6/bin/apachectl > /etc/init.d/apache
用vi編輯Apache服務控制腳本/etc/init.d/apache:
vi /etc/init.d/apache
在文件最前面插入下面的行,使其支持chkconfig命令:
#!/bin/sh
# chkconfig: 2345 85 15
# description: Apache is a World Wide Webserver.
保存後退出vi編輯器,執行下面的命令增加Apache服務控制腳本執行許可權:
chmod +x /etc/init.d/apache
執行下面的命令將Apache服務加入到系統服務:
chkconfig --add apache
執行下面的命令檢查Apache服務是否已經生效:
chkconfig --list apache
命令輸出類似下面的結果:
apache 0:off 1:off 2:on 3:on 4:on 5:on 6:off
表明apache服務已經生效,在2、3、4、5運行級別隨系統啟動而自動啟動,以後可以使用service命令控制Apache的啟動和停止。
啟動Apache服務:
service apache start
停止Apache服務:
service apache stop
執行下面的命令關閉開機自啟動:
chkconfig apache off
執行下面的命令改變開機自啟動的運行級別為3、5:
chkconfig --level 35 apache on
C. Linux編譯安裝apache httpd2.4 make報錯
缺少pcre-8.41.tar.gz包,找一個pcre和你httpd對應得版本安裝
./configure --prefix=/usr/local/pcre
make && make install
安裝好了之後,加上參數--with-pcre=/usr/local/pcre 如下所示
./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre
D. ubuntu 編譯安裝apache2怎麼重啟
步驟
首先,安裝Apache2,安裝命令:sudo apt-get install apache2
安裝完成後,進入到/etc/apache2中(根據自己的實際安裝目錄),這邊我配置文件在/etc/apache2中。
我們看到沒有想像中的httpd.conf配置文件,這里要說明的是apache2的配置文件是apache2.conf,而不是http.conf。
打開apache2.conf。寫入兩條語句
ServerName localhost
DirectoryIndex index.html index.htm index.php
這里的ServerName localhost是為了防止最後開啟apache2服務的時候會提示DNS出錯。
DirectoryIndex index.html index.htm index.php是默認目錄的寫法。保存退出。
可以在apache2.conf中加入 AddDefaultCharset GB2312
設置默認字元集,定義伺服器返回給客戶機默認字元集(由於西歐UTF-8是Apache默認字元集,因此當訪問有中文的網頁時會出現亂碼,這時只要將字元集改成GB2312,再重啟Apache服務即可)
Listen 192.168.1.1:80 設置監聽ip是192.168.1.1的地址和埠為80
Listen 192.168.1.2:8080 設置監聽ip是192.168.1.2的地址和埠為8080
Alias /down "/sofТWare /download"
創建虛擬目錄(創建名為down的虛擬目錄,它對應的物理路徑是:/sofТWare /download)
Alias /ftp "/var/ftp"
創建虛擬目錄(創建名為ftp的虛擬目錄,它對應的物理路徑是:/var/ftp)
<Directory "/var/www/html">
設置目錄許可權
(<Directory "目錄路徑">此次寫設置目錄許可權的語句</Directory>)
Options FollowSymLinks page:116
AllowOverride None
</Directory>
需要說明的是,在apache2中,根設置(默認主目錄)在 /etc/apache2/sites-АVailable/default中,我們打開default,進行配置。
如圖,這里我們的默認主目錄設置的路徑是/var/www,文檔最上方的VirtualHost後方的*代表通配符,即表示所有本機ip地址,監聽埠為80,ServerName填寫你注冊的域名,沒有可以不填。保存退出。
4
至此,基本配置已經全部完成,查看本機ip地址。輸入啟用apache2的命令:/etc/init.d/apache2 restart.並在瀏覽器中輸入本機ip地址。成功!
E. 編譯安裝apache遇到很多麻煩唉
實體機能ping通虛擬機嘛,它倆在一個網段嘛,如果互相能通信,web應該是可以訪問的!
F. 編譯安裝的apache,httpd.pid在哪
/var/run/httpd/httpd.pid
看下httpd.conf的配置文件下,比如
grep pid /etc/httpd/conf/httpd.conf
find / -name httpd.pid
G. centos安裝apache mysql php用YUM安裝與編譯安裝有什麼區別
YUM安裝:需要連接網路,依賴庫可以自動補全;
編譯安裝:自己下載安裝包,依賴包要自己補
H. apache如何安裝要非常詳細
Apache是一個歷史悠久並且功能十分強大的WEB伺服器,但其豐富的功能對於一個新手來說往往不知道從何下手。我個人感覺Apache的設計充分體現了模塊化設計的優勢,通過在動態模塊載入(DSO)模式下的安裝,任何子應用模塊都可以通過配置文件的簡單修改進行積木式的靈活配置。安裝的過程可以從簡單的靜態html服務開始,一個模塊一個模塊的學習使用。從單純的HTML靜態服務(core),到復雜的動態頁面服務(core + php, core + resin, core + php + mod_gzip, core + resin + mod_expire)。
本文主要從簡化安裝==>性能調優==>維護方便的角度,介紹了WEB服務的規劃、HTTPD安裝/應用模塊配置、升級/維護等過程。讓Apache和PHP,Resin等應用模塊的獨立升級,完全互不影響。
WEB應用容量規劃:根據硬體配置和WEB應用的特點進行WEB服務的規劃及一些簡單的估算公式;
Apache安裝過程:apache的通用的簡化安裝選項,方便以後的應用的模塊化配置;
修改 HARD_SERVER_LIMIT:
vi /path/to/apache_src/src/include/httpd.h
#define HARD_SERVER_LIMIT 2560 <===將原來的 HARD_SERVER_LIMIT 256 後面加個「0」
apache編譯:
./configure --prefix=/home/apache --enable-shared=max --enable-mole=most
可選應用模塊/工具的安裝:php resin mod_gzip mod_expire及各個模塊之間的配合;
mod_php安裝:./configure --with-apxs=/home/apache/bin/apxs --enable-track-vars --with-mysql
mod_resin安裝:./configure --with-apxs=/home/apache/bin/apxs
mod_gzip安裝:修改Makefile中的 apxs路徑:然後make make install
工具:日誌輪循工具cronolog安裝:http://www.cronolog.org
升級/維護:看看通用和模塊化的安裝過程如何簡化了日常的升級/維護工作;
按照以上的方法:系統管理員和應用管理員的職責可以清楚的分開,互相獨立。
系統安裝:系統管理員的職責就是安裝好一台DSO模式的Apache,然後COLON即可,
應用安裝:由應用管理員負責具體應用所需要的模塊,比如PHP Resin等,並設置httpd.conf中相關的配置。
系統升級:系統管理員:升級操作系統/升級Apache
應用升級:應用管理員:升級應用模塊,PHP Resin等。
WEB應用的容量規劃
Apache主要是一個內存消耗型的服務應用,我個人總結的經驗公式:
apache_max_process_with_good_perfermance < (total_hardware_memory / apache_memory_per_process ) * 2
apache_max_process = apache_max_process_with_good_perfermance * 1.5
為什麼會有一個apache_max_process_with_good_perfermance和apache_max_process呢?原因是在低負載下系統可以使用更多的內存用於文件系統的緩存,從而進一步提高單個請求的響應速度。在高負載下,系統的單個請求響應速度會慢不少,而超過 apache_max_process,系統會因為開始使用硬碟做虛擬內存交換空間而導致系統效率急劇下降。此外,同樣的服務:2G內存的機器的 apache_max_process一般只設置到1G內存的1.7倍,因為Apache本身會因為進程過多導致性能下降。
I. 如何編譯配置Apache中的Configure
./Configure文件是一個經常被遺忘的Apache工具。本文介紹如何用./Configure進行編譯配置,避免每次編譯Apache時進行重復的操作。文章比較了常規方法與使用./Configure這兩者各自的優缺點以及如何手工編輯配製文件進行編譯配置。 一、優缺點比較 我們知道,配製Apache編譯選項使用的是configure。但除此之外,我們還可以使用Configure。注意兩者的差別:常用的那個配製工具是小寫c開頭的「configure」,這里要討論的「Configure」以大寫的C開頭。 解開Apache源代碼之後,configure腳本位於頂級目錄下面。一般我們按照如下步驟使用它: tar -zvxf apache_1.3.14.tar.gz cd apache_1.3.14 ./configure --prefix=/usr/local/apache make make install Configure是位於src子目錄下的腳本。它的參數不是通過命令行指定,而是在一個名為Configuration的配置文件中指定。Apache提供一個默認的配置模板文件Configuration.tmpl,其中包含了通用的默認配置值。 用Configure進行默認安裝的過程如下: tar -zvxf apache_1.3.14.tar.gz cd apache_1.3.14/src cp -f Configuration.tmpl Configuration vi Configuration ... 如必要,修改默認配置值 ./Configure make make install 缺點 用Configure進行配製有幾個明顯的缺點,至少對初學者來說是這樣的。 首先,這種配製方法並不廣為人知。只要是對開放源代碼軟體有所了解的人,解開源代碼並進入它的目錄之後,或許會對它的configure腳本感到熟悉,但往往不會進入src子目錄去尋找其他什麼東西。 即使知道可以用Configure進行編譯配製,Configuration文件本身也可能成為小小的障礙。這是因為,雖然Configuration文件內部包含的說明相當完善,每一行都有豐富的註解說明其作用,但這個文件實在過於龐大,包含了許多大多數人永遠不想要加以定製的選項。 最後,雖然有關這兩種配製方法差別的資料略顯缺乏,但總地看來初學者最好使用configure,而Configure只適合於經驗豐富的用戶使用。雖然這並不能算是一個真正的缺點,但它無疑使許多用戶駐足而不敢嘗試。 優點 使用Configure進行編譯配製最大的優點在於,它方便了我們將特定的配置信息保存下來以後再用,無需記住冗長的configure命令行選項。 例如,本人上次編譯Apache時使用的configure命令如下: ./configure --prefix=/usr/local/apache --enable-mole=most --enable-shared=max --enable-mole=auth_dbm --enable-mole=auth_mysql 這還應該算是一次比較簡單的編譯。問題在於,即使是輸入上面這行命令,我也要查看各種參數的語法並努力記住各個模塊的名字。對於大多數人來說這並不是一個很重要的問題,但由於我經常要重新構造Apache,這個問題就顯得比較突出了。 configure也有它的好處,它實際上會在src目錄下生成一個配製文件,我們可以保存這個文件供以後參考。這個文件就是src/Configuration.apaci。 如果我們為測試目的構造Apache,完成後又要在正式運行的系統上以完全相同的方式構造Apache,configure的這個功能將是非常有用的。此時,我們只需要復制一份Configuration.apaci文件,將它拷貝到正式運行的伺服器上,然後用這個文件編譯Apache伺服器即可。 應當說明的是,雖然默認情況下配製選項由Configuration文件提供,但我們可以用-file參數指定另外的文件: ./Configure -file Configuration.saved_prefs 二、手工編輯配製文件 以前,指定編譯選項的唯一方法是手工編輯Configuration文件。當然,那時候我們還要步行上學,跋山涉水。這一切現在都已經過去。 不管怎樣,如果你准備直接使用Configuration文件,你就得仔細地了解一下它到底由什麼內容構成。Configuration文件中的大多數選項都是無需定製的,不過了解一下它們的用處是有好處的。 Configuration文件的前面是關於本文件的一個簡短說明。下面摘錄了這部分內容並給出其譯文: # There are 5 types of lines here: 這里共有5種類型的代碼行: # &single;#&single; comments, distinguished by having a &single;#&single; as the first non-blank character 「#」注釋,以第一個非空字元為「#」區別 # # Makefile options, such as CC=gcc, etc... Make文件選項,例如 CC=gcc,等等... # # Rules, distinguished by having "Rule" at the front. These are used to # control Configure&single;s behavior as far as how to create Makefile. 規則,以前面的「Rule」區別,用於控制Configure的行為以至 如何創建Make文件 # # Mole selection lines, distinguished by having &single;AddMole&single; at the front. # These list the configured moles, in priority order (highest priority # last). They&single;re down at the bottom. 模塊選擇行,以前面的「AddMole」區別。這些行以優先順序為序列出 了已經配製的模塊(高優先順序的在後面)。模塊選擇在文件最後進行。 # # Optional mole selection lines, distinguished by having `%Mole&single; # at the front. These specify a mole that is to be compiled in (but # not enabled). The AddMole directive can be used to enable such a # mole. By default no such moles are defined. 可選模塊選擇行,以前面的「%Mole」區別。這些行指定了必須 編譯的模塊(但不啟用)。AddMole指令可以啟用這種模塊。默 認不定義這種模塊。 大多數用戶只需修改模塊選擇行,其他內容只適合於深入了解其含義的用戶進行修改。在文件的最後我們可以發現許多如下形式的行: AddMole moles/standard/mod_cgi.o 它表示本次編譯Apache應啟用指定的模塊(這里是mod_cgi模塊)。我們可以用注釋掉相應行的方法來刪除特定的模塊;反之,如果取消已注釋行的注釋將啟用該模塊。 我們可以通過SharedMole指令(而不是AddMole)將模塊編譯成DSO(共享對象,shared object): SharedMole moles/standard/mod_vhost_alias.so 注意在編譯DSO時必須啟用mod_so模塊。 用configure生成Configuration.apaci文件,然後檢查其改動之處是一種很好的學習方法。 一旦在Configuration文件中完成了所有必須的改動,只需運行./Configure即可開始編譯過程。 三、使用哪種方法好? 顯然,使用configure和使用Configure都有著各自強硬的支持者,但可以相信每一種觀點都有其派別和歷史的原因。 我們建議兩種方法都用。用configure生成Configuration文件,閱讀這些文件了解其作用,然後保存其中的部分文件供以後在Configure命令中使用。 如果你打算只進行默認安裝,而且從來沒有想到過要改變任何一個選項,那麼使用哪一種方法進行配製就無關緊要了
J. apache2的Apache 的安裝
Apache 的安裝無外乎兩種方式: 源代碼安裝和DEB包安裝。這兩種安裝類型各有特色,DEB包安裝不需要編譯,而源代碼安裝則需要先配置編譯再安裝,DEB包安裝在一個固定的位置下,選擇固定的模塊,而源代碼安裝則可以讓你選擇安裝路徑,選擇你想要的模塊。本文主要介紹DEB安裝方式。
系統:GNU/Linux Debian/etch
Apache當前版本: 2.0.55-4
4.1 1. 安裝:
使用以下命令安裝:
tony@tonybox:~$sudo aptitude update
tony@tonybox:~$sudo aptitude install apache2 apache2-utils
其中apache2-utils提供了我們在配置維護過程中非常有用的一些工具
安裝完成後,可以使用下面的命令啟動Apache 服務:
tony@tonybox:~$ sudo /etc/init.d/apache2 start
停止Apache服務則是:
tony@tonybox:~$ sudo /etc/init.d/apache2 stop
也可以直接用 kill 命令強制殺死apache2進程
tony@tonybox:~$ sudo killall apache2
如有需要, 可以通過rcconf來控制是否在系統啟動是載入Apache 服務
啟動完成後打開瀏覽器, 使用URL http://localhost/ 來訪問已經啟動的Apache伺服器, 伺服器將會將會跳轉到 http://localhost/apache2-default/, 向瀏覽器返回一個Apache安裝成功的頁面.
注: 這取決於/etc/apache2/sites-available/default 配置文件中, 是否取消了
RedirectMatch ^/$ /apache2-default/
行的注釋
4.2 2. 配置文件說明
在Debian下, 安裝完成後, 軟體包為我們提供的配置文件位於/etc/apache2目錄下:
tony@tonybox:/etc/apache2$ ls -l
total 72
-rw-r--r-- 1 root root 12482 2006-01-16 18:15 apache2.conf
drwxr-xr-x 2 root root 4096 2006-06-30 13:56 conf.d
-rw-r--r-- 1 root root 748 2006-01-16 18:05 envvars
-rw-r--r-- 1 root root 268 2006-06-30 13:56 httpd.conf
-rw-r--r-- 1 root root 12441 2006-01-16 18:15 magic
drwxr-xr-x 2 root root 4096 2006-06-30 13:56 mods-available
drwxr-xr-x 2 root root 4096 2006-06-30 13:56 mods-enabled
-rw-r--r-- 1 root root 10 2006-06-30 13:56 ports.conf
-rw-r--r-- 1 root root 2266 2006-01-16 18:15 README
drwxr-xr-x 2 root root 4096 2006-06-30 13:56 sites-available
drwxr-xr-x 2 root root 4096 2006-06-30 13:56 sites-enabled
drwxr-xr-x 2 root root 4096 2006-01-16 18:15 ssl
其中
apache2.conf
為apache2伺服器的主配置文件, 查看此配置文件, 你會發現以下內容
# Include mole configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
# Include all the user configurations:
Include /etc/apache2/httpd.conf
# Include ports listing
Include /etc/apache2/ports.conf
# Include generic snippets of statements
Include /etc/apache2/conf.d/[^.#]*
有此可見, apache2 根據配置功能的不同, 對配置文件進行了分割, 這樣更利於管理
conf.d
下為配置文件的附加片斷,默認情況下, 僅提供了 charset 片斷,
tony@tonybox:/etc/apache2/conf.d$ cat charset
AddDefaultCharset UTF-8
如有需要我們可以將默認編碼修改為 GB2312, 即文件的內容為: AddDefaultCharset GB2312
httpd.conf
是個空文件
magic
文件中包含的是有關mod_mime_magic模塊的數據, 一般不需要修改它.
ports.conf
則為伺服器監聽IP和埠設置的配置文件,
tony@tonybox:/etc/apache2$ cat ports.conf
Listen 80
mods-available
目錄下是一些.conf和.load 文件, 為系統中可以使用的載入各種模塊的配置文件, 而mods-enabled目錄下則是指向這些配置文件的符號連接, 從配置文件apache2.conf 中可以看出, 系統通過mods-enabled目錄來載入模塊, 也就是說, 系統僅通過在此目錄下創建了符號連接的mods-available 目錄下的配置文件來載入模塊。同時系統還提供了兩個命令 a2enmod 和 a2dismod用於維護這些符號連接。這兩個命令由 apache2-common 包提供。命令各式也非常簡單: a2enmod [mole] 或 a2dismod [mole]
sites-available
目錄下為配置好的站點的配置文件, sites-enabled 目錄下則是指向這些配置文件的符號連接, 系統通過這些符號連接來起用站點 sites-enabled目錄下的符號連接附有一個數字前綴, 如000-default, 這個數字用於決定啟動順序, 數字越小, 啟動優先順序越高. 系統提供了兩個命令 a2ensite 和 a2dissite 用於維護這些符號連接。這兩個命令由 apache2-common 包提供.
/var/www
默認情況下將要發布的網頁文件應該置於/var/www目錄下,這一默認值可以同過主配置文件中的DocumnetRoot 選項修改.