• 技术文章 >后端开发 >php教程

    nginx部署多个域名问题

    2016-06-20 12:39:31原创478
    小弟php初学者。
    最近在nginx部署多个域名问题上纠结了很久。
    nginx装在Linux虚拟机上面,想在win7的真机上输入域名显示在Linux上配置的网页。
    在nginx的配置是这样的:
    server {       listen       80;       server_name www.abuwo.com;       root /storage/www/abc.com;       error_page   500 502 503 504  /50x.html;       access_log logs/abc.com.access.log;       location = /50x.html {          root   html;       }       location / {           if (!-e $request_filename) {               rewrite ^/(.*)$ /index.php?/$1;           }       }       location ~*\.php$ {           try_files $uri = 404;           fastcgi_pass phpfpm;           fastcgi_index index.php;           include fastcgi.conf;       }}


    回复讨论(解决方案)

    配置多个server域,设置不一样的server_name 和 root ,重启就可以了(记得把 域名添加到windows的hosts文件中)

    配置多个server域,设置不一样的server_name 和 root ,重启就可以了(记得把 域名添加到windows的hosts文件中)



    是IP地址对应域名这样的的映射撒?
    是像下面这样的么?
    10.96.112.238    abc1.com10.96.112.238    abc2.com

    是同一个IP地址后面接很多个不同的域名么?

    配置多个server域,设置不一样的server_name 和 root ,重启就可以了(记得把 域名添加到windows的hosts文件中)



    还有关于那个root的目录路径,是相对路径,还是绝对路径?
    最前面是否要加 / ?

    server_name www.abuwo.com;
    root /storage/www/abc.com;

    懂了么

    步骤如下图

    nginx 配置

    对应的test1 和 test2 目录下有两个index.html
    访问如下

    server_name www.abuwo.com;
    root /storage/www/abc.com;

    懂了么



    就是没懂才问的呀

    步骤如下图

    nginx 配置

    对应的test1 和 test2 目录下有两个index.html
    访问如下



    我的nginx是搭在Linux虚拟机上的
    那个root路径是怎样的?

    我按照网上的教程安装了,可是一直是404 Not Found
    我都不知道是什么错误。
    小弟实在是弄不懂了。

    我这个就是linux下,你的root 就是指向你对应网站的根目录,linux下就是以 / 开始的绝对路径

    404是访问什么网址的时候发生的呢?这个比较关键。
    另外,看Nginx的错误日志去,就能知道出现404时实际是请求哪个页面了。

    我这个就是linux下,你的root 就是指向你对应网站的根目录,linux下就是以 / 开始的绝对路径



    那如果我的页面放在 /usr/local/nginx/html/www/abc.com 里面的话,
    root 就要写上面的完整路径是么?

    另外,最后的 abc.com 是目录还是文件?之前有人说是文件。。
    但是按您的说法是目录吧?

    404是访问什么网址的时候发生的呢?这个比较关键。
    另外,看Nginx的错误日志去,就能知道出现404时实际是请求哪个页面了。



    不管是输入 IP 还是输入域名都显示404

    看错误日志去。要善于利用系统给出的信息。

    例子已经给你写了,为什么不动手试一下呢
    root /usr/local/nginx/html/www/abc.com
    abc.com 就是你存放网站文件的文件夹,路径也说了,是绝对路径

    例子已经给你写了,为什么不动手试一下呢
    root /usr/local/nginx/html/www/abc.com
    abc.com 就是你存放网站文件的文件夹,路径也说了,是绝对路径



    都有试呢。

    例子已经给你写了,为什么不动手试一下呢
    root /usr/local/nginx/html/www/abc.com
    abc.com 就是你存放网站文件的文件夹,路径也说了,是绝对路径



    谢谢你,已经出结果了。

    如果我的 页面放在 /usr/local/nginx/html/www/abc.com 里面的话,
    root 就要写上面的完整路径是么?
    是的
    root /usr/local/nginx/html/www/abc.com;

    这个 /usr/local/nginx/html/www/abc.com 是存放网站的目录
    同时有多个网站时就可能有
    /usr/local/nginx/html/www/www.com
    /usr/local/nginx/html/www/abc.com
    /usr/local/nginx/html/www/def.com
    ......

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:解决WP-PageNavi插件产生的分页链接无法正确传递Query String的问题 下一篇:PHP扩展迁移为兼容PHP7记录
    Web大前端开发直播班

    相关文章推荐

    • 基于在生产环境中使用php性能测试工具xhprof的详解_php实例• php桌面中心(二) 数据库写入_php实例• 请教在linux下mysql不支持视图吗• 密码是什么啊该如何解决• 请问php高手!关于mongodb的应用有关问题

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网