首页 » LANMP » nginx » 正文

编译nginx-1.12.0 出错问题汇总

最简单的编译

出错信息如下:

the HTTP rewrite module requires the PCRE library.
You can either disable the module by using –without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using –with-pcre= option.

翻译:

HTTP重写模块需要PCRE库。
您可以使用 禁用该模块
或将PCRE库安装到系统中,或构建PCRE库
通过使用 选项指向PCRE库的源码目录。

解决:

其中 后面设置的是源码目录

配置ssl出错:

解决:

官方文档的解释是:

This module is not built by default, it should be enabled with the –with-http_ssl_module configuration parameter.
This module requires the OpenSSL library.

翻译:此模块不是默认生成的,必须使用–with-http_ssl_module 配置参数启用。 我的系统里装过了openssl,并且在默认路径下,没装openssl的需要自行搞定,不在默认路径的需要手动给出指向。

出处:https://nginx.org/en/docs/http/ngx_http_ssl_module.html

配置基于nginx+php-fpm的wordpress站点

踩坑

1.没设置伪静态规则,无法请求到入口文件index.php

2.如果需要增加自定义后缀,需要在fpm中进行配置

Nginx PHP-FPM增加PHP后缀解析

在很多情况下,我们需要把.html也使用php解析。更改nginx配置文件

这个时候访问这些后缀的时候会报403错误,原因是php-fpm限制了后缀的解析
2016/08/04 11:03:35 [error] 6225#0: *65 FastCGI sent in stderr: “Access to the script ‘/var/www/html/index.aspx’ has been denied (see security.limit_extensions)” while reading response header from upstream, client: 127.0.0.1, server: www.abc.com, request: “HEAD /index.aspx HTTP/1.1”, upstream: “fastcgi://127.0.0.1:9000”, host: “127.0.0.1”

更改php-fpm.d/www.conf配置文件
在pool池[www]里写入 (不在pool池里写入,会报错:unknown entry ‘security.limit_extensions’)

重启php-fpm服务即可

3.配置https时 除了入口文件的资源,其他资源均报404

之前是这么配置的,导致有些资源404了:

后改为:

正常!

4.nginx的reload跟重启是有区别的

比如增加一个server后,就必须重启,reload是没有用的。配置https,或更改https后也必须重启。

5.要开启http2,必须在编译nginx时,加上如下设置:

发表评论

正在加载验证码......

请先完成验证