旧博客迁移文章,内容可能已失去价值,仅为留念,做了简单重新排版,勉强可看。
整理自:https://nginx.org/en/docs/beginners_guide.html
0x1 概念
- nginx由被指定指令控制的模块组成。
 - 指令包括简单指令和块指令。
 - 简单指令包括指令名称和参数,参数和名称用空格分隔,一条指令以分号结束。
 - 块指令是以花括号包含简单指令的指令,若一个块指令包含其他的块指令称之为 
context,如:events,http,server和location。
 #用于单行注释
0x2 处理静态内容
对于一个提供静态内容服务的 web 服务器,nginx 配置文件的基本结构如下:
http{
    server {
        listen 80
        location / {
            root /data/www;
        }
    
        location /images/ {
            root /data;
        }
    }
}
listen不写的情况下,默认监听 80 端口。- 若具有多个 
location块,nginx选择前缀最长的那一个。即对于 URL 以/images/开头的请求,nginx 会映射到/data/images/,而非/data/www/images。 
0x3 简单的代理服务器
代理服务器要用到的最基础的指令是proxy_pass,基本结构如下:
server {
    location / {
        proxy_pass http://localhost:8080/;
    }
    location ~ \.(gif|jpg|png)$ {
        root /data/images;
    }
}
- 基本功能:除了对扩展名为 
.gif,.jpg和.png的文件的请求,其他请求均被指向代理服务器http://localhost:8080。 - 这里没有 
listen指令,说明默认监听80端口 - 第二个 
location块使用了简单的正则匹配,nginx 中使用正则表达式需以~开头。 
0x4 配置FastCGI代理
配置 nginx 与 FastCGi 服务器协同工作,需要两个基本指令 fastcgi_pass 和 fastcgi_param。
server {
    location / {
        fastcgi_pass  localhost:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param QUERY_STRING    $query_string;
    }
    location ~ \.(gif|jpg|png)$ {
        root /data/images;
    }
}
- 这是一个最简单的基于 PHP 的配置,若是有 POST 请求还需要配置其他 
fastcgi_param参数 - 在 PHP 中,
SCRIPT_FILENAME用于获取脚本名称,QUERY_STRING用于传递请求的参数。 
本文链接:https://blog.xiaoyuyu.cn/post/Beginner’s-Guide-of-Nginx.html,参与评论 »
--EOF--
发表于 2016-09-23 13:55:00。
本站使用「署名 4.0 国际」创作共享协议,转载请注明作者及原网址。更多说明 »
提醒:本文最后更新于 3329 天前,文中所描述的信息可能已发生改变,请谨慎使用。
Comments