Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践
欢迎转载,转载时请保留全文及出处。
Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践
Apache安装
下载源程序(http://httpd.apache.org/)
[xiaohui@vmCentOS6 Downloads]$ wgethttp://www.eu.apache.org/dist/httpd/httpd-2.4.7.tar.gz
解压缩
$su - root
# tar xvf httpd-2.4.7.tar.gz
安装编译环境
yum -y install gcc
yum -y install make
yum -y install gcc-c++
下载安装apr和pcre
#wgethttp://archive.apache.org/dist/apr/apr-1.5.0.tar.gz
#wgethttp://archive.apache.org/dist/apr/apr-util-1.5.3.tar.gz
wgethttp://nchc.dl.sourceforge.net/project/pcre/pcre/8.32/pcre-8.32.tar.gz
#tar xvfapr-1.5.0.tar.gz
# tar xvfapr-util-1.5.3.tar.gz
# tar -zxvfpcre-8.32.tar.gz
##进入APR目录编译安装apr
# cd apr-1.5.0
# ./configure--prefix=/usr/local/apr
# make &&make install
##进入APR-UTIL目录编译安装apr-util
# cdapr-util-1.5.3
#./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make &&make install
进入pcre目录编译安装
#cd pcre-8.32
# ./configure
# make &&make install
编译安装apache
# cd httpd-2.4.7
# ./configure--prefix=/usr/local/apache --with-apr-util=/usr/local/apr-util
# make &&make install
出现/bin/rm:cannot remove `libtoolT’: No such file or directory错误的解决方法
在编译安装apr时运行”#./configure --prefix=/usr/local/apr”可能出现上面的错误提示,这时直接打开configure文件(就在解压的软件包里面),把
$RM “$cfgfile”那行用#注释掉,重新再运行#
./configure --prefix=/usr/local/apr 就可以了。
关闭SELINUX
[root@vmCentOS6 ~]# vi /etc/sysconfig/selinux
# This file controls the state ofSELinux on the system.
# SELINUX= can take one of thesethree values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled #改成DISABLED
# SELINUXTYPE= can take one of thesetwo values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
"/etc/sysconfig/selinux"13L, 457C written
[root@vmCentOS6 ~]#
关闭防火墙
[root@vmCentOS6 ~]# chkconfig iptables off
修改apache配置
# cd /usr/local/apache/conf
# vi httpd.conf
在配置文件httpd.conf中启用服务器名称
ServerName 192.168.xxx.xxx #apache服务器本机IP地址
反向代理设置
在httpd.conf中启用以下模块
LoadModulerewrite_module modules/mod_rewrite.so
LoadModuleproxy_module modules/mod_proxy.so
LoadModuleproxy_http_module modules/mod_proxy_http.so
添加需要被反向代理服务器的域名信息
ServerName www.xxxxx.com
ProxyPass / http://www.xxxxx.com
ProxyPassReverse /http://www.xxxxxx.com
在/etc/hosts文件中添加DNS信息
192.168.X.X www.xxxxxx.com #ip地址为此域名对应的内网服务器
4.在域名服务商处将外网域名的DNS指向APACHE代理服务器的公网IP
5.以后添加需要反向代理服务器时要做的工作
a)部署WEB应用服务器(使用内网IP)。
b)在APACHE代理服务器httpd.conf文件中添加上述服务器分配的域名信息
c)在APACHE代理服务器hosts文件中添加DNS信息
d)将外网域名解析到APACHE代理的外网IP
三、启用虚拟主机的方法(此步骤与建立反向代理无关,可以不做)
在配置文件httpd.conf中启用虚拟主机的配置文件
# Virtual hosts
Includeconf/extra/httpd-vhosts.conf
感谢您的阅读,欢迎光临我的博客,期待与您的交流http://www.cnblogs.com/coffeebox/
Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践的更多相关文章
- [转]用apache反向代理解决单外网ip对应内网多个web主机的问题
用apache反向代理解决单外网ip对应内网多个web主机的问题 转载一个有独立外网IP,需内网服务器对外发布的例子,是应用apache虚拟主机的. 来源地址:http://www.itshantou ...
- 在CentOS6.4中安装配置LAMP环境的详细步骤
本文详细介绍了CentOS6.4系统中安装LAMP服务并对其进行配置的过程,即安装Apache+PHP+Mysql,参照了网上大神的设置,其他Linux发行系统可以参考~ 在本文中部分命令操作需要ro ...
- 在CentOS6.4中安装配置LAMP环境的详细步骤 - Leroy-LIZH
本文详细介绍了CentOS6.4系统中安装LAMP服务并对其进行配置的过程,即安装Apache+PHP+Mysql,参照了网上大神的设置,其他Linux发行系统可以参考~ 在本文中部分命令操作需要ro ...
- (原创)VM中的CentOS6.4中安装CloudStack6.3②
接着VM中的CentOS6.4中安装CloudStack6.3①中文章接着,往下面安装 4.更新 yum 仓库 默认情况下,CentOS的软件源中没有收录最新版本CloudStack,为了能顺利安装, ...
- CentOS6.6系统中安装配置Samba的教程
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通 ...
- 在centos6.5中安装mysql5.7
简介 博主最近在研究mysql的读写分离和主从复制,一台master和两台slave,三台机器在同一个局域网中,首先就就要在centos6.5中安装mysql5.7.好了,废话不多说,接下来进入正题. ...
- CentOs6.5中安装和配置vsftp简明
这篇文章主要介绍了CentOs6.5中安装和配置vsftp简明教程,需要的朋友可以参考下 一.vsftp安装篇 复制代码代码如下: # 安装vsftpdyum -y install vsftp ...
- CentOs6.5中安装和配置vsftp简明教程[转]
CentOs6.5中安装和配置vsftp简明教程 林涛 发表于:2017-3-17 10:10 分类:WebServer 标签: 101次 一.vsftp安装篇 复制代码代码如下: # 安装vsftp ...
- Ubuntu中安装配置 JDK与apache
一,前期准备: 1.下载apach网址:https://tomcat.apache.org/download-90.cgi 3.下载:jdk网址:http://www.oracle.com/techn ...
随机推荐
- PowerDesigner Mysql 主键自增、初始值、字符集
自增 在你所要设为自增型的键上(比如你的id)双击,弹出一个Column Properties对话框,右下角有一个Identify的选择框,选中它OK,就可以了. 再去查看Preview,就能看到AU ...
- C#计算当前日期为一年中的第几周
方法一: private int WeekOfYear(string date) { DateTime curDay = Convert.ToDateTime(date); i ...
- 【7】用Laravel5.1开发一个简单的博客系统
声明: 本教程参考Jeffrey way 在laracasts.com上的视频教程,感谢Jeffrey way为大家带来的精彩教程,本教程如有侵权,请及时告知,联系邮箱wanglv93@gmail.c ...
- mac删除顽固图标
cd /Users/shelley/Library/Application\ Support/Dock cp 10CCA448-0975-41DE-B47A-8E89FD634227.db 10 ...
- 【6】python核心编程 第九章-文件和输入输出
1.文件对象的内建方法列表 文件对象的方法 操作 file.close() 关闭文件 file.fileno() 返回文件的描述符(file descriptor ,FD, 整数值) file.flu ...
- 深入解析spring中用到的九种设计模式
转载请注明出处,文章首发于:http://itxxz.com/a/javashili/tuozhan/2014/0601/7.html 设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也 ...
- Android Studio代码着色插件
文章将给大家分享Studio中代码高亮插件,个人觉得换个代码着色方式还是挺有必要的,起码让视觉上有个变换,感官上爽一些.就像吃惯了大鱼大肉,偶尔也来点青菜萝卜吧.以下是个人喜欢的几款,给个效果图大家看 ...
- Best Meeting Point 解答
Question A group of two or more people wants to meet and minimize the total travel distance. You are ...
- Java学习作业(14.4.21)
前三次作业都是基础语法.真的好水啊.从这次开始记录. 1.编写Java程序,把当前目录下扩展名为txt的文件的扩展名全部更名为back. import java.io.*; import java.l ...
- Linux下获取线程TID的方法——gettid()
(转载)http://blog.csdn.net/delphiwcdj/article/details/8476547 如何获取进程的PID(process ID)? 可以使用: #include & ...