Nginx 一个域名下部署多个网站运行多个PHP 版本

本文详细介绍了如何使用Nginx配置在同一域名下不同路径的多站点,包括如何根据请求路径设置不同的网站根目录,以及如何配置不同PHP版本运行不同网站的方法。

我们可能会遇到需要在一个域名下用几套程序来构建一个网站,这时候可能需要在在不同的目录下绑定不同的网站。

比如 根目录 / 是用 Laravel 构建的cms程序,/blog 下绑定的是一个 wordpress 开源博客程序。

问题一:如何将不同程序的代码目录绑定到一个域名下的不同路径?

一般来说各个网站的程序代码在服务器上存放的位置是并列的。比如 /data/wwwroot/cms/,/data/wwwroot/blog

我们要做的是将各个代码目录绑定在一个域名下的目录树上。
比如 http://demo.com/ 指向访问cms程序
http:/demo.com/blog 访问博客程序,(有点像 Linux文件系统的挂载)

处理方法是在 server{} 中根据请求路径设置不同的 root ( 网站根目录)

情况一, server 块下只有一个域名,解决方法:

server {
    server_name  demo.com ;
    index index.php index.html;

    if ($host ~* ^demo\.com$) {
        set $rootdir "/data/wwwroot/cms";
    }

    if ($request_uri ~* ^/blog/?.*) {
        set $rootdir "/data/wwwroot/blog";
    }
    //如果有论坛程序,可以再绑定到 /bbs  目录
    if ($request_uri ~* ^/bbs/?.*) {
        set $rootdir "/data/wwwroot/bbs";
    }
    root $rootdir;

}

这种情况比较简单,根据请求路径设置不同的根目录路径就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值