原始碼包安裝
原始碼包安裝
在Linux系統中,很多新版本的軟體包的更新都會優先提供tar包版本,然後各Linux廠商拿到這個tar包之後再給自己的作業系統提供官方的rpm或者dpkg型別的軟體包,這種tar工具打包的軟體我們一般稱之為原始碼包,這些原始碼包中一般包含有,程式原始碼檔案,配置檔案,安裝使用說明(INSTALL,HOWTO,README)
簡單的安裝在流程:
1.獲取軟體包
2.解壓檔案
3.檢測當前系統是否滿足軟體包安裝需求
4.把定義好的功能選項和檢查系統環境資訊寫入Makefile檔案
5.使用gcc進行編譯,生成主要的二進位制檔案
6.將二進位制檔案安裝到主機
⚪案例 安裝nginx
- 獲取軟體包方式有很多,下面採用wget命令遠端下載
wget命令:文字介面的下載命令
[root@localhost131 src]wget http://nginx.org/download/nginx-1.19.3.tar.gz
2.解壓檔案
下載好後解壓nginx-1.19.3.tar.gz
tar -zxvf nginx-1.19.3.tar.gz
[root@localhost131 src]# ls
nginx-1.19.3 nginx-1.19.3.tar.gz
3.檢測當前系統是否滿足軟體包安裝需求
進入解壓後的原始碼包目錄,使用./configure --prefix=/usr/local/nginx檢查當前環境是否滿足軟體包安裝需求,同時指定軟體包安裝在哪個目錄下。
結尾幾行出現error、war ing、no等資訊說明報錯了
錯誤為:./configure: error: the HTTP rewrite module requires the PCRE library.
解決:安裝pcre-devel 和 openssl openssl-devel
- 把定義好的功能選項和檢查系統環境資訊寫入Makefile檔案
檢查完環境後自動生成
5.make 使用gcc編譯
make -j2 (j代表使用幾個cpu一起工作,-j4就是指定2核一起幹活)
6.使用make install將二進位制檔案安裝到主機
[root@localhost131 nginx-1.19.3]# make install
make -f objs/Makefile install
make[1]: 進入目錄“/usr/local/src/nginx-1.19.3”
test -d '/usr/local/nginx' || mkdir -p '/usr/local/nginx'
test -d '/usr/local/nginx/sbin' \
……..省略…………
test -d '/usr/local/nginx/logs' \
|| mkdir -p '/usr/local/nginx/logs'
make[1]: 離開目錄“/usr/local/src/nginx-1.19.3”
- 關閉apache
systemctl stop httpd
- 執行nginx
[root@localhost131 nginx-1.19.3]# /usr/local/nginx/sbin/nginx
- 在圖形介面的Firefox中輸入192.168.131.130出現
說明安裝成功,但此時遠端訪問還不行,需要開啟虛擬機器防火牆的tcp80埠
- 開啟防火牆tcp80埠
1)使用firewall-cmd --list-ports檢視目前開放埠
[root@localhost131 sbin]# firewall-cmd --list-ports
22/tcp
2)開放埠設定
[root@localhost131 sbin]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
3)重啟防火牆服務
[root@localhost131 sbin]# firewall-cmd --reload
success
[root@localhost131 sbin]# firewall-cmd --list-ports
22/tcp 80/tcp