原始碼編譯 apache2.4
[root@Jaking12 ~]# yum install -y gcc pcre pcre-devel expat-devel bzip2 openssl-devel zlib* libtool [root@Jaking12 src]# rz [root@Jaking12 src]# tar xvf apr-1.7.0.tar.gz [root@Jaking12 src]# ls apr-1.7.0 apr-1.7.0.tar.gz [root@Jaking12 src]# cd apr-1.7.0 [root@Jaking12 apr-1.7.0]# ./configure --prefix=/usr/local/apr [root@Jaking12 apr-1.7.0]# make [root@Jaking12 apr-1.7.0]# make install [root@Jaking12 apr-1.7.0]# cd .. [root@Jaking12 src]# rz rz waiting to receive. zmodem trl+C ȡ 100% 541 KB 541 KB/s 00:00:01 0 Errors.. [root@Jaking12 src]# ls apr-1.7.0 apr-1.7.0.tar.gz apr-util-1.6.1.tar.gz [root@Jaking12 src]# tar xf apr-util-1.6.1.tar.gz [root@Jaking12 src]# ls apr-1.7.0 apr-1.7.0.tar.gz apr-util-1.6.1 apr-util-1.6.1.tar.gz [root@Jaking12 src]# cd apr-util-1.6.1 [root@Jaking12 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr [root@Jaking12 apr-util-1.6.1]# make [root@Jaking12 apr-util-1.6.1]# make install
更多的選項可以透過./configure --help 瞭解 官方的編譯選項文件http://httpd.apache.org/docs/current/programs/configure.html --prefix=/usr/local/apache --sysconfdir=/etc/httpd // 指定配置檔案在安裝在哪個路徑。如不指定,配置檔案就在程式安裝的目錄;如指定/etc目錄 --with-apr=/usr/local/apr // 指定依賴的apr路徑。注意必須指明路徑,否則編譯時會自動去找/usr下的apr,而不是編譯的高版本apr,下同 --with-apr-util=/usr/local/apr-util --with-mpm=MPM //指定預設的 [prefork | worker | event] 如3種MPM模組都編譯了,則透過此項指定預設使用哪種 --with-pcre //依賴pcre庫用於解決正規表示式問題。 ## 安裝 pcre-devel(相容Perl的正規表示式庫) --enable-so //開啟 so 模組,啟用動態裝載模組功能 --enable-ssl //啟用ssl功能。注意要先安裝,https使用 --enable-cgi //啟用cgi功能,為非執行緒方式工作的mpm使用 --enable-cgid //以執行緒工作(worker/event)的mpm使用 --enable-rewrite //支援 URL 重寫 --enable-zlib //通用壓縮機制 --enable-module=most //[ all | most | ……] 指定啟用哪些模組。可指定具體的模組名,也可使用all表示啟用所有模組,most表示啟用大多數常用模組。 一般使用most即可 --enable-mpms-shared=all //啟用MPM支援的模式,啟用哪種mpm(prefork,worker,event),使用worker或event時要另外一種方式編譯php(編譯時使用了–enable-maintainer-zts選項) --enable-deflate //傳輸壓縮機制,節約頻寬提供對內容的壓縮傳輸編碼支援一般是html、js、css等內容的站點。使用此引數會大大 提高傳輸速度提升訪問者訪問的體驗。在生產環境中這是apache調優的一個重要選項之一
[root@Jaking12 apr-util-1.6.1]# cd .. [root@Jaking12 src]# rz rz waiting to receive. zmodem trl+C ȡ 100% 8983 KB 8983 KB/s 00:00:01 0 Errors [root@Jaking12 src]# ls apr-1.7.0 apr-1.7.0.tar.gz apr-util-1.6.1 apr-util-1.6.1.tar.gz httpd-2.4.39.tar.gz [root@Jaking12 src]# tar xf httpd-2.4.39.tar.gz [root@Jaking12 src]# ls apr-1.7.0 apr-util-1.6.1 httpd-2.4.39 apr-1.7.0.tar.gz apr-util-1.6.1.tar.gz httpd-2.4.39.tar.gz [root@Jaking12 src]# cd httpd-2.4.39 [root@Jaking12 httpd-2.4.39]# ./configure --prefix=/usr/local/apache24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mods-shared=most --enable-mpms-shared=all --with-mpm=event [root@Jaking12 httpd-2.4.39]# make [root@Jaking12 httpd-2.4.39]# make install 所有元件 /usr/local/apache24 主配置檔案 /usr/local/apache24/conf 啟動指令碼 /usr/local/apache24/bin/apachectl [root@Jaking12 httpd-2.4.39]# ls /usr/local/apache24/ bin build cgi-bin conf error htdocs icons include logs man manual modules [root@Jaking12 httpd-2.4.39]# ls /usr/local/apache24/conf/ extra httpd.conf magic mime.types original [root@Jaking12 httpd-2.4.39]# ls /usr/local/apache24/bin/ ab apxs dbmmanage envvars-std htcacheclean htdigest httpd logresolve apachectl checkgid envvars fcgistarter htdbm htpasswd httxt2dbm rotatelogs [root@Jaking12 httpd-2.4.39]# ll /usr/local/apache24/bin/apachectl -rwxr-xr-x 1 root dip 3440 Mar 10 16:45 /usr/local/apache24/bin/apachectl
啟動 apache2.4
[root@Jaking12 httpd-2.4.39]# /usr/local/apache24/bin/apachectl AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::250:56ff:fe2c:fe97%ens33. Set the 'ServerName' directive globally to suppress this message 這是一個提示,問題不大 (⊙o⊙)…
重啟 apache2.4
[root@Jaking12 httpd-2.4.39]# /usr/local/apache24/bin/apachectl graceful
檢視 apache2.4 相關資訊
[root@Jaking12 httpd-2.4.39]# netstat -pantul | grep 80 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 807/sshd tcp6 0 0 :::80 :::* LISTEN 35199/httpd tcp6 0 0 :::22 :::* LISTEN 807/sshd [root@Jaking12 httpd-2.4.39]# grep DocumentRoot /usr/local/apache24/conf/httpd.conf # DocumentRoot: The directory out of which you will serve your DocumentRoot "/usr/local/apache24/htdocs" # access content that does not live under the DocumentRoot. [root@Jaking12 httpd-2.4.39]# ls /usr/local/apache24/htdocs index.html [root@Jaking12 httpd-2.4.39]# cat /usr/local/apache24/htdocs/index.html It works!
自定義首頁內容
[root@Jaking12 httpd-2.4.39]# vim /usr/local/apache24/htdocs/index.html It works! Hello World!
設定檔案共享服務
[root@Jaking12 httpd-2.4.39]# cd /usr/local/apache24/htdocs/ [root@Jaking12 htdocs]# ls index.html [root@Jaking12 htdocs]# touch file{1..10} [root@Jaking12 htdocs]# ls file1 file10 file2 file3 file4 file5 file6 file7 file8 file9 index.html [root@Jaking12 htdocs]# mv index.html index.html.bak [root@Jaking12 htdocs]# ls file1 file10 file2 file3 file4 file5 file6 file7 file8 file9 index.html.bak
總結
至此,實戰演示原始碼編譯 apache2.4完畢。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2700621/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Kubernetes原始碼編譯原始碼編譯
- Spring原始碼編譯Spring原始碼編譯
- 原始碼編譯Vim 8原始碼編譯
- MongoDB(0)- 原始碼編譯MongoDB原始碼編譯
- XCode 編譯 PAG 原始碼XCode編譯原始碼
- Docker編譯Azerothcore原始碼Docker編譯原始碼
- centos7.2原始碼安裝Apache2.4CentOS原始碼Apache
- MacOS X 編譯Android原始碼Mac編譯Android原始碼
- WebRTC研究 (一) 編譯原始碼Web編譯原始碼
- 原始碼編譯安裝Redis原始碼編譯Redis
- nvme driver 原始碼修改、編譯原始碼編譯
- Android FrameWork 之原始碼編譯AndroidFramework原始碼編譯
- 龍芯原始碼編譯MySQL原始碼編譯MySql
- Swift原始碼專案編譯Swift原始碼編譯
- Dubbo原始碼之動態編譯原始碼編譯
- android 反編譯APK取原始碼。Android編譯APK原始碼
- 原始碼編譯安裝的原理原始碼編譯
- 【轉】MySQL原始碼編譯安裝MySql原始碼編譯
- openssl原始碼編譯及配置方法原始碼編譯
- Vue3原始碼分析——編譯模組和編譯器Vue原始碼編譯
- 寫Java這麼久,JDK原始碼編譯過沒?編譯JDK原始碼踩坑紀實JavaJDK原始碼編譯
- Ubuntu 15.04編譯Android 6.0.1原始碼-Nexus5真機編譯Ubuntu編譯Android原始碼
- MySQL5.7.16原始碼編譯安裝MySql原始碼編譯
- 如何順利完成Kubernetes原始碼編譯?原始碼編譯
- 【Visual Leak Detector】原始碼編譯 VLD 庫原始碼編譯
- RocketMQ--原始碼編譯和介紹MQ原始碼編譯
- 阿里雲mysql原始碼編譯安裝阿里MySql原始碼編譯
- 編譯python(cpython)的原始碼及其用途編譯Python原始碼
- nginx原始碼編譯安裝(詳解)Nginx原始碼編譯
- Flink1.9.2原始碼編譯和使用原始碼編譯
- grpc-java原始碼環境編譯RPCJava原始碼編譯
- 編譯除錯Net6原始碼編譯除錯原始碼
- Android 11 原始碼下載+編譯教程Android原始碼編譯
- hive原始碼編譯(失敗記錄)Hive原始碼編譯
- PostgreSQL原始碼學習 win10原始碼編譯安裝SQL原始碼Win10編譯
- Kubernetes原始碼學習之一:下載和編譯原始碼原始碼編譯
- Spring 6 原始碼編譯和高效閱讀原始碼技巧分享Spring原始碼編譯
- Mac Android8.0原始碼編譯筆記MacAndroid原始碼編譯筆記