zoukankan      html  css  js  c++  java
  • windows下搭建nginx+php+laravel开发环境(转)

    1.前言

      windows下大多我们都是下载使用集成环境,但是本地已经存在一个集成环境,但不适合项目的需求。因此准备再自己搭建一个环境。

    2.准备

      工具:

       1) 下载 nginx1.14.0(版本根据自己需要下载,本教程使用1.14.0版本)

      

        2) 下载 PHP7.2.11(版本根据自己需要下载,本教程使用7.2.11版本)

        3) 下载 RunHiddenConsole 链接:https://pan.baidu.com/s/1gHDrQBqDUFZH4uESNV9aXQ 密码:oq9a

    3.安装

      (1)解压安装php和nginx

        解压安装在指定文件夹。
        

      (2)配置php

        进入php文件夹,找到php.ini-development配置文件并copy一份重命名为php.ini。

        双击打开php.ini配置文件

        搜索extension_dir找到配置项,把该配置项设置成php目录下ext的绝对路径(最好是绝对路径,也可以是相对路  径"./ext"),如图:

        

                   也可直接去除前面的分号     如:extension_dir = "ext"

        ps:左边的;号要删除,该分号作用是注释,即分号后面的内容不参与执行,仅仅是备注。

        

        搜索cgi.fix_pathinfo找到配置项,取消注释并把该配置项设置成1。

         

        cgi.fix_pathinfo是用来设置在cgi模式下PHP是否提供PATH_INFO信息。

        因为nginx默认不会设置PATH_INFO的值,所以需要通过上面的方法来提供。

       

        ps:暂时开启这两个就可以执行了,其他配置项根据自己需求开启,不一一说明

      (3)配置nginx

        打开nginx文件夹,conf里面的nginx.conf配置文件

        主要修改以下地方:

        

    server {
            listen       80;
            server_name  dev.com;  //访问的域名
            root F:laravelpublic;  //laravel的位置
            
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                index index.html index.htm index.php;
                try_files $uri $uri/ /index.php?$query_string;
            }
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
            # proxy the PHP scripts to Apache listening on 127.0.0.1:80
            #
            #location ~ .php$ {
            #    proxy_pass   http://127.0.0.1;
            #}
    
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            location ~ .php$ {
    
                fastcgi_pass   127.0.0.1:9000;  //php启动的配置
                fastcgi_index  index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
                
            }

    (4)开启nginx和php-cgi

        开启nginx:打开cmd命令提示符输入命令,start nginx。(自己配置全局变量)

             或者进入到nginx目录下,输入命令 nginx.exe,开启nginx

              nginx.exe -s reload  重启

              nginx.exe -s quit   关闭

                如果出现异常请查看logs文件夹下的日志解决

        开启php-cgi.exe

                  在php的文件夹下执行

        php-cgi.exe -b 127.0.0.1:9001 -c  php.ini 

        就是php目录下的 php-cgi.exe和php-ini文件,加上绝对路径,端口号要跟nginx的对上!

        

     4.批处理文件

        一直停在这里是正常滴

          这个窗口是不能关的,一旦管理,php-cgi就会关闭,就不能解析php文件。

      是不是很麻烦不能最小化,我们现在就来教你怎么解决。

      为了节省时间可以用批处理来打开/关闭Nginx和php-cgi, 

      这里用到RunHiddenConsole(用来隐藏CMD命令窗),网上一搜大把,本文开头也给出了下载地址,下载后把RunHiddenConsole.exe和批处理文件放在同一级目录就行啦,是不用双击打开安装什么滴,别辣么傻,我傻就行了。

      编写批处理文件(.bat就是批处理文件,有兴趣学的可以学些)

      启动nginx和php-cgi批处理文件start.bat(文件名自己喜欢)

      start.bat

    复制代码
    @echo off
    
    set PHP_FCGI_MAX_REQUESTS = 1000
    
    echo Starting PHP FastCGI...
    
    rem 下面这里的分别替换成你的php-cgi.exe和php.ini的路径 ,后面的-b,-c等参数必须保留且注意前后空格
    
    RunHiddenConsole E:selfsoftphp-7.2.11/php-cgi.exe -b 127.0.0.1:9001 -c E:selfsoftphp-7.2.11/php.ini 
    
    echo Starting nginx...
    
    rem 注意替换成你的nginx目录
    
    E:selfsoft
    ginx-1.14.0/nginx.exe -p E:selfsoft
    ginx-1.14.0/
    
    cd D:/webServer/nginx-1.5.2/
    
    pause
    复制代码

          关闭批处理文件 stop.bat  

    @echo off
    echo Stopping nginx...  
    taskkill /F /IM nginx.exe > nul
    echo Stopping PHP FastCGI...
    taskkill /F /IM php-cgi.exe > nul
    exit

      批处理文件双击就能运行。

           如果有人发现,端口号对上了,但是浏览器访问php文件,只下载并没有解析,为什么会这样,明明百度了那么多教程,配置怎么看都没有问题?

      其实很简单,重启电脑!是的,就是重启电脑。重启nginx没有任何作用,别问我怎么知道,我当初就搞了很久,没想到真的是要重启电脑

  • 相关阅读:
    Java实现 蓝桥杯 算法训练 Number Challenge(暴力)
    Java实现 蓝桥杯 算法训练 Number Challenge(暴力)
    Java实现 蓝桥杯 算法训练 Number Challenge(暴力)
    Java实现 蓝桥杯 算法训练 Rotatable Number(暴力)
    Java实现 蓝桥杯 算法训练 Rotatable Number(暴力)
    Java实现 蓝桥杯 算法训练 Rotatable Number(暴力)
    Java实现 蓝桥杯 算法训练 猴子吃包子(暴力)
    Java实现 蓝桥杯 算法训练 猴子吃包子(暴力)
    Java实现 蓝桥杯 算法训练 猴子吃包子(暴力)
    Python位运算符
  • 原文地址:https://www.cnblogs.com/shuaiandjun/p/10561839.html
Copyright © 2011-2022 走看看