西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁編程開發(fā)其它知識 → Debian/Ubuntu下安裝nginx編譯源代碼及配置方法

Debian/Ubuntu下安裝nginx編譯源代碼及配置方法

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:黑劍時間:2013/3/29 20:12:33字體大小:A-A+

作者:黑劍點擊:0次評論:1次標簽: nginx

NginxV1.8.1 官方穩(wěn)定版
  • 類型:服務(wù)器區(qū)大。1.2M語言:英文 評分:1.4
  • 標簽:
立即下載

安裝nginx方法有很多,比如像Windows平臺下可以直接下載已經(jīng)編譯好的二進制文件,解壓完成后可以直接運行。下面我只說在Debian/Ubuntu下編譯源代碼的安裝方法。

首先,需要下載nginx源代碼,可以在官網(wǎng)直接下載,也可以使用版本控制工具來下載代碼,我是從github上clone到本地的。 接下來,將代碼解壓后,需要執(zhí)行configure命令來配置你的nginx安裝信息。下面有一個配置命令的例子,是官網(wǎng)提供的:

./configure

    --sbin-path=/usr/local/nginx/nginx
    --conf-path=/usr/local/nginx/nginx.conf
    --pid-path=/usr/local/nginx/nginx.pid
    --with-http_ssl_module
    --with-pcre=../pcre-4.4
    --with-zlib=../zlib-1.1.3

我這里簡潔描述一下配置命令的幾個參數(shù)的含義

--prefix=path   定義服務(wù)器保存文件的目錄,默認為/usr/local/nginx

--sbin-path=path   nginx執(zhí)行文件名,默認為prefix/sbin/nginx

--conf-path=path   設(shè)置nginx.conf配置文件名,默認為prefix/conf/nginx.conf

--pid-path=path    設(shè)置nginx.pid文件名,它用來保存nginx主進程的進程ID,默認為prefix/logs/nginx.pid

--error-log-path=path   設(shè)置錯誤日志文件名,默認為prefix/logs/error.log

--http-log-path=path     設(shè)置HTTP請求日志文件名,默認為prefix/logs/access.log

--user-name=path     設(shè)置未授權(quán)用戶名,默認為nobody

--group=name     設(shè)置組名,默認為未授權(quán)用戶名

--with-select_module    編譯或取消編譯利用select()方法的模塊

--with-poll_module     編譯或取消編譯利用poll()方法的模塊

--without-http_gzip_module    取消編譯HTTP服務(wù)器壓縮響應(yīng)的模塊,需要zlip庫

--without-http_rewrite_module   取消編譯HTTP服務(wù)器重定向請求或修改請求URI地址的模塊,需要PCRE庫

--without-http_proxy_module    取消編譯HTTP服務(wù)器代理模塊

--with-http_ssl_module    編譯添加對HTTPS協(xié)議的支持,需要OpenSSL庫

--with-pcre=path    設(shè)置PCRE庫的源代碼路徑,下載PCRE源碼后解壓縮到指定的path即可,剩下的交給nginx的./configure和make命令完成

--with-pcre-jit    編譯PCRE庫支持及時編譯

--with-zlib=path    設(shè)置zlib庫源代碼的路徑,同樣下載zlib源碼后解壓到指定的path即可

--with-cc-opt=parameters    設(shè)置CFLAGS變量的額外參數(shù)

--with-ld-opt=parameters    設(shè)置鏈接時的額外參數(shù)

上面說到的zlib庫、PCRE庫和OpenSSL庫,我在安裝時都自己下載了,地址在上面也給出了,可以自己完成編譯工作。

執(zhí)行configure命令后,再執(zhí)行make install命令(如果你安裝的路徑需要授權(quán),在前面加上sudo)。

我是安裝到了/usr/local/nginx目錄下,在安裝完成后配置了/etc/environment里的PATH環(huán)境變量,將我的nginx安裝目錄添加到了PATH路徑中,/etc/environment生效后(source命令)。在終端執(zhí)行nginx命令提示權(quán)限不夠,執(zhí)行sudo命令提示找不到nginx命令。

sudo有時候會出現(xiàn)找不到命令,而明明PATH路徑下包含該命令,讓人疑惑。其實出現(xiàn)這種情況的原因,主要是因為當 sudo以管理權(quán)限執(zhí)行命令的時候,linux將PATH環(huán)境變量進行了重置,當然這主要是因為系統(tǒng)安全的考慮,但卻使得sudo搜索的路徑不是我們想要的PATH變量的路徑,當然就找不到我們想要的命令了。兩種方法解決該問題:

首先,都要打開sudo的配置文件:sudo visudo

1.可以使用 secure_path 指令修改 sudoers 中默認的 PATH為你想要的路徑。這個指令指定當用戶執(zhí)行 sudo 命令時在什么地方尋找二進制代碼和命令。這個選項的目的顯然是要限制用戶運行 sudo 命令的范圍,這是一種好做法。

2.將Defaults env_reset改成Defaults !env_reset取消掉對PATH變量的重置,然后在.bashrc中最后添加alias sudo='sudo env PATH=$PATH',這樣sudo執(zhí)行命令時所搜尋的路徑就是系統(tǒng)的PATH變量中的路徑,如想添加其他變量也是類似。

解決完后執(zhí)行sudo nginx沒有提示,再啟動瀏覽器輸入http://localhost回車,如果出現(xiàn)下面的頁面說明安裝成功。如果需要退出nginx,執(zhí)行sudo nginx -s quit命令即可。

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(1)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)
    推薦文章

    沒有數(shù)據(jù)