我尝试在Ubuntu 14.04.3 LTS上从源代码安装NGINX [通过DigitalOcean],但在 * make * 过程中遇到问题。
下面是我的bash脚本:
wget http://nginx.org/download/nginx-1.8.0.tar.gz
tar xzf nginx-1.8.0.tar.gz
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.20.tar.gz
tar xzf pcre2-10.20.tar.gz
wget http://zlib.net/zlib-1.2.8.tar.gz
tar xzf zlib-1.2.8.tar.gz
wget https://openssl.org/source/openssl-1.0.2e.tar.gz
tar xzf openssl-1.0.2e.tar.gz
cd nginx-1.8.0
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/etc/nginx.conf --user=nginx --group=nginx --with-http_ssl_module --with-pcre=/root/src/pcre2-10.20 --with-zlib=/root/src/zlib-1.2.8 --with-openssl=/root/src/openssl-1.0.2e
make
我得到以下错误:
make[2]: Entering directory `/root/src/pcre2-10.20'
make[2]: *** No rule to make target `libpcre.la'. Stop.
make[2]: Leaving directory `/root/src/pcre2-10.20'
make[1]: *** [/root/src/pcre2-10.20/.libs/libpcre.a] Error 2
make[1]: Leaving directory `/root/src/nginx-1.8.0'
make: *** [build] Error 2
我使用gcc -v
检查了gcc版本,它显示4.8.4。
我该怎么补救呢?
- 更新**
结果发现我使用的PCRE版本是错误的,所以我改为版本1,一切正常。
wget http://nginx.org/download/nginx-1.8.0.tar.gz
tar xzf nginx-1.8.0.tar.gz
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
tar xzf pcre-8.38.tar.gz
wget http://zlib.net/zlib-1.2.8.tar.gz
tar xzf zlib-1.2.8.tar.gz
wget https://openssl.org/source/openssl-1.0.2e.tar.gz
tar xzf openssl-1.0.2e.tar.gz
cd nginx-1.8.0
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/etc/nginx.conf --user=nginx --group=nginx --with-http_ssl_module --with-pcre=/root/src/pcre-8.38 --with-zlib=/root/src/zlib-1.2.8 --with-openssl=/root/src/openssl-1.0.2e
make
感谢@EtanReiser的发现。
2条答案
按热度按时间g6ll5ycj1#
您使用的PCRE版本错误。
您正在尝试使用PCRE2版本的库,但nginx需要PCRE版本的库。
从docs:
--with-pcre=path
-设置PCRE库源代码的路径。库发行版(版本4.4 - 8.32)需要从PCRE站点下载并提取。其余工作由nginx的./configure
和make
完成。location指令中的正则表达式支持和ngx_http_rewrite_module模块需要该库。utugiqy62#
首先,你应该安装这个: