zoukankan      html  css  js  c++  java
  • 【nginx,apache】thinkphp ,laravel,yii2开发运行环境搭建

    缘由

    经常会有人问xx框架怎么配置运行环境,这里我就给贴出吉祥三宝(Yii2,Laravel5,Thinkphp5 )的Nginx和Apache的配置,供大家参考


    Nginx

    Yii2

    server {    
        charset utf-8;    
        client_max_body_size 128M;    
        listen 80;    
        server_name yii.local.test;    
        root  /home/www/yii2/web;    
        index  index.php;    
        
        location ~* .(eot|otf|ttf|woff)$ {    
            add_header Access-Control-Allow-Origin *;    
        }    
        
        location / {    
            try_files $uri $uri/ /index.php?$args;    
        }   
         
        location ~ .php$ {    
            include   fastcgi_params;
            fastcgi_index    index.php;
            fastcgi_param    SCRIPT_FILENAME    $document_root$fastcgi_script_name;    
            fastcgi_pass   127.0.0.1:9000;    
            try_files $uri =404;    
        }    
    }


    Laravel5

    server {    
        charset utf-8;    
        client_max_body_size 128M;    
        listen 80;    
        server_name laravel.local.test;    
        root  /home/www/laravel/public;    
        index  index.php;    
        
        location ~* .(eot|otf|ttf|woff)$ {    
            add_header Access-Control-Allow-Origin *;    
        }    
        
        location / {    
            try_files $uri $uri/ /index.php?$args;    
        }   
         
        location ~ .php$ {    
            include   fastcgi_params;
            fastcgi_index    index.php;
            fastcgi_param    SCRIPT_FILENAME    $document_root$fastcgi_script_name;    
            fastcgi_pass   127.0.0.1:9000;    
            try_files $uri =404;    
        }    
    }

    ThinkPHP5

    server {    
        charset utf-8;    
        client_max_body_size 128M;    
        listen 80;    
        server_name tp5.local.test;    
        root  /home/www/tp5/public;    
        index  index.php;    
        
        location ~* .(eot|otf|ttf|woff)$ {    
            add_header Access-Control-Allow-Origin *;    
        }    
        
        location / {    
            index    index.html index.php;    
            if ( -f $request_filename) {    
                break;    
            } 
           
            if ( !-e $request_filename) {    
                rewrite ^/(.*)$ /index.php/$1 last;    
                break;    
            }    
        }    
        
        location ~ .php {    
            set $script $uri;    
            set $path_info "";    
            if ($uri ~ "^(.+.php)(/.+)") {    
                set $script $1;    
                set $path_info $2;    
            }    
        include   fastcgi_params;    
        fastcgi_index    index.php?IF_REWRITE=1;    
        fastcgi_pass   127.0.0.1:9000;    
        fastcgi_param    PATH_INFO    $path_info;    
        fastcgi_param    SCRIPT_FILENAME    $document_root$fastcgi_script_name;    
        fastcgi_param    SCRIPT_NAME    $script;    
        try_files $uri =404;    
        }    
    }

    PS:tp5在nginx支持这块做的不够好,因为tp框架需要依赖一个服务变量 path_info ,这个变量nginx已经不再使用了,所以需要自己定义


    Apache

    Yii2

    <VirtualHost *:8888>    
       	ServerName yii.local.test    
       	DocumentRoot /home/www/yii2/web    
       	#<Directory "/home/www/yii2/web">    
                #RewriteEngine on    
           	    #RewriteCond %{REQUEST_FILENAME} !-f    
           	    #RewriteCond %{REQUEST_FILENAME} !-d    
           	    #RewriteRule . index.php    
       	#</Directory>       
    </VirtualHost>


    PS: .htaccess 代码如下

    RewriteEngine on    
    # If a directory or a file exists, use it directly    
    RewriteCond %{REQUEST_FILENAME} !-f    
    RewriteCond %{REQUEST_FILENAME} !-d    
    # Otherwise forward it to index.php    
    RewriteRule . index.php

    Laravel5

    <VirtualHost *:8888>    
           	ServerName laravel.local.test    
           	DocumentRoot /home/www/laravel/public    
           	#<Directory "/home/www/laravel/public">    
                #RewriteEngine on    
           	    #RewriteCond %{REQUEST_FILENAME} !-f    
           	    #RewriteCond %{REQUEST_FILENAME} !-d    
           	    #RewriteRule . index.php    
           	#</Directory>    
    </VirtualHost>


    PS: .htaccess 代码如下

    <IfModule mod_rewrite.c>    
        <IfModule mod_negotiation.c>    
            Options -MultiViews    
        </IfModule>    
        RewriteEngine On    
        # Redirect Trailing Slashes If Not A Folder...    
        RewriteCond %{REQUEST_FILENAME} !-d    
        RewriteRule ^(.*)/$ /$1 [L,R=301]    
        # Handle Front Controller...    
        RewriteCond %{REQUEST_FILENAME} !-d    
        RewriteCond %{REQUEST_FILENAME} !-f    
        RewriteRule ^ index.php [L]    
    </IfModule>

    ThinkPHP5

    <VirtualHost *:8888>    
       	ServerName tp5.local.test    
       	DocumentRoot /home/www/tp5/public/     
    </VirtualHost>


    PS: .htaccess 代码如下

    <IfModule mod_rewrite.c>    
        Options +FollowSymlinks -Multiviews    
        RewriteEngine On    
        RewriteCond %{REQUEST_FILENAME} !-d    
        RewriteCond %{REQUEST_FILENAME} !-f    
        RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]    
    </IfModule>

    最后

    希望对大家有帮助


    原文地址:【nginx,apache】thinkphp ,laravel,yii2开发运行环境搭建
    标签:nginx   mvc   thinkphp   tp   yii   yii2   laravel   艺术家   apache   运行环境   开发环境   

    智能推荐

  • 相关阅读:
    Delphi XE4 FireMonkey 开发 IOS APP 发布到 AppStore 最后一步.
    Native iOS Control Delphi XE4
    Delphi XE4 iAD Framework 支持.
    using IOS API with Delphi XE4
    GoF23种设计模式之行为型模式之命令模式
    Android青翼蝠王之ContentProvider
    Android白眉鹰王之BroadcastReceiver
    Android倚天剑之Notification之亮剑IOS
    Android紫衫龙王之Activity
    GoF23种设计模式之行为型模式之访问者模式
  • 原文地址:https://www.cnblogs.com/apanly/p/6417348.html
Copyright © 2011-2022 走看看