2

我总是这样安装 nginx:

wget ...nginx...
tar zxvf ...
cd nginx...
./configure --with-pcre=../pcre_source_path
make && make install

nginx 和 pcre 将安装到 /usr/local/

但现在我想将它们安装到 /usr/local/lnmp/,所以我尝试像这样配置 nginx:

./configure --with-pcre=../pcre_source_path --prefix=/usr/local/lnmp/nginx/

然后我很困惑:我的pcre安装在哪里?我找到了 /usr/local/share/doc/pcre 所以我认为它已安装到 /usr/local/

然后我尝试独立安装pcre,所以我这样做了:

wget ...pcre
tar zxvf pcre...
cd pcre...
./configure --prefix=/usr/local/lnmp/pcre
make && make install

使用上面的命令,我成功安装了pcre /usr/local/lnmp/pcre/,但是我无法用那个pcre编译nginx ...(我试过./configure --with-pcre=/usr/local/lnmp/pcre/了,但它给了我一个错误,因为它必须是--with-pcre=[pcre_source_path]

4

1 回答 1

3

在这种情况下,当针对自定义编译库(例如 pcre、zlib 和 OpenSSL)编译 nginx 时,您必须使用选项--with-cc-opt--with-ld-opt.

在您描述的情况下,configure命令应该是:

./configure --prefix=/usr/local/lnmp/nginx/ --with-cc-opt="-I /usr/local/lnmp/pcre/include" --with-ld-opt="-L /usr/local/lnmp/pcre/lib"

更多参考:Nginx 论坛Nginx 文档(安装)

于 2013-01-30T13:03:31.807 回答