Mac下nginx配置http2

Mac下nginx配置http2
1 Star2 Stars3 Stars4 Stars5 Stars 給文章打分!
Loading...

參考:
https://www.widlabs.com/article/mac-os-x-nginx-compile-symbol-not-found-for-architecture-x86_64

http://homeway.me/2015/07/10/rebuild-osx-environment/

http://www.jianshu.com/p/9523d888cf77

http://blog.sina.com.cn/s/blog_beebb7590102wwvv.html

下載nginx原始碼,openssl原始碼壓縮包

nginx下載地址:http://nginx.org/en/download.html
openssl下載地址:https://www.openssl.org/source/

解壓nginx和openssl壓縮包,解壓之後的目錄如下:

輸入圖片說明

進入到nginx目錄,使用configure命令,新增https和http2兩個模組,

./configure  --with-http_ssl_module --with-http_v2_module --with-openssl=/usr/local/Cellar/openssl-1.0.2l

執行上面的命令,在輸出的資訊中,你可能會看到以下資訊:

輸入圖片說明

如果出現以上資訊,那麼在命令之後完成之後,需要進入到objs目錄,然後修改Makefile檔案。

在nginx目錄下:

cd objs
vim Makefile

找到:

&& ./config --prefix=/usr/local/Cellar/openssl-1.0.2l/.openssl no-shared  \

這句,將config替換為:

Configure darwin64-x86_64-cc

在nginx目錄下執行make命令

make

如果沒有按照上一步中的提示修改Makefile檔案,則會出現以下錯誤:
輸入圖片說明

正常編譯完成的輸出:
輸入圖片說明

安裝

sudo make install

安裝完成:
輸入圖片說明

測試nginx安裝是否成功

啟動nginx

sudo /usr/local/nginx/sbin/nginx

訪問:http:localhost

輸入圖片說明

出現以上頁面說明nginx安裝成功了。

開啟https

要開啟nginx的https,需要生成SSL Key和CSR檔案。
如何生成這些檔案參考:
http://www.jianshu.com/p/9523d888cf77

以下是生成檔案之後的目錄結構,這裡我將檔案生成在/usr/local/nginx目錄下:
輸入圖片說明

然後將/user/local/nginx/conf/nginx.conf中,下面這段配置,去掉註釋並修改成以下內容:

server {
listen       443 ssl;
server_name  localhost;
ssl_certificate      /usr/local/nginx/server.crt; 
ssl_certificate_key  /usr/local/nginx/server.key;
ssl_session_cache    shared:SSL:1m;
ssl_session_timeout  5m;
ssl_ciphers  HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers  on;
location / {
root   html;
index  index.html index.htm;
}
}

重新載入nginx,在/usr/local/nginx/sbin目錄下執行以下命令:

sudo ./nginx -s reload

輸入圖片說明

訪問https://localhost出現以下頁面說明配置成功。
輸入圖片說明

開啟http2

到這一步之後,開啟nginx的http2非常簡單,只需要將上一步中https的配置中

listen       443 ssl;

修改為:

listen       443 ssl http2;

然後重新啟動下nginx,再次訪問https://localhost

效果圖:
輸入圖片說明

相關文章

前端開發 最新文章