當前位置:首頁 » 操作系統 » linuxapache升級

linuxapache升級

發布時間: 2022-08-09 12:56:43

linux下升級apache server問題

沒有找到確定的全稱域名,使用預設的域名:localhost.localdomain

如果你是內部網路或者是用作測試,隨便指定或者直接使用預設的都可以。

⑵ linux4.7升級apache2.2到2.4編譯出錯

應該是安裝的組件不對吧,以下是我安裝的安裝步驟:
tar zxvf apr-1.5.1.tar.gz
cd apr-1.5.1/
./configure--prefix=/root/server/lib/apr/apr-1.5.1
make
make install

tar zxvf apr-util-1.5.3.tar.gz
cd apr-util-1.5.3/
./configure--prefix=/root/server/lib/apr/apr-util-1.5.3--with-apr=/root/server/lib/apr/apr-1.5.1
make
make install

unzip pcre-8.35.zip
cd pcre-8.35/
./configure--prefix=/root/server/lib/pcre/pcre-8.35
make
make install

tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8/
./configure--prefix=/root/server/lib/zlib/zlib-1.2.8
make
make install

tar zxvf httpd-2.4.9.tar.gz
cp -rf apr-1.5.1 httpd-2.4.9/srclib/apr
cp -rf apr-util-1.5.3httpd-2.4.9/srclib/apr-util
cd httpd-2.4.9/
./configure--prefix=/root/server/httpd-2.4.9 --with-included-apr--with-apr=/root/server/lib/apr/apr-1.5.1--with-apr-util=/root/server/lib/apr/apr-util-1.5.3--with-pcre=/root/server/lib/pcre/pcre-8.35-with-z=/root/server/lib/zlib/zlib-1.2.8 --enable-so --enable-moles=all--enable-mods-shared=all --enable-deflate --enable-headers
make
make install

tar zxvftomcat-connectors-1.2.40-src.tar.gz
cd tomcat-connectors-1.2.40-src/
cd native/
./buildconf.sh
./configure--with-apxs=/root/server/httpd-2.4.9/bin/apxs
make
make install
我安裝的2.4.9沒有什麼問題,主要是安裝Apache的時候 configure的依賴關系要選擇正確。

⑶ linux 如何查看apache什麼時候重啟的

Linux系統為Ubuntu 一、Start Apache 2 Server /啟動apache服務 # /etc/init.d/apache2 start or $ sudo /etc/init.d/apache2 start 二、 Restart Apache 2 Server /重啟apache服務 # /etc/init.d/apache2 restart or $ sudo /etc/init.d/apache2 restart 三、Stop Apache 2 Server /停止apache服務 # /etc/init.d/apache2 stop or $ sudo /etc/init.d/apache2 stop linux下的apache 重啟和停止 本文檔敘述了在類Unix系統上如何停止和重啟Apache 。 Windows NT/2000/XP/2003的用戶請參見以服務方式運行Apache ,Windows 9x/ME用戶則參見在控制台中運行Apache 。 簡介 為了停止或者重新啟動Apache ,你必須向正在運行的httpd進程發送信號。有兩種發送信號的方法。第一種方法是直接使用UNIX的kill命令向運行中的進程發送信號。你也許你會注意到你的系統里運行著很多httpd進程。但你不應該直接對它們中的任何一個發送信號,而只要對已經在PidFile中記載下了自身PID的父進程發送信號。也就是說,你不必對父進程以外的任何進程發送信號。你可以向父進程發送三種信號:TERM、HUP、USR1 ,我們過一會兒再進行詳細的說明。 你可以用下面這樣的命令來向父進程發送信號: kill -TERM `cat /usr/local/apache2/logs/httpd.pid` 第二種方法是使用下面將要描述的httpd二進制可執行文件的 -k 命令行選項:stop、restart、graceful、graceful-stop 。不過我們推薦你使用apachectl控制腳本來向httpd二進制可執行文件傳遞這些選項。 當你向httpd發送信號後,你可以這樣來讀取它的進行過程: tail -f /usr/local/apache2/logs/error_log 你可以修改這些示例以適應你的ServerRoot和PidFile設置。 立即停止 信號:TERM apachectl -k stop 發送TERM或stop信號到父進程可以使它立刻殺死所有子進程。這將花費一些時間來殺死所有子進程。然後父進程自己也退出。所有進行中的請求將被強行中止,而且不再接受其它請求。 優雅重啟 信號:USR1 apachectl -k graceful USR1或graceful信號使得父進程建議子進程在完成它們現在的請求後退出(如果他們沒有進行服務,將會立刻退出)。父進程重新讀入配置文件並重新打開日誌文件。每當一個子進程死掉,父進程立刻用新的配置文件產生一個新的子進程並立刻開始伺服新的請求。 重啟代碼的設計能夠確保MPM進程式控制制指令的正常運作,也就是在重啟過程中確保有適當數量的進程和線程以響應客戶端的請求。它是這樣StartServers的:如果在一秒鍾以後還沒有新創建StartServers個子進程,則創建出足夠完成現在任務的子進程個數。因此,代碼除了保有能夠維持伺服器的現有負載數量的子進程外,也確保StartServers按你的意願運作。 使用mod_status的用戶會注意到在USR1信號發出後,伺服器的統計信息沒有被清零。代碼被寫成既能將你伺服器無法伺服新請求的時間降至最少(這些請求將被操作系統放到隊列里,使得它們不會丟失),又能遵從你的參數優化。為了做到這一點,它將在重新生成子進程的過程中,在scoreboard上保存所有子進程的狀態。 mod_status還會將那些在優雅重啟前就已經開始而沒有結束伺服請求的子進程用一個"G"來標志。 目前,日誌滾動腳本還無法使用USR1來確定所有寫入預重啟日誌的子進程都已結束。我們建議你在發出了USR1信號後等待一個適當的時間,然後再對舊的日誌做處理。比如說如果對於一個窄帶用戶來說,大部分的點擊處理將在10分鍾之內完成,那麼你應該在處理舊的日誌前等待15分鍾。 如 果Apache重啟時發現配置文件有誤,那麼父進程將不會重啟,而是報錯並退出。在優雅重啟的情況下,它將在處理中的子進程存在的情況下維持它的存在(就 是那些被要求在處理完它們的請求後"優雅退出"的子進程)。如果你要重啟伺服器,這將導致一些問題:它將不能綁定到它的監聽埠。在執行重啟之前,你可以 用 -t 命令行參數來檢查配置文件語法的正確性(參見httpd)。但這仍然不能保證伺服器一定可以正確的重啟。為了從語法和語義兩方面檢查配置文件,你可以用一個非root用戶來啟動httpd。如果沒有錯誤,它將嘗試去打開套接字和日誌文件,繼而因沒有root許可權而失敗(或是因為現在運行的httpd已經綁定了這些埠)。如果是因為其他原因那麼就可能是一個配置文件產生的錯誤,你就應當在進行優雅重啟之前改正這個錯誤。立即重啟 信號:HUP apachectl -k restart 向父進程發送HUP或restart信號會使它象收到TERM信號一樣殺掉所有的子進程,不同之處在於父進程本身並不退出。它重新讀入配置文件、重新打開日誌文件。然後產生一系列新的子進程來繼續服務。 使用mod_status的用戶會注意到在HUP信號發出後,伺服器統計信息會被清零。 如果你重啟時配置文件有誤,那麼父進程將不會重啟,而是報錯並退出。參見上文中避免的方法。優雅停止 信號:WINCH apachectl -k graceful-stop WINCH或graceful-stop信號使得父進程建議子進程在完成它們現在的請求後退出(如果他們沒有進行服務,將會立刻退出)。然後父進程刪除PidFile並停止在所有埠上的監聽。父進程仍然繼續運行並監視正在處理請求的子進程,一旦所有子進程完成任務並退出或者超過由GracefulShutdownTimeout指令規定的時間,父進程將會退出。在超時的情況下,所有子進程都將接收到TERM信號並被強制退出。 在"優雅"狀態下,TERM信號將會立即中止父進程和所有子進程。由於PidFile已經被刪除,你將無法使用apachectl或httpd發送該信號。 graceful-stop允許你同時運行多個相同配置的httpd實例。這在對Apache進行平滑升級的時候是一個非常有用的特性。不過它在某些配置的情況下同樣可能會導致死鎖和競爭條件。 必須注意確保諸如Lockfile和ScriptSock之類的磁碟文件包含伺服器的PID ,並且能夠安全的共存。然而如果一個配置指令、第三方模塊或持久CGI使用任何磁碟鎖或狀態文件,必須注意確保多個httpd運行實例之間不會爭搶文件。 你還必須防止潛在的競爭條件,比如使用rotatelogs風格的管道日誌。運行中的多個rotatelogs實例企圖同時滾動同一個日誌文件可能會導致互相破壞對方的日誌文件。 附錄:信號和競爭條件 在Apache 1.2b9 之前,有很多關於重啟和死亡信號的競爭條件。關 於競爭條件的一個簡單描述是:一個時間敏感的問題,如果一些事情在不適當的時間或以不恰當的順序發生,它將作出你不期望的反應;如果同樣的事情在恰當的時 間發生,則不會出現異常。憑借那些擁有"正確"特性設置的體系結構,我們盡量避免了它們的出現。但值得注意的是,仍然有一些競爭條件存在於這樣的體系結構 中。 使用物理磁碟的ScoreBoardFile就有損壞ScoreBoard的潛在危險。這將發生在"bind: Address already in use"(HUP之後)或"long lost child came home!"(USR1之後)時。前者是一個致命錯誤,而後者則會使伺服器丟失ScoreBoard的一個記錄。所以我們建議多使用優雅重啟,偶爾使用硬重啟。這些問題很難解決,但幸運的是大多數結構並不需要ScoreBoard文件。而如果你需要這樣的結構,你可以參考ScoreBoardFile文檔。 當 每個子進程在一個HTTP的持續連接(KeepAlive)中涉及到第二個並發的請求時,所有的結構都會或多或少存在競爭狀態的問題。它將在讀取了請求而 沒有讀取任何請求頭之後立刻退出。這個修復對於1.2來說來得太晚了。但因為持續連接的客戶端已經考慮到網路延時和伺服器超時會造成類似的情況,所以理論 上說,這不是一個太大的問題。而實際上似乎也沒有任何影響:在一個測試案例中伺服器在一秒之內被重啟了20次,而客戶端卻成功的瀏覽了網站,而且沒有任何 破損的圖片或空文檔。

