mac os x 10.13編譯安裝nginx

1、下載源碼包

首先,在官網下載 nginx 的源碼包,有3種版本能夠選擇:html

  • Mainline version:主線版本,至關於開發版
  • Stable version:最新穩定版本
  • Legacy versions:歷史穩定版本

我選擇的是 Stable version 中的 1.12.2,是適用於生產環境的最新穩定版本。nginx

下載後能夠解壓移動到/usr/local/bin目錄下:瀏覽器

mv nginx-1.12.2.tar.gz /usr/local/bin

2、配置選項

官方文檔中能夠找到 Installing nginxBuilding nginx from Sources,這裏介紹了不少編譯時可配置的選項,大可能是各類路徑的配置以及依賴的模塊。最下面給出了一個配置示例:bash

./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-8.41
    --with-zlib=../zlib-1.2.11

對於路徑,由於我是新手,因此決定不作配置,用默認的就好;
對於模塊,看起來這幾個仍是要配置一下的。ui

  • with-http_ssl_module:支持 https,須要安裝 OpenSSL 或源碼包
  • with-pcre:PCRE是一個正則庫,ngx_http_rewrite_module模塊依賴,匹配rewrite規則時會用到。
  • with-zlib:[ngx_http_gzip_module]依賴,服務端的gzip仍是很必要的,因此這個也要配置。

3、安裝依賴包

OpenSSL

官網下載頁下到最新穩定版 1.1.0g。.net

PCRE

PCRE 官網能夠找到下載地址,注意有兩個大版本:8.x和10.x,我最開始下了一個10.x的版本,編譯失敗了,可能8.x和10.x的接口並不兼容,並且nginx依賴的是8.x。因此這裏選擇了 pcre-8.41.tar.bz2。是8.x的最高版本,也和示例中的版本一致。code

zlib

zlib 直接選擇官網首頁最新的 1.2.11 版本就能夠,也是示例中的版本。htm

一樣把這幾個庫解壓,而後也移動到/usr/local/bin(和 nginx 同目錄):接口

mv openssl-1.1.0g pcre-8.41 zlib-1.2.11 /usr/local/bin

4、配置編譯

進入以前解壓的 nginx 目錄:ip

cd /usr/lcoal/bin/nginx-1.12.2

執行配置命令,幾個依賴包的路徑對就能夠,官方文檔提示要寫到一行:

./configure --with-http_ssl_module --with-pcre=../pcre-8.41 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.1.0g

一陣 checking 無報錯信息以後配置成功——

其實我最開始沒有裝 OpenSSL,配置的報錯提示仍是很友好的:

./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl=<path> option.

因此後面我就配置了 --with-openssl

——而後就能夠編譯了:

make

一陣編譯無報錯信息以後安裝:

sudo make install

趕忙試一試:

cd /usr/local/nginx
sudo sbin/nginx

去瀏覽器打開 127.0.0.1,看到 nginx 的歡迎頁就大功告成啦。

相關文章
相關標籤/搜索