1、if和后边的括号要隔一个空格,变量后面也要有空格。
2、location / 和location = / 的意味不一样。前面的是通用匹配,后面的匹配根节点访问请求,前面的使用不好很容易引发重定向过多错误或内部服务器错误。
3、root最好写在server下方,每个location中也可以配置。
4、作为静态资源服务器,http节点中的default_type 改为 text/html;才能满足火狐浏览器内核兼容需求。
5、if不支持else和多重判断,if底下不能使用index,可改为rewrite ^.*$ /index break;
6、关于location的匹配参考http://www.cnblogs.com/jiangyang/p/8485046.html,顺带复习正则表达式,小括号、中括号注意区分。
7、/usr/sbin/nginx -s reload可以快速载入配置,/usr/local/nginx/sbin/nginx -t验证配置是否有错误,/usr/local/nginx/sbin/nginx -s stop停止,/usr/local/nginx/sbin/nginx启动。
8、初识Nginx啥都不会,可以通过return来调试验证自己的配置逻辑,或者采用第三方module echo(nginx不要yum/rpm安装):
https://github.com/openresty/echo-nginx-module
下载、解压echo,到nginx安装文件夹./configure --add-module=echo解压后文件夹,make&&make install。之后一定要stop nginx再start才能生效,不能reload!
9、【windows下nginx特别】windows涉及路径配置要使用双反斜杠。而且,一定不要重复双击nginx.exe,修改配置之后使用nginx -s reload,否则会有多个监听80端口的进程,nginx命令无效,只能任务管理器杀。