【nginx,apache】thinkphp ,laravel,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;        
    }  
      
}


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;        
    }    
}
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已经不再使用了,所以需要自己定义


<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
<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>
<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>


白俊遥博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论