關於nginx重新編譯
nginx安裝成功後,發現有一些其他模組沒有編譯進去,或者想額外新增一些模組,這時候就要重新編譯nginx。
首先,檢視之前編譯的一些引數,比如:
1 2 3 4 5 |
[[email protected]
nginx]# /usr/local/nginx/nginx -V
nginx
version: nginx/1.4.7
built
by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
TLS
SNI support enabled
configure
arguments: --prefix=/usr/local/nginx --user=www --group=www --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-pcre=/usr/local/src/lnmp/pcre-8.33 --with-zlib=/usr/local/src/lnmp/zlib-1.2.8
--with-openssl=/usr/local/src/lnmp/openssl-1.0.1e |
比如我現在要新增–with-http_ssl_module 、–with-http_gzip_static_module 這些模組引數,那麼我只要把這些引數新增進去然後重新編譯即可,需要注意的是原先編譯過的引數也要加進來。過程如下:
進入nginx原始碼包
1 |
[[email protected]
nginx]# cd /usr/local/src/nginx-1.4.7
|
將要編譯的引數重新新增到後面
1 |
[[email protected]
nginx-1.4.7]# ./configure --prefix=/usr/local/nginx --user=www --group=www --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-pcre=/usr/local/src/lnmp/pcre-8.33 --with-zlib=/usr/local/src/lnmp/zlib-1.2.8
--with-openssl=/usr/local/src/lnmp/openssl-1.0.1e --with-http_gzip_static_module --with-http_ssl_module |
注意:這裡只能make 千萬別make install,否則就覆蓋安裝了
1 |
[[email protected]
nginx-1.4.7]# make
|
make完成後,在原始碼目錄下會有一個objs目錄,objs目錄下就多了個nginx,這個就是新版本的程式了。
1 2 3 |
[[email protected]
nginx-1.4.7]# ls
auto
CHANGES CHANGES.ru conf configure contrib html LICENSE Makefile man objs README src |
然後將objs目錄下的nginx替換之前已經安裝過的nginx。
先備份舊的nginx程式
1 |
[[email protected]
nginx-1.4.7]#cp /usr/local/nginx/nginx /usr/local/nginx/nginx.bak
|
把新的nginx程式覆蓋舊的
1 |
[[email protected]
nginx-1.4.7]#cp ./objs/nginx /usr/local/nginx/sbin/nginx
|
如果提示“cp:cannot create regular file `/usr/local/nginx/sbin/nginx': Text file busy”
建議使用如下語句cp
1 |
#cp
-rfp objs/nginx /usr/local/nginx/sbin/nginx
|
測試新的nginx程式是否正確
1 2 3 |
[[email protected]
nginx-1.4.7]# /usr/local/nginx/nginx -t
nginx:
the configuration file /usr/local/nginx/nginx.conf syntax is ok
nginx:
configuration file /usr/local/nginx/nginx.conf test is successful
|
最後重啟nginx
1 |
[[email protected]
nginx-1.4.7]# /usr/local/nginx/nginx -s reload
|
這樣,就安裝成功了。下面介紹下安裝第三方模組的方法。
安裝第三方模組
nginx安裝第三方模組的方法和上面差不多,只是要額外新增一個–add-module引數:
1 |
./configure
--prefix=/你的安裝目錄 --add-module=/第三方模組目錄
|
下面以安裝pagespeed模組位例項
1 2 3 4 5 6 7 |
#
./configure --prefix=--prefix=/usr/local/nginx --user=www --group=www --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-pcre=/usr/local/src/lnmp/pcre-8.33 --with-zlib=/usr/local/src/lnmp/zlib-1.2.8
--with-openssl=/usr/local/src/lnmp/openssl-1.0.1e --with-http_gzip_static_module --with-http_ssl_module --add-module=../ngx_pagespeed-master
#
make
#
cp ./objs/nginx /usr/local/nginx/nginx
#
/usr/local/nginx/nginx -s reload
|
總結
安裝nginx安裝第三方模組實際上是使用–add-module重新安裝一次nginx,不要make install而是直接把編譯目錄下objs/nginx檔案直接覆蓋老的nginx檔案.如果你需要安裝多個nginx第三方模組,你只需要多指定幾個相應的–add-module即可。
[warning]備註:重新編譯的時候,記得一定要把以前編譯過的模組一同加到configure引數裡。
相關推薦
nginx重新編譯添加新模塊
覆蓋 load cal 官網 重新編譯 .... nginx的安裝 安裝 blog 找到nginx的安裝包目錄,如果沒有的話去官網重新下載 查看ngixn版本極其編譯參數 /usr/local/nginx/sbin/nginx -V 進入nginx源碼目錄,重新
nginx重新編譯不停服
找到安裝nginx的原始碼根目錄,如果沒有就下載新的安裝包 tar xvzf nginx-1.3.2.tar.gz 檢視ngixn版本極其編譯引數 /usr/local/nginx/sbin/nginx -V 進入nginx原始碼目錄 cd nginx-1.3.2 以下是重新編譯的程式碼和
關於nginx重新編譯
nginx安裝成功後,發現有一些其他模組沒有編譯進去,或者想額外新增一些模組,這時候就要重新編譯nginx。 首先,檢視之前編譯的一些引數,比如: 1 2 3 4 5 [[email protected] nginx]# /usr/l
Nginx重新編譯新增模組
進入nginx原始碼目錄 cd nginx-1.3.2 以下是重新編譯的程式碼和模組 ./configure --prefix=/usr/local/nginx--with-http_stub_status_module --with-http_ssl_mod
nginx重新編譯ssl模塊詳細教程
bus regular stop 依賴庫 安裝nginx with nload all eat 若第一次編譯nginx時沒有支持ssl模塊但是又想支持https則需要二次編譯nginx,使其支持https。首先查看nginx編譯了什麽 cd /usr/local/nginx
重新編譯Nginx指導手冊【修復靜態編譯Openssl的Nginx漏洞 】(轉)
snippets asset 替換 業務需求 tps eight nbsp 出了 sof 1. 概述 當前爆出了Openssl漏洞,會泄露隱私信息,涉及的機器較多,環境迥異,導致修復方案都有所不同。不少服務器使用的Nginx,是靜態編譯opensssl,直接將open
阿里雲新centos7.4系統安裝https,通過openssl重新編譯nginx
按照阿里雲官方的https安裝教程在編譯nginx時總是報錯,研究了很久,發現它的安裝方法可能並不適用於已經預裝好openssl的系統,而教程中提供的openssl版本比較新,網上大部分方法並不適用,經過半天的折騰總結出如下方案:1. 遠端連線並登入到 Linux 例項。
重新編譯Nginx指導手冊【修復靜態編譯Openssl的Nginx漏洞 】[Openssl Heartbleed]
Nginx的下載地址: http://nginx.org/en/download.html 3.2 下載相關Nginx的第三方外掛 輸入以下命令,檢視Nginx編譯了哪些外掛模組: # ./sbin/nginx -V 輸出的編譯引數裡面包含了編譯模組
重新編譯nginx
找到安裝nginx的原始碼根目錄,如果沒有的話下載新的原始碼 http://nginx.org tar xvzf nginx-1.3.2.tar.gz 檢視ngixn版本極其編譯引數 /usr/local/nginx/sbin/nginx -V 進入nginx原
PL/SQL重新編譯包無反應案例2
測試環境 編譯 導致 執行 ssi 由於 targe 發現 code 在這篇"PL/SQL重新編譯包無反應"裏面介紹了編譯包無反應的情況,今天又遇到一起案例, 在測試環境中,一個包的STATUS為INVALID,重新編譯時,一直處於編譯狀態,檢查發現下面兩條因素都不存在:
LINUX下PHP編譯添加相應的動態擴展模塊so(不需要重新編譯PHP,以openssl.so為例)
down get 階段 很多 習慣 lin 模塊 臨時 操作 本文轉自:原文鏈接 http://www.cnblogs.com/doseoer/p/4367536.html 網上我看到有很多相關的文章都是簡述這個問題的,但畢竟因為LINUX版本眾多,很多LIUNX命令或路
myeclipse調試代碼的時候看不到變量的值和jdk源碼重新編譯
設置 編譯 cte 變量 令行 一份 使用 參數 jar Q:myeclipse調試代碼的時候看不到變量的值? A: 調試的類的Class文件裏沒有包含LocalVariableTable屬性表, 這是因為在編譯時,編譯者為了減少文件大小而不把屬性表的信息放在Class文件
shell 格式化輸出nginx的編譯參數
nginx參數 linux sed tr awk命令nginx -V > nginx.txt cat -n nginx.txt | sed -n ‘5,18p‘ | awk ‘{$1="";print $0}‘ | sed ‘s/^[ ]*//g‘ | tr ‘\n‘ ‘,‘ | sed -n ‘
Mac下重新編譯Linux內核
nload usr linux內核 linu fig 內核源碼 clas 過程 耐心 Mac下重新編譯Linux內核 操作系統實驗,要求添加系統調用並重新編譯內核,這裏記錄一下編譯內核的過程 0.下載VirtualBox 博主一直用parallel desk,但因為驅動等問
linux下通過phpize為php在不重新編譯php情況下安裝模塊memcache
memcache with tps emca 添加 pecl inux usr ron 通過phpize為php在不重新編譯php情況下安裝模塊memcache 1. 下載 wget http://pecl.php.net/get/memcache-2.2.4.tgz
Linux系統裁減之,制作一個極度精簡的Linux-5-重新編譯login去除對pam模塊的依賴
重新編譯login去除對pam模塊的依賴第5章 重新編譯login去除對pam模塊的依賴在閱讀這篇博文之前,建議先閱讀我的前4篇博文,而且最好按順序閱讀:(不然可能會覺得我寫得不知所雲,呵呵!)第1篇:Linux系統裁減之,制作一個極度精簡的Linux-1 http://blog.51cto.com/linu
nginx增加編譯模塊
user -i 目錄 工作 sni bash toolbar mil 簡單 Nginx平滑增加編譯模塊 由於需要生產環境的需求,現需要對原nginx增加stream模塊功能,雖然過程很簡單,但是也做一個記錄以備查看。具體操作過程整理如下:一、查看Nginx原編譯參數[
nginx重編譯增加模塊
nginx nginx重新編譯 nginx源碼包 cd ~/root/nginx 先下載模塊源碼包: wget -O jemalloc-5.0.1.tar.bz2 http://125.88.182.172:5880/src/jemalloc-5.0.1.tar.bz2 wget -O pcre
修復OpenSSL漏洞 升級OpenSSL版本 nginx靜態編譯ssl模塊
nginx openssl背景 OpenSSL全稱為Secure Socket Layer,是Netscape所研發,利用數據加密(Encryption)作技術保障在Internet上數據傳輸的安全。可確保數據在網絡上的傳輸不會被竊聽及截取。 當然,OpenSSL是一個強大的密碼庫,我們在
electron引入Sqlite3重新編譯的問題
github issue class 準備 到你 min hub sqlite depend 你需要安裝sqlite3的所有依賴項,例如vs、python等。或者簡單的npm安裝命令,它會安裝windows下的所有依賴。 npm install -g windows-bui