nginx 配置虚拟目录并支持php

问题:假如 www.111.com 站点的root目录为 /data/web/ ,现在想在www.111.com 下放一个站点,www.111.com/abc/

但不能直接在/data/web/下创建abc目录,要放在 /data1/abc/下。

解决办法:

使用nginx的alias功能实现虚拟目录

在配置文件中加入

location ~ /abc/(.*)$ {

alias /data1/abc/$1;

}

当然,alias后面跟的目录可以随意,只要是你放程序的目录即可。也就是说,alias后面定义的/data1/abc/ 也可以使/data1/123/

此时,访问图片,网页,css以及js都没有问题,但是访问php就会报404. 怎么办?

继续加如下配置,但注意,要加在上面那段location配置的前面,否则不生效。

location ~ /abc/.+\.php$ {

root /data1/;

rewrite /abc/(.*\.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了。

时间: 2024-08-08 19:08:20

nginx 配置虚拟目录并支持php的相关文章

nginx配置虚拟主机vhost的方法详解

摘自:http://www.jb51.net/article/107331.htm Nginx vhost配置,可实现基于ip.端口号.servername的虚拟主机,同时可避免直接修改主配置文件.在nginx下配置虚拟主机vhost非常方便.这篇文章主要介绍了nginx配置虚拟主机vhost的方法,需要的朋友可以参考下 前言 所谓虚拟主机,是说通过几个不同的url地址,都能到达nginx环境,只不过针对不同的url,处理的逻辑不同.nginx支持虚拟主机,但是浏览器等客户端不知道,所以虚拟主机

LNMP架构应用实战——Nginx配置虚拟主机

LNMP架构应用实战--Nginx配置虚拟主机        前面介绍了nginx服务的安装与配置文件,今天介绍下它的另一种实用配置--"虚拟主机",每个虚拟主机可以是一个独立的网站,可以具有独立的域名,同一台服务器上的不同的虚拟主机之间是独立的,用户访问不同虚拟主机如同访问不同的服务器一样,因此它不需要为一个单独的WEB站点提供单独一个nginx服务器和一个单独的nginx进程 1.nginx虚拟主机简单介绍 同apache服务一样,它也有三种不同的虚拟主机,基于域名的虚拟主机.基于

apache2.4配置虚拟目录

刚开始学习,跟着韩顺平老师的视频课件学习ing~ 这是自己在配置虚拟目录时遇到的问题以及解决办法,记录下来~ ---------------------------分割线君------------------------------- 我的apache安装目录为E:\apache\Apache24 想要配置的目录为D:\myblog 中的网页文件 step1 添加虚拟目录节点 找到E:\apache\Apache24\conf 中的httpd.conf文件,增加下图红框中代码 step2 注释d

Apache配置虚拟目录和多主机头

呃,相当古老的话题了,不过网上的资料实在是太坑爹,无奈只能自己动手做个备忘了...这里不提虚拟目录和主机头的区别了,不懂得童鞋去面壁思过吧 多个虚拟目录 首先把Apache安装到D:\Program Files\Apache2.2目录下,端口号设置为8080,安装完成后默认的网站根目录为D:\Program Files\Apache2.2\htdocs,通常我们可以在htdocs下面建立个文件夹MySite,然后在浏览器输入:http://localhost:8080/MySite 这样就可以看

Tomcat配置虚拟目录

虚拟目录即为保存网站资源如JSP等文件的目录,配置虚拟目录分为如下几个步骤. 第一步: 在磁盘的任意位置创建一个文件夹,如“E:\JavaWebAPP”.该文件夹即为虚拟目录地址. 第二步: 在虚拟目录中创建一个名为“WEB-INF”的文件夹,并在该文件夹中创建一个web.xml文件. 第三步: 打开Tomcat安装目录conf文件夹中的server.xml,找到文件最末端的“</Host>”,在其上面一行添加如下代码.<Context path="/test" do

Apache之——配置虚拟目录

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/48142201 一.配置 Apache配置虚拟目录主要是修改httpd.conf文件就可以了. 打开httpd.conf文件,找到如下代码: <IfModule dir_module> DirectoryIndex index.html </IfModule> 如图所示: 在这段代码的下面添加如下代码: #配置虚拟目录 <IfModule dir_module&

Apache 配置虚拟目录和虚拟主机

Apache配置虚拟目录 在httpd.conf文件中添加 大约在245行 # Create Virtual catalogue <IfModule dir_module> DirectoryIndex index.html index.htm index.php Alias /MyWeb "c:/MyWeb" // 在C盘的根目录下有一个Myweb文件夹,可以把这个文件夹看做虚拟目录 <Directory c:/MyWeb> Order allow,deny

PHP学习笔记:APACHE配置虚拟目录、一个站点使用多域名配置方式

我用的是xmapp lite2016的集成包,配置虚拟目录教程如下: 找到httpd-vhosts.conf这个文件,这个文件一般是在xampp\apache\conf\extra这个路径下面,找不到可以搜索下. 你会看到类似的界面: # # Use name-based virtual hosting. # ##NameVirtualHost *:80 # # VirtualHost example: # Almost any Apache directive may go into a Vi

关于Apache服务器中配置虚拟目录和虚拟主机

一.配置虚拟目录: ① ②注销DocumentRoot路径(这个配置文件中使用'#'来注释一行语句) ③关于配置的虚拟路径中权限设置语句的解读 例图: 图中语句的意思是: order表示读取语句是先allow,后deny.所以执行顺序是:allow(允许所有ip访问站点文件夹)--->deny(拒绝所有ip访问站点文件夹)--->allow from 218.20.253.2(允许ip地址218.20.253.2访问)--->deny from 218.20(拒绝所有以218.20开头的