• windows下php与nginx配置


    写在前面

    因为需要配置服务器的时候很少,所以老记不住,这次参考简书文章(https://www.jianshu.com/p/40106c58f353),回顾了一下,顺便做个笔记(下次偷懒)。
    nginx是反向代理,所以需要利用php的fastcgi作为真实的web服务器。即nginx下php是以FastCGI的方式运行,所以我们php要下载非线程安全版本。
    

    1、下载nginx和php

    不多说,直接放官方下载地址
    php下载地址
    ngin下载地址

    2、nginx使用

    下载了nginx直接解压点击里面的nginx.exe文件即可运行。此时地址栏输入http://127.0.0.1或http://localhost,看到“welcome to nginx”,就说明已经成功了。

    3、php的使用

    php的话,解压后找到php.ini-development文件,复制一份在当前目录并且重命名为php.ini。
    将php.ini中的“;cgi.fix_pathinfo=1”的分号去掉,即开启此配置

    4、nginx和php配合,测试运行

    1.配置
    打开nginx的conf文件夹下的nginx.config,找到该部分(fastcgi_pass 127.0.0.1:9000;表示cgi运行在9000端口)

    #location ~ .php$ {
    #root html;
    #fastcgi_pass 127.0.0.1:9000;
    #fastcgi_index index.php;
    #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
    #include fastcgi_params;
    #}
    

    将前面的“#”全部去除,并将以下两个语句修改为:

    fastcgi_index 项目根目录路径(例如D:developmentphp);
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    

    并将root html;改为root 项目根目录路径(例如D:developmentphp);,然后保存

    2.建立测试文件
    在项目根目录路径(例如D:developmentphp)新建test.php,并输入

    <?php
    phpinfo();
    ?>
    

    3.在cmd模式下,进入到php解压文件的根目录下,运行以下命令,用来开启cgi
    php-cgi.exe -b 127.0.0.1:9000 -c php.ini

    4.地址栏输入http://127.0.0.1/test.php或者http://localhost/test.php
    得到php的各项信息界面

    5、快速启动

    因为每次手动开启都很麻烦,而且cgi开启的话cmd会一直开着,所以用RunHiddenConsole来简化,提取码: ih28
    下载解压后,会有两个bat批处理文件和一个exe文件,bat处理文件可以自己改写也可以用以下的:

    启动的批处理(start.bat)

    REM REM是bat文件的注释类似于php的//
    REM 设置不输出命令
    @ECHO off
    REM 设置Nginx和php-cgi的目录
    SET php_home=E:/php/php-7.2/
    SET nginx_home=E:/nginx/nginx-1.18.0/
    
    REM 输出状态
    ECHO Starting PHP FastCGI...
    REM 启动php-cgi -b 端口 -c php.ini位置
    REM %php_home%为获取上面set的php_home的值
    RunHiddenConsole %php_home%php-cgi.exe -b 127.0.0.1:9000 -c %php_home%php.ini
    REM 输出状态
    ECHO Starting nginx...
    REM 启动Nginx -p Nginx的根目录
    RunHiddenConsole %nginx_home%nginx.exe -p %nginx_home%
    
    

    关闭的批处理(stop.bat)

    @ECHO off
    ECHO Stopping nginx...  
    REM 结束进程 /F 强制终止 /IM 指定的进程 
    TASKKILL /F /IM nginx.exe
    ECHO Stopping PHP FastCGI...
    TASKKILL /F /IM php-cgi.exe
    REM 关闭窗口
    EXIT
    
    

    建好后双击启动的批处理文件即可快速启用php-cgi和nginx

  • 相关阅读:
    Java并发编程:线程池的使用
    AlarmManager与PendingIntent
    ConnectivityManager与检查网络连接的使用
    IntentService的使用
    Service(Local Service)简介
    Looper、Hander、HandlerThread
    XML_PULL解析
    android AsyncTask 的使用(转载)
    android 连接网络的简单实例
    xml drawable
  • 原文地址:https://www.cnblogs.com/inkqx/p/13382146.html
Copyright © 2020-2023  润新知