A. nginx 与 php 协同工作原理:
首先,nginx 的转发端口 与 php 的监听端口需一致。然后 nginx 将 http 请求映射成 fastcgi 请求,通过对应端口向 php 发送。php 获取并处理请求后,通过对应端口反馈给 nginx 处理后的数据,nginx 将数据输出到浏览器,一次 http 请求结束。
B. Nginx 变量访问控制:
http { var1; # 变量1能够被 http 下所有的 server | location 块识别 server { var2; # 变量2能够被所有的 location 块识别 location { var3; # 变量3只能够被当前的 localtion 块识别 } location { } } server { var2; location { var3; } location { } }}
C. nginx.conf 配置文件:
server { # 监听端口 listen 80; # 指明具体的监听端口 listen 127.0.0.1:80; server_name fuckyou.com; charset utf-8; # 注意下面这个 root ! root D:/Website/FrontToolLib; # 目录访问设置 location / { # 目录访问目标文件设置 index index.php index.html index.htm; # 是否允许访问目录 autoindex on; } # PHP 文件访问设置 location ~ \.php$ { # PHP fastcgi 程序监听端口 fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; # 注意 $document_root fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }}
D. 注意点
E. 调试
nginx 常用命令,注意了:这些命令需要先切换到nginx目录下才能使用!即使你将其添加到了系统路径!启动: start nginx关闭: nginx -s stop重载配置文件:nginx -s reload
php-cgi 常用命令:
php-cgi -b 127.0.0.1:9000 -c php.ini-b:表明监听的端口(ip + port实际上就是为了唯一确定监听的端口号用的)-c:表明加载的配置文件
启动 nginx:
启动 php(启动后不能关掉 cmd 窗口,否则 php 会被关闭):
测试:
E. 结语
以上内容属三个晚上研究得出,看仔细喽。