Nginx配置相关说明

需要详细了解Nginx配置的可以参考以下的站点:
Nginx中文WIKI:
http://wiki.nginx.org/NginxChs
Nginx源码解析blog:
http://www.pagefault.info/?p=368
Nginx英文官方配置:
http://wiki.nginx.org/Configuration
Nginx模块参考手册中文版:

http://www.howtocn.org/nginx:Nginx


=================================================个人说明分割线================================================
参数:
-c <path_to_config>:使用指定的配置文件而不是 conf 目录下的 nginx.conf 。
-t:测试配置文件是否正确,在运行时需要重新加载配置的时候,此命令非常重要,用来检测所修改的配置文件是否有语法错误。
-v:显示 nginx 版本号。
-V:显示 nginx 的版本号以及编译环境信息以及编译时的参数。
-s:启动参数,后跟具体选项,如reload、restart、stop等

配置加载:
只加载主配置文件nginx.conf,然后这个文件里可以有include指令来包含外部的.conf文件进来,所以server级别的配置可以独立出来放在单独的conf文件里,便于管理和维护,不过独立的server级别的conf必须要放置在sites-available目录下,还要在sites-enable目录下对应建立一个软件连接,这样才能生效。

配置结构:
nginx配置文件是有自己的语法规则的,给vim添加nginx.vim配置可以支持nginx语法的高亮显示;既然有语法那么就有一定的格式,nginx配置文件是按块来分的:顶层的有main、event、http3个块;其中main代表的就是nginx.conf整个文件的区域,event、http都是nginx.conf文件里的顶级块,它们都有自己的范围,使用花括弧来圈定范围。简单的如下:
user  nobody;                ##main块
worker_processes  1;		 ##main块
events {                      ##event块
    worker_connections  1024;
}
http {                               ##http块
    include       mime.types;
    default_type  application/octet-stream;
}
其中http块代表的就是nginx服务了,一个nginx只有一个http块;http块下可以有server块,就是对应的web服务,也就是虚拟主机,因为nginx支持多个虚拟主机,所以server块会有很多,而为了方便管理通常会把server块给独立出来,放置到sites-available目录里,server块的简单配置见下:
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    gzip  on;
	include /path/to/some/conf/file
    server {
        listen       80;           #设定端口
        server_name  localhost;     ##规定服务名
        location / {
            root   html;            ##设置web程序的主目录
            index  index.html index.htm;    ##设置默认文件
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

正则语法:
nginx里使用的比较多的就是正则语法的应用了,所以需要记录一下。需要使用正则的地方通常都是location、rewrite、if语句等,使用正则的选项具体如下:
* ~ 区分大小写匹配正则
* ~* 不区分大小写匹配正则
* !~ 和 !~* 与 ~ 和 ~* 是相反的意思,即为若不匹配正则表达式,结果为真
* 检查一个文件是否存在,使用 -f 和 !-f
* 检查一个目录是否存在,使用 -d 和 !-d
* 检查一个文件/目录/链接是否存在,使用 -e 和 !-e
* 检查文件是否可执行文件,使用 -x 和 !-x
location /index.html { ... }      ##只匹配/index.html
location ~* ^/static/.* { ... }   ##不区分大小匹配以/static/开头的请求路径
if (-f $file_name) { ... }       ##如果请求的文件名是一个文件
可以通过在正则里加括弧在进行引用操作,如:
location ~* ^/static/(.*) { ...$1... }     #$1就是对.*多匹配到的内容的引用

中断关键字:
* last 结束rewrite指令的执行,之后查找响应的URI和location
* break 结束rewrite指令的执行
* redirect 以状态码302进行临时重定向;可在替换的串值以 http:// 开头时使用它
* permanent 以状态码301进行永久重定向
* return 该指令结束命令执行,并向客户端返回一个状态码。
* rewrite 重写url,即url跳转
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上帝De助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值