⑷ LINUX 怎麼把Apache/2.0.52 升級成Apache/2.2.0

如果是fedora :yum install apache*
ubuntu:sudo apt-get install apache*

⑸ linux apache 性能調優 8G 8核 的伺服器

[檢測工具]

為了得到完整的調試結果,建議你採用 ApacheBench 或者 httperf之類的軟體。如果你對非 LAMP 架構的伺服器測試有興趣的話,建議你採用微軟的免費軟體: Web Application Stress Tool(需要 NT 或者 2000)。 (其它伺服器測試工具)

檢測 Apache ,採用 top d 1 顯示所有進程的 CPU 和內存情況。另外,還採用 apachectl status 命令

[硬體優化]

1、升級硬體的一般規則:對於 php 腳本而言,主要的瓶頸是 CPU ,對於靜態頁面而言,瓶頸是內存和網路。一台 400 Mhz 的普通奔騰機器所下載的靜態頁面就能讓 T3 專線(45Mbps)飽和。

2、採用 hdparm 來優化磁碟,一般能提升 IDE 磁碟讀寫性能 200%,但是對 SCSI 硬碟也有效果。(不同類型的硬碟對比)

[策略優化]

3、Apache 處理 PHP 腳本的速度要比靜態頁面慢 2-10 倍,因此盡量採用多的靜態頁面,少的腳本。

