专业编程基础技术教程

网站首页 > 基础教程 正文

Nginx配置文件

ccvgpt 2024-09-09 02:20:20 基础教程 7 ℃

一、全局区
worker_processes 1; // 有1个工作的子进程,可以自行修改,但太大无益,因为要争夺CPU,一般设置为 CPU数*核数


Nginx配置文件

event {

// 一般是配置nginx连接的特性

// 如1个word能同时允许多少连接

worker_connections 1024; // 这是指 一个子进程最大允许连1024个连接

}


http { //这是配置http服务器的主要段

Server1 { // 这是虚拟主机段

Location { //定位,把特殊的路径或文件再次定位 ,如image目录单独处理

} /// 如.php单独处理

}

Server2 {

}

}


二、指令语法

1、location 语法

location 有”定位”的意思, 根据Uri来进行不同的定位

语法:location [=|~|~*|^~] pat {

}

大类型可以分为3种

location = pat {} [精准匹配]

location pat {} [一般匹配]

location ~ pat{} [正则匹配]


2、If 语法格式

If 空格 (条件) {

重写模式

}

1) “=”来判断相等, 用于字符串比较

2) “~” 用正则来匹配(此处的正则区分大小写)

~* 不区分大小写的正则

3) -f -d -e来判断是否为文件,为目录,是否存在.


Eg:判断IE并重写,且不用break; 我们用set变量来达到目的

if ($http_user_agent ~* msie) {

set $isie 1;

}


if ($fastcgi_script_name = ie.html) {

set $isie 0;

}


if ($isie 1) {

rewrite ^.*$ ie.html;

}


4、Rewrite语法

Rewrite 正则表达式 定向后的位置 模式

location /shop {

index index.php;

rewrite article-([\d]+)\.html$ /shop/article.php?id=$1;

rewrite category-(\d+)-b(\d+)-min(\d+)-max(\d+)-attr([\d\.]+)\.html /shop/category.php?id=$1&brand=$2&price_min=$3&price_max=$4&filter_attr=$5;

}

注意:用url重写时, 正则里如果有”{}”,正则要用双引号包起来


5、nginx+php的配置(把请求的信息转发给9000端口的PHP进程, 让PHP进程处理 指定目录下的PHP文件)


location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;


}


6、Nginx的压缩配置(gzip配置的常用参数)

gzip on|off; #是否开启gzip

gzip_buffers 32 4K| 16 8K #缓冲(压缩在内存中缓冲几块? 每块多大?)

gzip_comp_level [1-9] #推荐6 压缩级别(级别越高,压的越小,越浪费CPU计算资源)

gzip_disable #正则匹配UA 什么样的Uri不进行gzip

gzip_min_length 200 # 开始压缩的最小长度(再小就不要压缩了,意义不在)

gzip_http_version 1.0|1.1 # 开始压缩的http协议版本(可以不设置,目前几乎全是1.1协议)

gzip_proxied # 设置请求者代理服务器,该如何缓存内容

gzip_types text/plain application/xml # 对哪些类型的文件用压缩 如txt,xml,html ,css

gzip_vary on|off # 是否传输gzip压缩标志


7、Nginx对于图片,js等静态文件的缓存设置

注:这个缓存是指针对浏览器所做的缓存,不是指服务器端的数据缓存.


主要知识点: location expires指令


location ~ \.(jpg|jpeg|png|gif)$ {

expires 1d;

}

location ~ \.js$ {

expires 1h;

}

最近发表
标签列表