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

    智能推荐

  • 相关阅读:
    影响Scala语言设计的因素列表
    mysql查询不区分大小写问题分析和解决
    mysql基础之三:char与varchar区别,varchar(M)能存多少
    Springboot Actuator之三:spring boot健康检查对Redis的连接检查的调整
    nginx实现带参数目录域名重定向二级域名方法
    Nginx正则表达式之匹配操作符详解
    微服务API网关 vs. 传统企业级API网关
    无法打开SQL Server的连接
    URAL 1146 Maximum Sum(最大子矩阵的和 DP)
    leetCode 70.Climbing Stairs (爬楼梯) 解题思路和方法
  • 原文地址:https://www.cnblogs.com/apanly/p/6417348.html
Copyright © 2011-2022 走看看