一、幾個概念
1、開放源碼
程序代碼,人類可能讀懂的程序語言,但是計算機不能識別和執行;
2、編譯程序
將程序代碼翻譯成計算機可以識別的語言;
3、二進程程序
經過編譯程序翻譯后得到的可以被執行的程序文件。
二、編譯源程序的步驟
1、configure
檢測程序,并生成makefile文件,其檢測的內容如下:
是否有適合的編譯程序;
是否有本軟件所需的函數庫或其他需要的相關軟件;
操作系統平臺是否支持些軟件;
內核的頭定義文件是否存在。
configure腳本的使用:
1)獲取幫助
./configure –help
2)較通用的一些選項
安裝路徑相關
–prefix =/path/to/somewhere:指定安裝路徑
–sysconfdir=/path/to/somewhere:指定配置文件安裝路徑
指定啟用/禁用的特征
–enable -FEATURE:例如 –enable -fpm
–disable -FEATURE:例如 –disable -sochet
指定所依賴的功能 :程序或文件
–with -FUNCTION [=/path/to/somewhere]
–without -FUNCTION
2、make
根據makefile文件中所記錄的內容,來對源碼進行編譯。
3、make install
安裝軟件。
三、編譯安裝Nginx
前提:在進行編譯安裝前必須安裝gcc編譯器。
1、檢查運行環境
–prefix:指定nginx的安裝路徑;
–conf-path:指定主配置文件的位置;
–with-pcre:指定pcre源碼包的位置;
–with-zlib:指定zlib源碼包的位置;
注意:pcre和zlib都是源碼包的位置,而不是安裝的路徑,如下圖所示:
2、編譯程序(調用gcc)
3、安裝程序
4、啟動nginx服務
使用瀏覽器訪問測試:
5、安裝后的配置
1)讓二進制程序直接運行,而無須輸入路徑
在目錄/etc/profile.d/中創建nginx.sh文件,內容如下:
重新登錄終端后,測試效果:
2)導出手冊頁(模擬)
因為nginx沒有man手冊,我們只能假設nginx的man手冊的路徑為/usr/local/nginx/man,如果想使用man命令直接調用手冊的話,可以進行以下操作:
在/etc/man.config文件中加入一行,如下圖所示:
3)導出庫文件(模擬)
在/etc/ld.so.conf.d/目錄中創建nginx.conf文件
觸發系統重新搜索所有的庫文件并生成緩存:
4)導出頭文件(模擬)
假設nginx的頭文件在/usr/local/nginx/include目錄中;
系統找頭文件的路徑:/usr/include
導出方式是創建鏈接文件:
ln -sv /usr/local/nginx/include /usr/include/nginx
原創文章,作者:petmaster,如若轉載,請注明出處:http://www.www58058.com/3975
干凈,清爽,贊