`
iliuyong
  • 浏览: 143725 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Ubuntu下Apache虚拟主机+反向代理

 
阅读更多

反向代理 就是通过一台代理服务器,让Internet用户可以访问到内部网络上的服务器

下图中192.168.0.4 可以理解带有2个网卡,一个是公网ip,一个是192.168.0.4

代理内外中的2个服务器上的2个服务,分别是运行在9000端口和81端口

01)安装 Apache2:
    sudo apt-get install apache2
    测试访问:192.168.0.4


02)重启服务器:
    sudo /etc/init.d/apache2 restart

   



03)虚拟主机+反向代理 配置:

    目标是:用安装apache2的服务器ip 192.168.0.4 代理运行在192.168.0.15:9000上的tomcat服务器
    前提是:
    192.168.0.4安装好了apache2并可以正常访问
    192.168.0.15:9000也可以正常访问

    启用这几个模块
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
    LoadModule proxy_connect_module modules/mod_proxy_connect.so
    LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
   
    启用模块   sudo a2enmod <model> 
    禁用模块   sudo a2dismod <model> 

    上面提到的几个启动模块命令如下
    sudo a2enmod proxy
    sudo a2enmod proxy_ajp
    sudo a2enmod proxy_balancer
    等等


/etc/apache2/sites-available/ 目录中建立一个文件 test01

<VirtualHost *:80>
ServerName www.test01.com
ServerAlias test01.com
ProxyPreserveHost On
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://192.168.0.15:9000/
ProxyPassReverse / http://192.168.0.15:9000/
</VirtualHost>


然后执行 启用这个站点
sudo a2ensite test01
service apache2 reload

/etc/apache2/sites-available/ 目录中建立一个文件 test02

<VirtualHost *:80>
ServerName www.test02.com.cn
ServerAlias test02.com.cn
ProxyPreserveHost On
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://192.168.0.11:81/
ProxyPassReverse / http://192.168.0.11:81/
</VirtualHost>

然后执行 启用这个站点
sudo a2ensite test02
service apache2 reload

修改C:\WINDOWS\system32\drivers\etc\hosts进行测试
192.168.0.4       test01.com
192.168.0.4       test02.com.cn

关闭一个虚拟站点
sudo a2dissite test01 
sudo a2dissite test02

 

04)Ubuntu的/etc/apache2目录解释:

    apache2.conf 核心配置文件,一般不需要修改!
    conf.d 目录,里面包含了一些字符集设置,文档等设置!
    dav_svn.authz 和dav_svn.passwd 是前面做SVN时,相关权限、密码文件。
    envvars 定义了运行时的用户身份——www-data。
    httpd.conf 是Apache留给我们自己折腾的配置文件,默认为空。apache2.conf 会加载这个文件。
    ports.conf 端口默认配置。apache2.conf 会加载这个文件。
    magic 为mod_mime_magic模块服务。
    mods-enabled 和mods-available mods-enabled 会被apache2.conf 加载,里面包含*.load和*.conf文件。*.load文件中是加载相应的模块(位于/usr/lib/apache2/modules/ 中),而*.conf中是对应的基本配置。但这些文件其实都是链接到mods-available 中相应的文件上。当我们通过a2enmod 操作时,实际上正是操作了这些软链接。
    sites-available 和sites-enabled 与 mods-enabled 和mods-available 的关系类似,只是其中包含的是站点内容。

05)Ubuntu的Apache的配置文件解释:

    Apache在启动时会自动读取/etc/apache2/apache2.conf的配置信息。
    而其他的一些配置文件,则是通过Include指令包含进来
    在apache2.conf中可以找到这些Include行:

        # Include module configuration:
        Include /etc/apache2/mods-enabled/*.load
        Include /etc/apache2/mods-enabled/*.conf
         
        # Include all the user configurations:
        Include /etc/apache2/httpd.conf
         
        # Include ports listing
        Include /etc/apache2/ports.conf

        # Include generic snippets of statements
        Include /etc/apache2/conf.d/
         
        # Include the virtual host configurations:
        Include /etc/apache2/sites-enabled/






06)配置错误:
    apache2"NameVirtualHost *:80 has no VirtualHosts"
     
    对于同一主机支持多个虚拟主机的情况,只需要命名一次NameVirtualHost,如果在每个虚拟主机配置文件中都加上NameVirtualHost *:80 ,则会报这个警告。

  • 大小: 29.6 KB
0
1
分享到:
评论

相关推荐

    ubuntu系统下apache配置虚拟主机及反向代理详解

    自己有两个域名blogsir.com.cn 和 s7star.cn ,都绑定在了我的腾讯云主机上,还有七星网络安全攻防平台的搭建,这里记录下我搭建虚拟主机和反向代理的过程,下面来一起看看详细的介绍: 配置虚拟主机 $ sudo vi /etc...

    apache反向代理和负载均衡总结

    配置Apache负载均衡涉及创建一个新的虚拟主机配置文件,在 `/etc/apache2/sites-available/` 目录下编辑或创建一个配置文件,例如 `balancer.conf`,并添加以下内容: ```apache Listen 202.x.xx.xxx:80 ...

    利用Apache作反向代理

    然后,我们可以创建一个新的虚拟主机配置或者在现有虚拟主机配置中添加反向代理规则。以下是一个简单的示例,将所有到达 /backend 路径的请求转发到后端服务器(例如,192.168.1.100:8080): ```apache *:80&gt; ...

    apache+https+tomcat.rar

    此配置不仅提供了安全的通信,还利用Apache的负载均衡和反向代理功能,提高了系统的稳定性和可扩展性。在实际生产环境中,我们还可以进一步优化配置,例如使用负载均衡器、缓存服务等,以满足高并发访问的需求。

    linux+apache+tomcat+java配置文件.rar

    配置Apache涉及到编辑其主配置文件`httpd.conf`或站点特定的`.conf`文件,设置虚拟主机、端口监听、文档根目录、重定向规则等。此外,了解模块如mod_rewrite用于URL重写和mod_proxy用于反向代理也非常重要。 3. ...

    apache2.4+tomcat7集群

    2. **配置虚拟主机**:在Apache的conf/extra/httpd-vhosts.conf文件中,创建一个虚拟主机来处理集群请求。例如: ``` *:80&gt; ServerName your.domain.com ProxyPass / balancer://mycluster/ ProxyPassReverse /...

    Ubuntu 16.04与Apache虚拟主机配置的步骤详解

    众所周知在window下,Apache的配置文件是httpd.conf,但在Linux下安装了Apache后发现其配置并不像window下那么简单,Linux下Apache将各个设置项分在了不同的配置文件中,想想也是有很大的理由的,这样子可以使用户在...

    LANMP-v3(Linux+Apache+Nginx+Mysql+PHP)

    这些文件定义了服务的运行参数,如监听端口、虚拟主机设置、数据库连接等,可以根据实际需求进行调整。 - **lib**:这个目录可能包含了运行LANMP环境所需的库文件。这些库文件对Apache、Nginx、MySQL和PHP的正常运行...

    如何在Ubuntu下启动Apache的Rewrite功能

    - Ubuntu系统下apache配置虚拟主机及反向代理详解:教你如何配置Apache以支持多个网站(虚拟主机)和反向代理功能。 了解这些内容,你将能更好地管理和优化你的Apache服务器,使其能满足各种Web应用程序的需求。

    apache+tomcat整合配置

    在Apache的配置文件中,定义一个虚拟主机,并设置反向代理到Tomcat。以下是一个基本示例: ```apacheconf *:80&gt; ServerName yourdomain.com ProxyPreserveHost On ProxyPass / http://localhost:8080/ ...

    Apache+tomcat实现负载均衡

    配置文件一般位于`/etc/httpd/conf`(CentOS/RHEL)或`/etc/apache2`(Ubuntu/Debian)目录下。在`httpd.conf`或`apache2.conf`中,你需要启用`mod_proxy`模块,这是一个用于实现代理功能的模块,可以通过在文件末尾...

    Apache2.2.x+Tomcat6.x+jk2.x做集群配置

    2. 配置httpd.conf:在Apache的配置文件httpd.conf中,加载mod_jk模块并设置虚拟主机: ``` LoadModule jk_module /path/to/mod_jk.so JkWorkersFile /path/to/worker.properties JkMount /* worker1 ...

    apache2中文手册

    同时,`mod_proxy`模块可使Apache作为反向代理,将客户端请求转发到其他服务器,实现负载均衡或隐藏后端服务器。 ### 性能优化 Apache提供了多种手段来优化性能,包括预读取(`mod_prefork`)、多线程(`mod_mpmt`)...

    Apache服务器配置全攻略

    Apache有许多可选模块,如mod_rewrite用于URL重写,mod_proxy支持反向代理。使用LoadModule指令加载模块,然后在配置文件中启用相关功能。 九、故障排查与监控 1. 使用apachectl或httpd命令行工具进行服务启停、...

    apache及redis部署

    可以使用Apache的模块(如mod_proxy)实现负载均衡,结合Nginx作为反向代理增加性能。对于Redis,可以配置哨兵系统(Sentinel)实现高可用性,或者使用Cluster实现分布式存储。 总之,Apache和Redis的部署是构建...

    Apache Server Survival Guide

    `apache2.conf`是主配置文件,而`sites-available`和`sites-enabled`目录用于管理虚拟主机。创建新的虚拟主机配置文件,并通过软链接到`sites-enabled`来启用。 安全性是Apache服务器管理的关键。你需要确保正确...

Global site tag (gtag.js) - Google Analytics