摘要:網上看別人寫的服務器配置,有的是源碼包安裝的,有的時安裝的。通過源碼包編譯安裝的軟件,通常都放在包名路徑下。正則表達式使用在指令和模塊中。
yum 和 源碼包 安裝的 區別網上看別人寫的 nginx 服務器配置 ,有的是源碼包安裝的,有的時 yum 安裝的。如果是新手,可能會有疑問,這兩種安裝方式有什么區別?我應該使用哪種方式?系統里可以兩個都安裝可以嗎?怎么卸載?等等問題,那么在這里,我做下總結,詳細介紹下這兩種方式。
這里先說明下 yum 和 源碼包 安裝的 區別:
yum 安裝是在線安裝,好處是:安裝方式簡單,不易出錯;
源碼包 安裝是先將 nginx 的源碼下載下來,在自己的系統里編譯生成可執行文件,然后執行,好處是:因為是在自己的系統上編譯的,更符合自己系統的性能,也就是說在自己的系統上執行 nginx 服務性能效率更好。
他們之間最大的區別是 :安裝位置不同。
yum 在線安裝會將 nginx 的安裝文件放在系統的不同位置,可以通過命令 rpm -ql nginx 來查看安裝路徑,如下所示:
? ~ rpm -ql nginx /etc/logrotate.d/nginx /etc/nginx /etc/nginx/conf.d /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/ssl.conf /etc/nginx/conf.d/virtual.conf /etc/nginx/fastcgi.conf /etc/nginx/fastcgi.conf.default /etc/nginx/fastcgi_params /etc/nginx/fastcgi_params.default /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/mime.types /etc/nginx/mime.types.default /etc/nginx/nginx.conf /etc/nginx/nginx.conf.default /etc/nginx/scgi_params /etc/nginx/scgi_params.default /etc/nginx/uwsgi_params /etc/nginx/uwsgi_params.default /etc/nginx/win-utf /etc/rc.d/init.d/nginx /etc/sysconfig/nginx /usr/lib/perl5/vendor_perl/auto/nginx /usr/lib/perl5/vendor_perl/auto/nginx/nginx.so /usr/lib/perl5/vendor_perl/nginx.pm /usr/sbin/nginx /usr/share/doc/nginx-1.0.15 /usr/share/doc/nginx-1.0.15/CHANGES /usr/share/doc/nginx-1.0.15/LICENSE /usr/share/doc/nginx-1.0.15/README /usr/share/man/man3/nginx.3pm.gz /usr/share/man/man8/nginx.8.gz /usr/share/nginx/html/404.html /usr/share/nginx/html/50x.html /usr/share/nginx/html/index.html /usr/share/nginx/html/nginx-logo.png /usr/share/nginx/html/poweredby.png /usr/share/vim/vimfiles/ftdetect/nginx.vim /usr/share/vim/vimfiles/indent/nginx.vim /usr/share/vim/vimfiles/syntax/nginx.vim /var/lib/nginx /var/lib/nginx/tmp /var/log/nginx
卸載的時候,只能通過 命令來卸載,因為我們不可能 將這些文件自己手動刪除,可以通過命令 rpm -e nginx 來卸載,這個命令一般不會報錯,因為 nginx 不與其他的包有依賴關系,如果提示關于 依賴包的問題 ,可以嘗試 rpm -e --nodeps nginx 來卸載,這個命令相當于強制卸載,不考慮依賴問題。
源碼包 安裝他的所有文件(包括配置文件,庫文件,資源文件等)都在同一個目錄下,我們想卸載的時候,直接將這個文件刪除就可以,不會有任何垃圾文件存在。
通過源碼包編譯安裝的軟件,通常都放在 /usr/local/包名 路徑下。
yum 安裝 nginx,我們可以通過 系統服務命令 service 來啟動或停止
service nginx start #啟動 nginx 服務 service nginx stop #停止 nginx 服務 service nginx restart #重啟 nginx 服務
源碼包 安裝 nginx 啟動的時候不能使用 service 來啟動,需要執行 nginx 安裝目錄下的 sbin 目錄下的 nginx 可執行程序才行,如下(我的 nginx 安裝在 /usr/local/webserver/ 目錄下)
? ~ /usr/local/webserver/nginx/sbin/nginx #啟動 nginx 服務 ? ~ /usr/local/webserver/nginx/sbin/nginx -s stop #停止 nginx 服務
或者 直接進入安裝目錄 ,執行 ./nginx 也可以,這兩種方式其實是一樣的,. 表示當前目錄
? ~ cd /usr/local/webserver/nginx/sbin ? sbin ls nginx ? sbin ./nginx #啟動 nginx 服務 ? sbin ./nginx -s stop #停止 nginx 服務
注意:在自己的系統中只用選擇一種安裝方式即可,yum 安裝的 nginx 版本可能不是最新的,可以通過 源碼包 安裝最新的,但系統中只要一種就可以,如果你想安裝兩個安裝也可以,但是他們監聽的端口都是 80 端口,每次只能啟動一個
好,先講了區別,下面來看一下安裝方式
yum 安裝 nginx 安裝使用 yum 安裝是在線安裝,直接使用命令 yum -y install nginx 安裝即可
? ~ yum -y install nginx 已加載插件:fastestmirror, security 設置安裝進程 Loading mirror speeds from cached hostfile 解決依賴關系 --> 執行事務檢查 ---> Package nginx.i686 0:1.0.15-12.el6 will be 安裝 --> 完成依賴關系計算 依賴關系解決 ======================================================================================================================================== 軟件包 架構 版本 倉庫 大小 ======================================================================================================================================== 正在安裝: nginx i686 1.0.15-12.el6 epel 410 k 事務概要 ======================================================================================================================================== Install 1 Package(s) 總下載量:410 k Installed size: 1.1 M 下載軟件包: nginx-1.0.15-12.el6.i686.rpm | 410 kB 00:00 運行 rpm_check_debug 執行事務測試 事務測試成功 執行事務 Warning: RPMDB altered outside of yum. 正在安裝 : nginx-1.0.15-12.el6.i686 1/1 Verifying : nginx-1.0.15-12.el6.i686 1/1 已安裝: nginx.i686 0:1.0.15-12.el6 完畢!
到這里就安裝完成了,是不是很簡單。
啟動 nginx 服務? ~ service nginx start Starting nginx: [ OK ]停止 nginx 服務
? ~ service nginx stop Stopping nginx: [ OK ]重啟 nginx 服務
? ~ service nginx restart Stopping nginx: [ OK ] Starting nginx: [ OK ]
啟動后 ,在瀏覽器中 輸入服務器的 ip 地址,就可以看到
到這里 yum 安裝 nginx 就完成了
源碼包 安裝 nginx 安裝編譯我的系統 centos 6.7 32位,首先安裝缺少的依賴包:
yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel
從 http://nginx.org/en/download.... 下載穩定版 nginx-1.10.1.tar.gz ,下載的壓縮文件 放在任意地方都可以,但是建議放在 /usr/local/src 或者 /root/ 下,/usr/local/src 就是系統專門給用戶分配的放 源碼的目錄,/root/ 是我們默認操作的目錄,所以也可以放在這里。我就是下載放在 /root/ 目錄下的。
下載可以通過命令獲取:
wget http://nginx.org/download/nginx-1.10.1.tar.gz
解壓縮:
tar -zxvf nginx-1.10.1.tar.gz
解壓縮后,可以看到 nginx-1.10.1 目錄,然后進入這個目錄
? ~ ls anaconda-ks.cfg install.log install.log.syslog nginx-1.10.1 nginx-1.10.1.tar.gz ? ~ cd nginx-1.10.1
在 nginx-1.10.1 目錄下執行 配置 和 make 命令
? nginx-1.10.1 ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre ? nginx-1.10.1 make && make install常用編譯選項說明
這段說明,參考自:https://segmentfault.com/a/11...
--prefix=PATH : 指定 nginx 的安裝目錄。默認 /usr/local/nginx,我的是 /usr/local/webserver/nginx
--conf-path=PATH : 設置nginx.conf配置文件的路徑。nginx允許使用不同的配置文件啟動,通過命令行中的-c選項。默認為conf/nginx.conf
--user=name : 設置nginx工作進程的用戶。安裝完成后,可以隨時在nginx.conf配置文件更改user指令。默認的用戶名是nobody。--group=name類似
--with-pcre : 設置PCRE庫的源碼路徑,如果已通過yum方式安裝,使用--with-pcre自動找到庫文件。使用--with-pcre=PATH時,需要從PCRE網站下載pcre庫的源碼(8.39)并解壓,指定 pcre 的源碼路徑 ,比如:--with-pcre=/root/pcre-8.39/。perl正則表達式使用在location指令和 ngx_http_rewrite_module模塊中。
--with-zlib=PATH : 指定 zlib(版本1.1.3 - 1.2.5)的源碼解壓目錄。在默認就啟用的網絡傳輸壓縮模塊ngx_http_gzip_module時需要使用zlib 。
--with-http_ssl_module : 使用https協議模塊。默認情況下,該模塊沒有被構建。前提是openssl與openssl-devel已安裝
--with-http_stub_status_module : 用來監控 Nginx 的當前狀態
--with-http_realip_module : 通過這個模塊允許我們改變客戶端請求頭中客戶端IP地址值(例如X-Real-IP 或 X-Forwarded-For),意義在于能夠使得后臺服務器記錄原始客戶端的IP地址
--add-module=PATH : 添加第三方外部模塊,如nginx-sticky-module-ng或緩存模塊。每次添加新的模塊都要重新編譯(Tengine可以在新加入module時無需重新編譯)
啟動 停止 nginx使用 源碼包 安裝 nginx ,啟動時需要使用絕對路徑來執行,如下:
? ~ /usr/local/webserver/nginx/sbin/nginx #啟動 nginx 服務 ? ~ /usr/local/webserver/nginx/sbin/nginx -s stop #停止 nginx 服務
啟動 nginx 服務后,可以通過 ps -aux | grep nginx 查看進程
? ~ /usr/local/webserver/nginx/sbin/nginx #啟動 nginx 服務 ? ~ ps -aux | grep nginx Warning: bad syntax, perhaps a bogus "-"? See /usr/share/doc/procps-3.2.8/FAQ root 9628 0.0 0.1 15292 1500 ? Ss 11:17 0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf nginx 9631 0.0 0.2 15448 2312 ? S 11:17 0:00 nginx: worker process root 13158 0.0 0.0 6048 788 pts/1 S+ 12:12 0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn nginx
啟動后 ,在瀏覽器中 輸入服務器的 ip 地址,就可以看到
到這里 源碼包 安裝 nginx 就完成了
可以看出 兩個歡迎頁面是不同的,這個主要是版本不同的原因。
結語這里講了 使用 yum 和 源碼包 安裝 nginx 的詳細過程,如果想了解 yum 和 源碼包 安裝軟件的其他詳細知識,可以看我的另外一篇博文 《Linux 軟件安裝管理》。
本文中如有紕漏,或者你有什么問題,都可以提出來,謝謝~~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/39356.html
摘要:下,有多種方式來安裝拓展,主要有包管理式的安裝安裝,以及源碼編譯安裝。而線上部署環境則推薦編譯安裝,方便調優。本文以擴展安裝舉例。建議版本為建議使用擴展版本為建議使用擴展可以使用擴展。 CentOS 下,PHP有多種方式來安裝拓展, 主要有 包管理式的 yum 安裝、pecl 安裝, 以及源碼編譯安裝。包管理式的安裝卸載尤為方便,而源碼編譯式的安裝則方便參數調優。一般搭建本機開發環境推...
摘要:下,有多種方式來安裝拓展,主要有包管理式的安裝安裝,以及源碼編譯安裝。而線上部署環境則推薦編譯安裝,方便調優。本文以擴展安裝舉例。建議版本為建議使用擴展版本為建議使用擴展可以使用擴展。 CentOS 下,PHP有多種方式來安裝拓展, 主要有 包管理式的 yum 安裝、pecl 安裝, 以及源碼編譯安裝。包管理式的安裝卸載尤為方便,而源碼編譯式的安裝則方便參數調優。一般搭建本機開發環境推...
閱讀 1385·2021-11-25 09:43
閱讀 3606·2021-11-10 11:48
閱讀 5180·2021-09-23 11:21
閱讀 1610·2019-08-30 15:55
閱讀 3519·2019-08-30 13:53
閱讀 1247·2019-08-30 10:51
閱讀 880·2019-08-29 14:20
閱讀 1986·2019-08-29 13:11