Mac搭建openresty的坑
-
openresty網(wǎng)站:http://openresty.org/cn/installation.html
開始以為有這個(gè)網(wǎng)站俯萎,應(yīng)該很快搭好了筛婉,誰知道幾乎搞了一天篙议。先捋捋自己的思路吧:
1.1 開始也想著,按照這個(gè)思路做:
對(duì)于 Mac OS X 或 macOS 用戶,強(qiáng)烈推薦您使用 homebrew 包管理工具安裝 OpenResty崭篡。可以直接使用下面 這一條命令:
brew install openresty/brew/openresty
但是報(bào)錯(cuò)的是
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
原因:
解決方案:因?yàn)閐ns域名被污染,需要在本機(jī)hosts文件中配置ip域名映射,從https://www.ipaddress.com/網(wǎng)站查找raw.githubusercontent.com的國外ip地址
在hosts文件放了好幾個(gè)對(duì)應(yīng)的ip(自行搜索Mac如何改Hosts頭)
199.232.68.133 raw.githubusercontent.com
185.199.111.133 https://raw.githubusercontent.com
199.232.4.133 raw.githubusercontent.com
但沒起作用吧秕!果斷放棄琉闪,這條路不通,只能在本地編譯代碼了砸彬。
1.2 源碼編譯颠毙、按照
openresty-1.19.3.1.tar.gz 下載了,然后開始編譯
cd openresty-VERSION/
./configure
make
sudo make install
出現(xiàn)的問題:
-
xcrun: error: invalid active developer path, missing xcrun的問題
解決:xcode-select --install
-
./configure: No such file or directory錯(cuò)誤的問題
這個(gè)問題是要在openresty安裝目錄下砂碉,./配置文件名進(jìn)行配置蛀蜜。
-
缺少OpenSsl library
報(bào)錯(cuò)如下
./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.然后我就開始安裝:
(1) 下載:https://www.openssl.org/source/;
發(fā)現(xiàn)好像沒成功增蹭,然后又brew install openssl滴某,顯示已經(jīng)安裝,進(jìn)入目錄滋迈,發(fā)現(xiàn)沒有庫包(也就是lib)霎奢,于是查找原因:
openssl源碼中提供的config命令默認(rèn)沒有生成 .so,解決辦法執(zhí)行 ./config 時(shí)增加參數(shù) shared
-
解決,進(jìn)入目錄:
./config shared
make
make install
生成了庫饼灿,同時(shí)也會(huì)生成opt下的openssl文件夾椰憋,里面會(huì)生成庫lib,而不是在安裝目錄赔退。
最后再次configure
/configure \
--with-cc-opt="-I/usr/local/opt/openssl/include/ -I/usr/local/opt/pcre/include/" \
--with-ld-opt="-L/usr/local/opt/openssl/lib/ -L/usr/local/opt/pcre/lib/" \
-j8
看到上面的/usr/local/opt/openssl/include/
和/usr/local/opt/openssl/lib/
就更加理解了橙依,本地編譯就是要這種效果,configure是要把這些都關(guān)聯(lián)起來硕旗。
于是很順暢的就成功了窗骑,最后:
make
sudo make install
大功告成!
思路總結(jié):
按brew install 的方法走不通漆枚,不知道是不是網(wǎng)站ip的問題创译;
走本地編譯,因?yàn)椴涣私馇交吡撕芏鄰澛啡碜澹灰话愕南螺d后刷喜,進(jìn)入目錄
./configure
,使配置生效立砸,然后make(效果應(yīng)該是編譯)掖疮,再安裝:sudo make install(sudo 是使用root身份)