一、編譯安裝軟件,優勢是能夠定製化安裝目錄、按需開啓功能等,缺點是須要查找並實驗出適合的編譯參數,諸如MySQL之類的軟件編譯耗時過長。nginx
二、yum安裝軟件,優勢是全自動化安裝,不須要爲依賴問題發愁了,缺點是自主性太差,軟件的功能、存放位置都已經固定好了,不易變動。vim
三、編譯源碼,根據本身的需求作成定製RPM包–>搭建內網yum倉庫–yum安裝。結合前二者的優勢,暫未發現什麼缺點。可能的缺點就是RPM包的通用性差,只能適用於本公司的環境。另一般人不會定製RPM包。這是中大型互聯網企業運維自動化的必要技能。ruby
yum -y install ruby ruby-devel rubygems gcc openssl-devel rpm-build gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/ gem install fpm
參數bash |
參數說明app |
-s運維 |
指定源類型ide |
-t工具 |
指定目標類型,即想要製做爲何包post |
-nui |
指定包的名字 |
-v |
指定包的版本號 |
-C |
指定打包的相對路徑 |
-d |
指定依賴於哪些包 |
-f |
第二次打包時目錄下若是有同名安裝包存在,則覆蓋它 |
-p |
輸出的安裝包的目錄,不想放在當前目錄下就須要指定 |
--post-install |
軟件包安裝完成以後所要運行的腳本;同--after-install |
--pre-install |
軟件包安裝完成以前所要運行的腳本;同--before-install |
--post-uninstall |
軟件包卸載完成以後所要運行的腳本;同--after-remove |
--pre-uninstall |
軟件包卸載完成以前所要運行的腳本;同--before-remove |
yum install -y pcre-devel openssl-devel mkdir -p /server/tools cd /server/tools wget -q http://nginx.org/download/nginx-1.10.2.tar.gz ls -l nginx-1.10.2.tar.gz useradd www -s /sbin/nologin -M tar xf nginx-1.10.2.tar.gz cd nginx-1.10.2 ./configure --user=www --group=www --prefix=/application/nginx-1.10.2 --with-http_stub_status_module --with-http_ssl_module make make install ln -s /application/nginx-1.10.2 /application/nginx
[root@test ~]# cd /server/scripts/ [root@test scripts]# vim nginx_install_devel.sh #!/bin/bash useradd -M -s /sbin/nologin www -u 666 ln -sf /application/nginx-1.10.2 /application/nginx ln -s /application/nginx/sbin/* /usr/local/sbin/
//注意:在進行打包的時候要先中止nginx [root@test ~]# fpm -s dir -t rpm -n nginx -v 1.10.2 \ -d 'pcre-devel,openssl-devel' \ --post-install /server/scripts/nginx_install_devel.sh \ -f /application/nginx-1.10.2/
//推薦使用yum 安裝 //這個命令會自動先安裝rpm包的依賴,而後再安裝rpm包。 yum -y localinstall nginx-1.10.2-1.x86_64.rpm