4、PHP 腳本如果不做緩沖,每次調用都需要編譯,因此,安裝一個 PHP 緩沖產品能提升 25-100% 的性能。

5、如果你採用了 Linux 系統,建議升級內核到 2.4,因為靜態頁面由內核服務。

6、另外一項緩沖技術是把不常修改的 PHP 頁面採用 HTML 緩沖輸出。

7、不要在 Web 伺服器上運行 X-Windows ,關掉沒有必要運行的進程。

8、如果能夠用文本就不要用圖像,盡量減小圖片的尺寸。

9、分散負載,把資料庫伺服器放到另外的機器上去。採用另外低端的機器服務圖片和 HTML 頁面,如果所有的靜態頁面在另外一台伺服器上處理,可以設置 httpd.conf 中的 KeepAlives 為 off ,來減少斷開連接的時間。

10、以上所有的方法都是針對單機而言的,如果你覺得系統還是不夠快,可以採用集群,負載均衡,緩沖技術。採用 Squid 作為緩沖,配置 Squid 的方法。

[編譯優化]

11、把基於文件的會話切換到基於共享內存的會話。編譯 PHP 時採用 --with-mm 選項,在 php.ini 中設置 set session.save_handler=mm 。這個簡單的修改能讓會話管理時間縮短一半。

12、採用最新版本的 Apache ,並把 PHP 編譯其中,或者採用 DSO 模式,不要採用 CGI 方式。

13、編譯 PHP 時,建議採用如下的參數:
--enable-inline-optimization --disable-debug

[配置優化]

14、修改 httpd.conf :
# 關閉 DNS lookups,PHP 腳本只拿 IP 地址
HostnameLookups off

15、如果網路擁擠,CPU 資源不夠用,採用 PHP 的 HTML 壓縮功能:
output_handler = ob_gzhandler
PHP 4.0.4 的用戶請不要使用,因為存在內存泄漏問題。

16、修改 httpd.conf 中的 SendBufferSize 為你最大的頁面文件的大小。加大內核的 TCP/IP 寫緩沖大小。

17、採用資料庫的持久連接時,不要把 MaxRequestsPerChild 設置得太大。

[第三方軟體優化]

18、如果喜歡從修改 Apache 源碼入手,可以安裝 lingerd。在頁面產生和發送後,每個 Apache 進程都會浪費一段時光在客戶連接上,Lingerd 能接管這項工作,讓 Apache 迅速服務下一個客戶請求。

19、如果你足夠勇敢的話,還可以採用 Silicon Graphics 的 Accelerated Apache 補丁。這個工程能使 Apache 1.3 快 10 倍,使 Apache 2.0 快 4 倍。

安裝一個 PHP 緩沖產品能提升 25-100% 的性能。

[Linux系統優化]

1.清理伺服器磁碟碎片:

不論Linux文件系統採用什麼文件格式(ext3、JFS、XFS、ReiserFS )、何種類型的硬碟(IDE 、SCSI),隨著時間的推移文件系統都會趨向於碎片化。ext3、JFS等高級文件系統可以減少文件系統的碎片化,但是並沒有消除。在繁忙的資料庫伺服器中,隨著時間的過去,文件碎片化將降低硬碟性能,硬碟性能從硬碟讀出或寫入數據時才能注意到。時間長了會發現每個磁碟上確實積累了非常多的垃圾文件,釋放磁碟空間可以幫助系統更好地工作。Linux最好的整理磁碟碎片的方法是做一個完全的備份,重新格式化分區,然後從備份恢復文件。但是對於7×24小時工作關鍵任務伺服器來說是比較困難的。Kleandisk是一個高效的磁碟清理工具,它能把磁碟上的文件分成不同的"組",比如把所有的"core"文件歸成一組(Group),這樣要刪除所有core文件時只要刪除這個組就行了。core文件是當軟體運行出錯時產生的文件,它對於軟體開發人員比較有用,對於其他用戶(比如電子郵件伺服器)卻沒有任何意義。因此,如果沒有軟體開發的需要,見到core文件就可以將其刪除。

