1.WHY?nginx
在Linux下的一個項目都包含了多個源文件,這麼多文件若是讓使用者一個個下載,那是很費功夫的,因此一般源代碼都是被打包好的,而C程序的代碼開發是基於GNU/make這個工具的,make這個程序編譯的時候會去調用gcc,而咱們的編譯環境依賴與 development Tools這個環境,而且編譯的時候是須要調用系統庫,函數,頭文件等信息的,因此這些都得存在纔是你編譯的前提.apache
項目的製做者一般會使用autoconf這個工具,使用這個工具對源代碼執行特定的操做,便會在源文件目錄下生成一個configure腳本,這個configure腳本就是用來檢查咱們的編譯環境是否知足需求並定義咱們安裝程序須要啓用哪些功能或特性以及安裝路徑的,接着開發者會使用一個叫automake的工具來生成makefile.in文件,configure會根據makefile.in的文件生成makefile文件,簡單來講,就是把咱們定義好的特性保存在makefile文件中,那麼makefile文件是作什麼的呢,就是咱們後續執行make命令時的配置信息.說的有點亂,我本身都蒙了,總之以上的只是開發者作的事情,咱們大概知道這樣一個流程就好了windows
2.HOW?緩存
那咱們須要作什麼操做呢,其實咱們須要作的就幾步,簡單的你都想笑服務器
1.拿到源代碼,並解壓less
# tar xf packages-version.tar.{gz|bz2|xz}ide
2.切換到源碼目錄中函數
# cd packages-version工具
3.執行configure腳本spa
# ./configure
4.編譯
# make
5.安裝
# make install
其實這裏面幾個步驟就第三個須要解釋一下,那讓咱們看看configure是如何使用的
最簡單的方法就是直接執行./configure命令,什麼參數都不須要設置,configure腳本會使用默認安裝幫你設置好各類路徑及啓用功能等.可是有的時候咱們須要本身制定本身須要的功能以及選擇本身喜歡的安裝路徑,這時裁須要去配置configure的參數,那configure的參數有哪些呢?
configure:
1.指定的安裝路徑
--prefix=/usr/local/package_name默認安裝路徑,全部的文件都會默認安裝在這個文件下(也可分開安裝,這裏就不詳述了)
--sysconfdir=/etc/package_name配置文件目錄(一般咱們安裝程序都會把配置文件放在etc目錄下,這樣便於管理,固然你也能夠不指定,讓它以默認的方式安裝,不過不建議這樣作)
2.指定啓用的特性
--enable=feature:指定啓用特性,大多數程序都是enable這個關鍵字
--disable=feature:指定禁用某特性,大多數程序都是使用disable這個關鍵字
3.指定所依賴功能,程序或文件
--with-function:啓用某功能----->有點相似於windows上的插件????????
--without-function:禁用某功能
不一樣的程序,其configure腳本功能不一樣,因此執行腳本的時候須要獲取幫助,瞭解了那麼多,接下來讓咱們來試試吧.
咱們在上面說過,編譯須要依賴開發環境和本地函數庫等,因此,第一步咱們須要肯定本身的環境是否準備好了,使用yum grouplist命令查看,在本身的Installed Groups中須要有Developme Tools和Server Platform Development這兩個工具
1.使用命令 # yum grouplist
2.因爲筆者事先下好了源程序,這裏就不演示下載過程了,就直解壓縮了
3.獲取幫助信息,也就是這個腳本該怎麼配置
能夠參閱README,INSTALL,以及 ./configure --help等.這裏筆者使用/.configure –help | less
4.接下來就是檢查編譯環境和制定安裝了,使用 ./configure –prefix=/usr/local/nginx
沒有報錯信息,咱們能夠進行下一步了
5.直接使用make命令編譯
沒有報錯信息,能夠安裝了
6.直接使用make install 命令
能夠看到,/usr/local/nignx下的安裝文件,安裝完成,是否是很簡單啊!!
那是否是這樣就完了呢,固然要是你使用httpd的時候不閒麻煩的話,如今算是作完了,可是若是你想方便點的話,仍是要作一下其餘配置的,讓咱們來看看吧!
1.首先配置環境變量,咱們須要到/etc/profile.d下增長一個配置文件
2.重讀環境變量
3.啓動apache服務使用命令apachectl start,而後登陸主機的ip地址查看是否啓動成功
4.接下來配置配置頭文件,你們知道,咱們本身在開發的時候須要的頭文件是在/usr/include中的,可是咱們的httpd服務器的頭文件是在/usr/local/nignx/include下的,那咱們在開發httpd程序的時候系統找到httpd的頭文件,因此咱們須要經過軟鏈接的方式把/usr/local/nignx/include下的頭文件鏈接到/usr/include,使用命令
5.配置庫文件,系統不會主動到/usr/local/nignx下去查找咱們的庫文件,因此咱們要在/etc/ld.so.conf.d下建立一個以.conf結尾的文件,這裏咱們就建立httpd.conf,只需在裏面加上一個路徑名就好了,可是加上去系統不會立刻讀取這個信息,有兩種方法讓系統識別,一是重啓,二是讓系統從新生成緩存,使用命令ldconfig (-v)能夠顯示詳細過程
6.最後就是man文件了,如何加入咱們的man文件呢,簡單的很,咱們只須要在/etc/man.config配置文件中加入咱們的man路徑就好了,請看:
最後保存退出既可,是否是很簡單啊,你能夠本身動手試試.