旧博客迁移文章,内容可能已失去价值,仅为留念,做了简单重新排版,勉强可看。
整理自: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 国际」创作共享协议,转载请注明作者及原网址。更多说明 »
提醒:本文最后更新于 3094 天前,文中所描述的信息可能已发生改变,请谨慎使用。
Comments