日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

(转)linux上nginx源码编译安装

發布時間:2023/12/3 linux 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (转)linux上nginx源码编译安装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

親測有效;

轉: ?https://segmentfault.com/a/1190000007116797https://segmentfault.com/a/1190000007116797

nginx服務器詳細安裝過程(使用yum 和 源碼包兩種安裝方式,并說明其區別)

正在上傳…重新上傳取消?fuyi501發布于?2016-10-10

網上看別人寫的?nginx?服務器配置 ,有的是源碼包安裝的,有的時?yum?安裝的。如果是新手,可能會有疑問,這兩種安裝方式有什么區別?我應該使用哪種方式?系統里可以兩個都安裝可以嗎?怎么卸載?等等問題,那么在這里,我做下總結,詳細介紹下這兩種方式。

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 軟件安裝管理》。

本文中如有紕漏,或者你有什么問題,都可以提出來,謝謝~~

總結

以上是生活随笔為你收集整理的(转)linux上nginx源码编译安装的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。