作者:妮妮快乐1_514 | 来源:互联网 | 2014-05-28 09:40
问题:www.server110.com站点的root目录为/data/web/,现在想在www.server110.com下放一个站点,www.server110.com/nginx/但不能直接在/data/web/下创建abc目录,要放在/data1/nginx/下。解决办法:使用nginx的alias功能实现虚拟
问题:
www.server110.com 站点的root目录为
/data/web/ ,现在想在www.server110.com
下放一个站点,www.server110.com/
nginx/
但不能直接在/data/web/下创建abc目录,要放在
/data1/nginx/下。
解决办法:
使用nginx的alias功能实现虚拟目录
在配置文件中加入
location ~
/nginx/(.*)$ {
alias
/data1/nginx/$1;
}
当然,alias后面跟的目录可以随意,只要是你放程序的目录即可。也就是说,alias后面定义的/data1/nginx/
也可以使/data1/123/
此时,访问图片,网页,css以及js都没有问题,但是访问php就会报404.
怎么办?
继续加如下配置,但注意,要加在上面那段location配置的前面,否则不生效。
location ~ /nginx/.+\.php$
{
root /data1/;
rewrite /nginx/(.*\.php) /$1
break;
include fastcgi_params;
fastcgi_pass unix:/tmp/php-fcgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
/data1/abc/$fastcgi_script_name;
}
到此,也可以支持php了。