设为首页 收藏本站
查看: 939|回复: 0

[经验分享] apache安装+负载均衡配置

[复制链接]

尚未签到

发表于 2017-1-2 11:20:20 | 显示全部楼层 |阅读模式
  1.    下载apache安装包
以下载httpd-2.2.19.tar.gz作为后续操作的示例
下载httpd-2.2.19.tar.gz到工作主目录,例如:/install_home/
  
2.    解压缩
$>cd /install_home
$>gzip –d httpd-2.2.19.tar.gz
$>tar –xvf httpd-2.2.19.tar
解压后目录结构为:
http-2.2.19
 
3.    安装
$> cd /install_home
$>mkdir  apache2
apache2 目录作为apache server的安装目标目录
$> cd /install_home/httpd-2.2.19
$>./configure --prefix= /install_home/apache2 \
 --enable-modules=so --enable-dav \
--enable-maintainer-mode -enable-rewrite --enable-so \
--enable-proxy --enable-http --enable-vhost-alias --enable-proxy-ftp \
 --enable-proxy-ajp --enable-proxy-balancer --enable-proxy-connect
“\”是命令换行但不结束命令
--enable-modules是指启用的models,除了so之外 还有all 和 most两个选项,此处我选择的so,感觉像是所有额外的so的model都会启用,注意只是感觉啊。
--enable-XXXX等这些都是启用的功能,因为要用apache作为负载均衡器,所以启用了相关的模块。上面列出的这些已经能够支持负载均衡的功能了。
这个命令执行需要一段时间,要等一会。
$>make
$>make install
安装完成。
  
4.    基础配置
4.1    修改端口
Apache httpd监听的默认端口是80,这个可以在配置文件中进行修改.
$>cd /install_home/apache2/conf
打开httpd.conf文件,将其中的Listen 80 改为自定义的端口号,例如Listen 12000
  
5.    启动停止

5.1    启动
$>cd /install_home/apache2/bin
$>./ apachectl start
5.2    停止
$>cd  /install_home/apache2/bin
$>./ apachectl stop
5.3    测试启动结果
在浏览器中键入http://IP:12000/
在页面中会显示It Works字样,说明启动成功。
注:启动过程中提示如下错误:httpd:Could not reliably determine the server's fully qualified domain name
这个是因为httpd.conf中没有指定servername。解决方案是将配置文件中的
#ServerName localhost:8080
前面的注释去掉,并且修改为正确的servername,比如主机IP等。

6.    负载均衡配置
终于到了正餐了。
S1:在httpd.conf文件的最后添加如下内容:
ProxyRequests Off   
<proxy balancer://cluster>
BalancerMember http://192.168.0.140:8080/ loadfactor=1 
BalancerMember http://192.168.0.140:8081/ loadfactor=2   
</proxy>
ProxyPass / balancer://cluster/
     其中的红色部分的”cluster”是负载均衡器的名称,可以自己随便定义。
    BalancerMember 配置的是各个均衡点,http://192.168.0.140:8080/和http://192.168.0.140:8081/ 分别是需要做负载均衡的服务。loadfactor是权重比例,取值为1-100,现在这种比例就是1:2,也就是说访问http://192.168.0.140:8081的次数是http://192.168.0.140:8080的两倍。
另外关于负载均衡还其他几种方案,还有多种负载均衡算法,目前这种能够满足最基础的要求了。其他的负载算法在这里不做赘述,请参考http://saybody.iteye.com/blog/1143094
    附:如果是windows环境下,httpd.conf文件还需要去掉下列配置项的注释,这样重启后可以开启相关功能。
    LoadModule negotiation_module modules/mod_negotiation.so
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

S2: 修改extra/httpd-vhosts.conf文件
     修改其中的监听端口
    NameVirtualHost 12000
    删除原有的<VirtualHost>的所有配置内容,然后添加如下内容:
    <VirtualHost *:12000>
ServerAdmin harvey@harvey.com
ServerName  192.168.1.1
ServerAlias 192.168.1.1
ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On
ProxyPassReverse / balancer://cluster/
</VirtualHost>
注:192.168.1.1是服务器的IP。cluster是负载均衡器的名称。
S3:重启httpd服务,确认负载均衡是否正常。
在浏览器中键入http://192.168.1.1:12000/ 连续刷新检查是否请求到不同的服务点。

注:如果配置负载均衡后启动提示如下错误:
Invalid command 'ProxyPass', perhaps misspelled or defined by a module not ……
这个是因为httpd在安装过程中没有启用相关modle的原因,详见前面安装的./configure部分。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-322822-1-1.html 上篇帖子: Apache Cookbook中文版笔记 下篇帖子: Apache 连接数优化
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表