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   运行环境   开发环境   

    智能推荐

  • 相关阅读:
    android studio :cannot resolve symbol R
    @Configuration
    URI、URL 和 URN
    第十二章 映射请求到Servlet(JavaTM Servlet 规范3.1 )
    第二章 Servlet 接口(JavaTM Servlet 规范3.1 )
    第十章 Web Application(JavaTM Servlet 规范3.1 )
    第六章 过滤(JavaTM Servlet 规范3.1 )
    第四章 Servlet上下文(JavaTM Servlet 规范3.1 )
    第三章 Request(JavaTM Servlet 规范3.1 )
    第五章 Response(JavaTM Servlet 规范3.1 )
  • 原文地址:https://www.cnblogs.com/apanly/p/6417348.html
Copyright © 2011-2022 走看看