处理请求的方式
- Apache: 线程或进程
- Nginx: 异步事件驱动模型
动态资源的处理方式
-
Apache: 内置,可以自己处理
-
Nginx: 没内置,交给其它的
CGI
,FastCGI
或者Apache
处理,完成之后再转发到client
修改前注意事项
- 一定要对配置文件夹做好备份,可以用 Git, 也可以用 copy
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.$(date "+%b_%d_%Y_%H.%M.%S")
配置文件语法
- 每一个配置项都是一个
key value pair
,然后用逗号;
结束 - 指令 value 可以一个单值,也可以是一个对象,这个对象其中包括其它指令
指令的定义
示例代码 ```nginx user www-data; worker_processes 4; pid /run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
} ```
http
user
指定某个用户拥有和运行nginx
worker_processes
指定运行的线程或并发实例pid
主进程id,或PID。操作系统可以通过这个id对实例进行追踪或发送信号。
server
server_name
nginx 可以设置任意域名, nginx只是使用这个名称来回应请求。location
在明确定义时,它总是从最多级匹配,没有先后之分, 比如location /planet/blog/
location / { }
location /images/ { }
location /blog/ { }
location /planet/ { }
location /planet/blog/ { }
~
后面跟正则,它是区分大小写的. 下面的匹配IndexPage.php
,但不匹配indexpage.php
location ~ IndexPage\.php$ { }
~*
后面跟正则, 它不区分大小写location ~* \.(pl|cgi|perl|prl)$ { }
^~
有先后顺序的匹配
引用