Nginx虚拟目录支持PHP配置
2011-12-01 11:16
891 查看
Nginx虚拟目录支持PHP也是花了不少时间查找资料研究摸索,最终用下面两段解决。下面不是一段完整的Nginx配置文件,对于该配置片段简单解释如下:
1. 该文件配置一个主机www.mydomain.com在/data/Service下
2. 将一个在/data/Forum下的论坛程序挂在www.mydomain.com/Forum下,这里我用的是phpBB3
3. 将一个在/data/Mantis下的Bug跟踪管理程序MaintisBT挂在www.mydomain.com/Mantis下
phpBB3和MantisBT分别是两个独立的PHP程序。
对于Nginx虚拟目录支持分两段:
1. 第一段用alias解决虚拟目录问题,使用rewrite处理访问重定向,并传递用于fastcgi的正确的脚本位置
2. 第二段用于处理所有的非PHP文件在虚拟目录中的访问,没有第二段,访问非PHP文件就是出现404
server {
listen 80;
server_name www.mydomain.com;
#root /data/Service;
charset utf-8;
access_log /usr/local/nginx/logs/www.mydomain.com.access.log main;
# Virtual directory with PHPsupport onnginx
location ~ ^/Forum/.+\.php$ {
alias /data/Forum/;
rewrite /Forum/(.*\.php?) /$1 break;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /data/Forum$fastcgi_script_name;
include fastcgi_params;
}
location ~^/Forum($|/.*) {
alias /data/Forum/$1;
index index.php index.html index.htm;
}
# Virtual directory with PHP support on nginx – end
# Virtual directory with PHP support onnginx
location ~ ^/Mantis/.+\.php$ {
alias /data/Mantis/;
rewrite /Mantis/(.*\.php?) /$1 break;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /data/Mantis$fastcgi_script_name;
include fastcgi_params;
}
location ~^/Mantis($|/.*) {
alias /data/Mantis/$1;
index index.php index.html index.htm;
}
# Virtual directory with PHP support on nginx – end
location /{
root /data/Service;
index index.php index.html index.htm;
}
#fast-cgi for php-cgi
location ~\.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/Service$fastcgi_script_name;
include fastcgi_params;
}
location ~\.(gif|jpg|jpeg|png|bmp|ico|rar|css|js|zip|java|jar|txt|flv|swf|mid|doc|ppt|xls|pdf|txt|mp3|wma)${
access_log off;
expires max;
}
error_page 404 /404.html;
# redirectserver error pages to the static page /50x.html
#
error_page 500 502 503504 /50x.html;
}
1. 该文件配置一个主机www.mydomain.com在/data/Service下
2. 将一个在/data/Forum下的论坛程序挂在www.mydomain.com/Forum下,这里我用的是phpBB3
3. 将一个在/data/Mantis下的Bug跟踪管理程序MaintisBT挂在www.mydomain.com/Mantis下
phpBB3和MantisBT分别是两个独立的PHP程序。
对于Nginx虚拟目录支持分两段:
1. 第一段用alias解决虚拟目录问题,使用rewrite处理访问重定向,并传递用于fastcgi的正确的脚本位置
2. 第二段用于处理所有的非PHP文件在虚拟目录中的访问,没有第二段,访问非PHP文件就是出现404
server {
listen 80;
server_name www.mydomain.com;
#root /data/Service;
charset utf-8;
access_log /usr/local/nginx/logs/www.mydomain.com.access.log main;
# Virtual directory with PHPsupport onnginx
location ~ ^/Forum/.+\.php$ {
alias /data/Forum/;
rewrite /Forum/(.*\.php?) /$1 break;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /data/Forum$fastcgi_script_name;
include fastcgi_params;
}
location ~^/Forum($|/.*) {
alias /data/Forum/$1;
index index.php index.html index.htm;
}
# Virtual directory with PHP support on nginx – end
# Virtual directory with PHP support onnginx
location ~ ^/Mantis/.+\.php$ {
alias /data/Mantis/;
rewrite /Mantis/(.*\.php?) /$1 break;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /data/Mantis$fastcgi_script_name;
include fastcgi_params;
}
location ~^/Mantis($|/.*) {
alias /data/Mantis/$1;
index index.php index.html index.htm;
}
# Virtual directory with PHP support on nginx – end
location /{
root /data/Service;
index index.php index.html index.htm;
}
#fast-cgi for php-cgi
location ~\.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/Service$fastcgi_script_name;
include fastcgi_params;
}
location ~\.(gif|jpg|jpeg|png|bmp|ico|rar|css|js|zip|java|jar|txt|flv|swf|mid|doc|ppt|xls|pdf|txt|mp3|wma)${
access_log off;
expires max;
}
error_page 404 /404.html;
# redirectserver error pages to the static page /50x.html
#
error_page 500 502 503504 /50x.html;
}
相关文章推荐
- nginx 配置虚拟目录,并且支持PHP配置虚拟目录
- nginx 配置虚拟目录并支持php
- Nginx发布Alias虚拟目录及PHP支持配置方法
- nginx 配置虚拟目录并支持php
- Nginx 虚拟主机 配置 支持独立urlwrite 文件, php-fpm独立用户和php....
- 配置nginx虚拟目录配置文件支持tp的pathinfo
- nginx虚拟目录配置(php-fpm+fastcgi)
- Nginx安装配置(含PHP支持、虚拟主机、反向代理负载均衡)
- nginx“虚拟目录”不支持php的解决办法
- nginx (lnmp)配置支持php,虚拟主机
- Nginx目录别名(Alias)支持PHP的配置
- Nginx虚拟目录配置文件(包含PHP配置与重写)
- Nginx支持虚拟目录的配置
- Nginx目录别名(Alias)支持PHP的配置
- Linux下安装php环境并且配置Nginx支持php-fpm模块[www]
- Nginx 安装笔记(含PHP支持、虚拟主机、反向代理负载均衡)
- apache php配置 虚拟目录 和 虚拟主机 多域名配置 原理解析
- Linux下安装php环境并且配置Nginx支持php-fpm模块
- nginx下虚拟目录配置301域名重定向
- 简单Nginx下防跨站、跨目录安全设置,支持PHP 5.3.3以上版本