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/ 目录中建立一个文件 linuxidc
<VirtualHost *:80>
ServerName www.linuxidc.com
ServerAlias linuxidc.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 linuxidc
service apache2 reload
/etc/apache2/sites-available/ 目录中建立一个文件 88181
<VirtualHost *:80>
ServerName www.88181.com
ServerAlias 88181.com
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 88181
service apache2 reload
修改C:\WINDOWS\system32\drivers\etc\hosts进行测试
192.168.0.4 linuxidc.com
192.168.0.4 88181.com
关闭一个虚拟站点
sudo a2dissite linuxidc
sudo a2dissite 88181
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 ,则会报这个警告。
Ubuntu下Apache虚拟主机+反向代理的更多相关文章
- Linux下Apache虚拟主机配置
Linux下Apache虚拟主机的三种配置.这样可以实现一台主机架构多个独立域名网站.其中基于域名的最为常见.性价比也最高.下面PHP程序员雷雪松详细的讲解下Linux下Apache虚拟主机配置的具体 ...
- nginx 虚拟主机+反向代理+负载均衡
nginx是一款免费.开源的http服务器,它是由俄罗斯程序设计师开发的,官方测试,nginx能支撑5万的并发量,主要功能有虚拟主机.反向代理和负载均衡等. nginx配置 # 全局块 ... # e ...
- 搭建nginx服务器,虚拟主机,反向代理
1 搭建Nginx服务器 1.1 问题 在IP地址为192.168.10. 5的主机上安装部署Nginx服务,并可以将Nginx服务器升级到更高版本,要求编译时启用如下功能: SSL加密功能 查看服务 ...
- win 下 apache 虚拟主机配置方式
虚拟主机的配置在apache安装目录下/conf/extra/httpd-vhosts.conf文件中,需要在/conf/httpd.conf中开启. LoadModule vhost_alias_m ...
- Windows下Apache 虚拟主机 VirtualHost 配置
以下方式适合原生 Apache, XAMPP 和 WAMP 套件 1.修改Apache配置文件(httpd.conf),如下: # Virtual hostsInclude conf/extra/ht ...
- CentOS下Apache虚拟主机配置
通过phpinfo可以看到Apache安装的目录 修改配置文件,首先将配置文件备份 编辑httpd.conf,并找到虚拟路径配置的部分 vi httpd.conf 在vi下先按esc在键入 :/vho ...
- nginx基于域名的虚拟主机 反向代理配置实例
vi /etc/nginx/conf.d/safeadmin.xxx.com.conf: server { listen 80; server_name safeadmin.xxxx.com; loc ...
- 配置LANMP环境(7)-- 配置nginx反向代理,与配置apache虚拟主机
一.配置nginx反向代理 1.修改配置文件 vim /etc/nginx/nginx.conf 在35行http下添加一下内容: include /data/nginx/vhosts/*.conf; ...
- Linux下添加apache虚拟主机
一切在确保apache被正确安装的前提下 设置虚拟主机 创建虚拟目录 现在,让我们继续安装虚拟主机.虚拟主机命名为local.gis. 创建一个公用的文件夹来存放这虚拟主机的数据. 首先,让我们为lo ...
随机推荐
- 2002 ACM 杭电 计算球体积
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2002 注意,要用double 才能过,float过不了. 体积公式要加括号(优先级别)(4 * Π * r ...
- 早期(编译器)优化--Java语法糖的味道
1.泛型与类型擦除 泛型的本质是参数化类型的应用,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口和泛型方法.在泛型没有出现之前,只能通过 ...
- libctemplate——源码分析
前言 在阅读此文章前,建议先阅读我之前写的<libctemplate——C语言模块引擎简介及使用>,以便对这个库有一个初步的认识.通过对库的代码阅读,对库有了一定的认识,提练一些重要的知识 ...
- MVVM设计模式和在WPF中的实现(四) 事件绑定
系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中的实现(三)命令绑定 MVVM模式解析和在WPF中的 ...
- nagle算法和TCP_NODELAY
写socket发现的一个诡异现象,当时将多个小数据写操作合并成一个写操作,问题就没了.Chenshuo同学还建议我设置TCP_NODELAY,只是后来因为事情忙,也就没有再深究下去. 现在大概明白,是 ...
- 在Objective-C 中使用字符生成NSArray、NSDictionary、NSNumber
@符号不仅可以生成字符串,还可以生成其他数据类型如NSArray.NSDictionary和NSNumber,是一种简洁快速的用法. // NSArray array = [NSArray array ...
- 每次运行caffe代码之前需要考虑修改的地方
Train阶段: (1) train.sh中的solver.prototxt路径 (2) train.sh中的caffemodel路径 (3) train.sh中的 ...
- Cassandra的数据模型的理解
Cassandra属于NoSQL数据库,NoSQL和传统关系型数据库不同,NOSQL偏好数据冗余,因为NoSQL一般无法做表关联查询. (1) keySpace 基本上可以将Keyspa ...
- 微信出现BUG,发送“ 两位数字+15个句号 ”,双方系统会卡崩……
刚刚,有网友反映称,微信出现了新的bug.例如,在微信中发“两位数字+15个句号”(另一说法是任意数字,任意15个标点符号),如果有华为手机或者安卓手机收到,就会卡死. 用安卓手机的朋友可以试一下,不 ...
- Windows 7用U盘安装CentOS 7
已经有Windows 7,准备再安装一个CentOS 7. 1. 划分磁盘空间 从磁盘上划分安装CentOS 7的安装空间.如果有多个硬盘的话,一定要在主硬盘上划分2G的空间(其实1G就够了)作为bo ...