6

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. 注意点
clipboard.png

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:
clipboard.png

启动 php(启动后不能关掉 cmd 窗口,否则 php 会被关闭):
clipboard.png

测试:

clipboard.png

E. 结语
以上内容属三个晚上研究得出,看仔细喽。


灰色v碰触
2.9k 声望42 粉丝

爱技术,爱生活