Yii应用Apache的配置比较简单,nginx的配置主要需要处理单一入口文件的问题,也就是对应于Apache配置中的如下几句:
# 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
需要翻译为相应的Nginx指令。实例示范如下:
server {
listen 80;
server_name www.techbrood.com;
access_log logs/techbrood.access.log;
root /var/www/html/techbrood/web;
location / {
index index.php;
if (!-e $request_filename){
rewrite ^/(.*) /index.php last;
}
}
location ~ \.php(?|$) {
#fastcgi(php-fpm) listening on 127.0.0.1:9000
root /var/www/html/techbrood/web;
#your path to fastcgi_params file
include /etc/nginx/conf/fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix: /var/run/php-fpm.sock
}
location ~ \.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt)$ {
root /var/www/html/techbrood/web;
}
}
by iefreer