2、開啟硬碟DMA

現在使用的IDE硬碟基本支持DMA66/100/133(直接內存讀取)但是Linux發行版本安裝後一般沒有打開,可以 /etc/rc.d/rc.local 最後面加上一行: /sbin/hdparm -d1 –x66 -c3 -m16 /dev/hda 這樣以後每次開機,硬碟的 DMA 就會開啟,不必每次手動設定。添加前後你可以使用命令:hdparm -Tt /dev/hda 來測試對比一下。

3、調整緩沖區刷新參數

Linux內核中,包含了一些對於系統運行態的可設置參數。緩沖刷新的參數可以通過調整 /proc/sys/vm/bdflush文件來完成,這個文件的格式是這樣的:

「mode」的值表示工作模式,共有0、1、2和3四種模式,這里設定為0。Bonding工作在負載均衡(Load Balancing (round-robin))方式下,即兩塊網卡同時工作,這時理論上Bonding能提供兩倍的帶寬。Bonding運行在網卡的混雜(Promisc)模式下,而且它將兩塊網卡的MAC地址修改為一樣的。混雜模式就是網卡不再只接收目的硬體地址是自身MAC地址的數據幀,而是可以接收網路上所有的幀。

5、減少虛擬終端機的數量。

Linux安裝後系統默認是6個虛擬終端機,也就是 CTRL+ALT F1~F6 那六個,作為伺服器使用可以關掉其中四個,只留下 CTRL+ALT F1~F2,大約省下 4 Mbytes 的內存,但是這樣一來,X-Window 會從原來的 CTRL+ALT F7 變成 CTRL+ALT F3 。 修改 /etc/inittab 中,將 mingetty 3 ~6 全部加上 # 字型大小 。

6. 關閉一些不用的服務

Linux伺服器在啟動時需要啟動很多系統服務,它們向本地和網路用戶提供了Linux的系統功能介面,直接面向應用程序和用戶。提供這些服務的程序是由運行在後台的守護進程(daemons)來執行的。守護進程是生存期長的一種進程。它們獨立於控制終端並且周期性的執行某種任務或等待處理某些發生的事件。他們常常在系統引導裝入時啟動,在系統關閉時終止。linux系統有很多守護進程,大多數伺服器都是用守護進程實現的。如Web服務http等。同時,守護進程完成許多系統任務,比如,作業規劃進程crond、列印進程lqd等。

⑹ 伺服器現在使用的是Apache 2.4.2,如何升級為Apache 2.4.3

windows還是Linux?
windows直接刪了重裝成高版本,linux如果是rpm包,直接用Yum update 來升級,源碼包要重新編譯安裝才可以

⑺ Linux下如何給 apache 打補丁

靜態化的方法,應該是在源碼中打補丁。

首先到官方網站下載Apache的源碼並解壓之。然後到解壓目錄中,再執行下命令:

patch-p0../foo.patch#假設../foo.patch就是補丁文件。如果Patch告訴你不知道文件在那,就把0換成1

動態化的方法,應該就沒有了。

熱點內容
電腦登陸加密 發布:2025-01-16 05:21:57 瀏覽:151
安卓怎麼修復閃退 發布:2025-01-16 05:21:54 瀏覽:553
易盾加密 發布:2025-01-16 05:20:51 瀏覽:893
html上傳圖片的代碼 發布:2025-01-16 05:16:55 瀏覽:600
搭建伺服器租用電信的怎麼樣 發布:2025-01-16 05:12:32 瀏覽:49
phpmysql源碼下載 發布:2025-01-16 05:12:31 瀏覽:211
python安裝依賴包 發布:2025-01-16 05:11:45 瀏覽:996
澳門雲主機品牌伺服器 發布:2025-01-16 05:06:55 瀏覽:769
資料庫設計主要內容 發布:2025-01-16 05:02:02 瀏覽:13
存儲過程如何修改 發布:2025-01-16 05:01:55 瀏覽:634