标签目录:nginx

以下是与标签 “nginx” 相关联的文章

利用docker快速搭建nginx+PHP-FPM运行环境

环境要求

  1. 已安装好docker
  2. 已安装好docker-compose

拉取镜像

测试启动nginx容器

启动

根据 官网文档,nginx容器的默认网页文件夹是

Nginx 重写规则指南

一. rewrite 模块介绍

nginx 的重写模块是一个简单的正则表达式匹配与一个虚拟堆叠机结合。依赖于 PCRE 库,因此需要安装 pcre。根据相关变量重定向和选择不同的配置,从一个 location 跳转到另一个 location,不过这样的循环最多可以执行 10 次,超过后 nginx 将返回 500 错误。同时,重写模块包含 set 指令,来创建新的变量并设其值,这在有些情景下非常有用的,如记录条件标识、传递参数到其他 location、记录做了什么等等。

nginx 日志配置

日志对于统计排错来说非常有利的。本文总结了 nginx 日志相关的配置如 access_log、log_format、open_log_file_cache、log_not_found、log_subrequest、rewrite_log、error_log。
nginx 有一个非常灵活的日志记录模式。每个级别的配置可以有各自独立的访问日志。日志格式通过 log_format 命令来定义。ngx_http_log_module 是用来定义请求日志格式的。

1). access_log 指令

语法:

默认值:
配置段:

ngx_http_core_module模块提供的变量

ngx_http_core_module 模块在处理请求时,会有大量的变量,这些变量可以通过访问日志来记录下来,也可以用于其它 nginx 模块。在我们对请求做策略如改写等等都会使用到一些变量,顺便对 ngx_http_core_module 模块提供的变量总结了下,如下所示:

手工搭建Centos+Nginx容器

一.制作Centos+Nginx容器

1.拉取CentOS镜像

2.我们以这个作为基础镜像,来搭建一个nginx镜像

先创建一个临时容器,就取名叫tmp吧

这时容器已经创建好了,但是因为没有设置bash,所以会卡在当前会话。我们另开一个会话

Nginx-Location 配置

语法规则

location [=|~|~*|^~] /uri/ { … }

= 表示精确匹配,这个优先级也是最高的
^~ 表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa 匹配到(注意是空格)。
~ 表示区分大小写的正则匹配
~* 表示不区分大小写的正则匹配(和上面的唯一区别就是大小写)
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配的正则
/ 通用匹配,任何请求都会匹配到,默认匹配.
* -f 和!-f 用来判断是否存在文件
*-d 和!-d 用来判断是否存在目录
*-e 和!-e 用来判断是否存在文件或目录

Nginx-编译参数详解

Nginx 常见参数(较少使用的参数不予列出):

–prefix= 指向安装目录
–sbin-path 指向(执行)程序文件(nginx)
–conf-path= 指向配置文件(nginx.conf)
–pid-path= 指向 pid 文件(nginx.pid)
–user= 指定程序运行时的非特权用户
–group= 指定程序运行时的非特权用户组

编译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库的源码目录。