Apache学习-Apache 实例

本文隶属与20170829Apache学习

Apache 实例

一个域名访问一个网页


    Servername  php.gac.cn
    DocumentRoot /var/www/html/php
#网站的目录设置为/var/www/html/php访问时用http://php.gac.cn

域名/关键字 访问不同的网页


    Servername  php.gac.cn
    DocumentRoot /var/www/html/php
#网站的目录设置为/var/www/html/php访问时用http://php.gac.cn

/var/www/html/php目录下新建php1,php2目录,在每个目录里放上网页,则可通过http://php.gac.cn/php1,http://php.gac.cn/php2访问两个网页

apache反向代理 一个域名反向代理多个discuz站

参考

Ubuntu Apache 反向代理

案例环境

反向代理服务器 :Centos apache
discuz站所在服务器: Ubuntu apache

实现

通过http://www.domain.cn/xxx,访问Ubuntu里面里面已存在的不同的discuz网站

问题

discuz会根据访问的域名如http://xxx.cn生成返回的html网页中的连接,所以访问discuz的连接必须是http://www.domain.cn/xxx,而在公网上www.domain.cn指向的是反向代理服务器 (Centos )

一种方案

反向代理服务器 (Centos apache)配置
apache配置文件填入



    Servername  www.domain.cn
        ProxyRequests Off
#zx站
        ProxyPass /zx/ http://www.domain.cn/zx/
        ProxyPassReverse /zx/  http://www.domain.cn/zx/
#hjl站
        ProxyPass /hjl/ http://www.domain.cn/hjl/
        ProxyPassReverse /hjl/  http://www.domain.cn/hjl/
       
           Order Deny,Allow
           Allow from all
        

因为在公网上www.domain.cn指向代理服务器(centos),所以为了让代理服务器(centos)将www.domain.cn解析为discuz所在的服务器(ubuntu),在代理服务器(centos)中添加hosts

echo discuz所在的服务器(ubuntu)ip www.domain.cn >> /etc/hosts

discuz所在的服务器(ubuntu,apache)配置
apache配置文件填入

#proxy

        ServerName  www.domain.cn
        DocumentRoot /var/www
        ErrorLog /var/data/log/proxy.log
        CustomLog /var/data/log/proxy.log combined

将zx站的目录放在/var/www/zx目录下,hjl站的目录放在/var/www/hjl目录下

这样当访问http://www.domain.cn/zx/(对公网来说www.domain.cn指向代理服务器)时,代理服务器会自动请求http://www.domain.cn/zx/(对代理服务器来说www.domain.cn指向disucz站点服务器),discuz返回的网页里面所有的连接也都是http://www.domain.cn/zx/开头的,可以持续访问。
discuz操作
zx站和hjl站的域名都是www.domain.cn,他们的cookies保存如果都在根目录就会冲突,将zx站默认cookies目录设置为/zx/,hjl站默认cookie目录设置为/hjl/就不会冲突

vi discuz目录/config/config_global.php

$_config['cookie']['cookiepath'] = '';更改为$_config['cookie']['cookiepath'] = '/xxx/';
xxx代表zx或hjl

discuz控制面板里也把相应的连接设置为http://www.domain.cn/xxx/

暂时发现这些

你可能感兴趣的:(Apache学习-Apache 实例)