本教程会告诉你 Nginx 是如何工作的,其背后的概念有哪些,以及如何优化以提升应用程序的性能。还会介绍如何安装、如何启动、运行 Nginx。如果你对 Nginx 已经有所了解,或者你希望了解更多,这个教程也会对你非常有帮助。
本教程包括三节:
基础概念——你可以了解命令(directive)与环境或者上下文(context)的区别、继承模式,以及 Nginx 选择服务器区块的顺序,还有安装位置。
性能管理——提升速度的诀窍。我们将会讲解 gzip、缓存、缓冲区以及超时设置。
SSL 设置——讲解用 HTTPS 来提供内容的设置步骤。
为了可以方便地找到正确...
nginx 的 rewrite log 是记录在 error log 文件中,而不是access log中。
nginx 开启 rewrite 的方法(在server段中添加):
首先,打开 error_log 日志
error_log logs/error.log notice;
1
error_log logs/error.log notice;
然后打开 rewrite_log 开关
rewrite_log on;
1
rewrite_log on;
这样就可以在 error.log 中生成重...
nginx如何配置才能支持codeigniter ?
1. codeigniter的url美化去掉index.php
location / {
root html/gxtp;
index index.php;
try_files $uri $uri/ /index.php?$uri&$args;
}
12345
location / { root html/gxtp; &nb...
越来越多的人把apache转到nginx,对于运行php来说,转移比较容易些。
但要实现伪静态,rewrite配置就会复杂一些,大多数人的问题都出在这里。
下面是nginx下discuz url rewrite配置模板,供大家参考。
注意:修改server_name,root为你的实际配置。
其它常见rewrite
nginx wordpress rewrite规则
nginx cakephp rewrite规则
server {
listen 80;
server_name www.redis.com.cn;
root /usr/local/nginx/html/kdw
location / {
index index.html index...
wordpress 自带的重写规则都是关于apache的,本文将介绍如何配制nginx下的wordpress重写规则。
首先,配置一个php的upstream,这样可以方便backend的机器和端口的改变,然后配置对应博客域名虚拟机。
Apache
# Upstream to abstract backend connection(s) for php
upstream php {
server unix:/tmp/php-cgi.socket;
server 127.0.0.1:9000;
}
server {
## Your website name goes here.
server_name domain.tld;
## Your only path reference.
root /...
nginx通过ngx_http_rewrite_module模块支持url重写、支持if条件判断,但不支持else。
该模块需要PCRE支持,应在编译nginx时指定PCRE源码目录, nginx安装方法。
nginx rewrite指令执行顺序:
1.执行server块的rewrite指令(这里的块指的是server关键字后{}包围的区域,其它xx块类似)
2.执行location匹配
3.执行选定的location中的rewrite指令
如果其中某步URI被重写,则重新循环执行1-3,直到找到真实存在的文件
如果循环超过10次,则返回500 Internal Server Error错误
break指令
语法:break;
默认值:无
作用域:server,location,if
...
防止sql注入最好的办法是对于提交后台的所有数据都进行过滤转义。
对于简单的情况,比如包含单引号' , 分号;, <, >, 等字符可通过rewrite直接重订向到404页面来避免。
用rewrite有个前提需要知道,一般用rewrite进行正则匹配只能匹配到网页的URI,也就是url中?前部分,?以后部分是请求参数。
问号后面的请求参数,在nginx用$query_string表 示,不能在rewrite中匹配到,需要用if判断
例如,对于参数中带有单引号的'进行匹配然后定向到错误页面,
/plus/list.php?tid=19&mid=1124'
rewrite ^.*([;'<>]).* /error.html b...
location 匹配命令
123456
~ # 波浪线执行正则匹配,区分大小写~* # 波浪线带星执行正则匹配,不区分大小写^~ # ^~ 普通字符匹配,如果该选项匹配,只匹配该选项,不匹配其它 location 选项,一般用来匹配目录= # 普通字符串精确匹配空 # 普通字符串匹配,例如 location /abc {}@ # "@" 定义一个命名的 location,使用在内部重定向时,例如 error_page, try_files
...