Apache http安装

下载地址Apache Haus Downloads

 

 选择自己系统的Apache版本下载安装。

1. 设置根目录或端口     1.1 进入zip解压后的目录,打开conf目录下的httpd.conf文件;     1.2 修改目录: Define SRVROOT "/Apache24";

 修改主配置文件:

Define SRVROOT "/Apache24"

修改为自己的安装目录 

Define SRVROOT "D:\Apache24"

    1.3 监听端口默认80,可根据自己需求修改。

2. 以管理员身份打开cmd,切换至Apache解压后的bin目录(如果把bin目录添加到环境变量也可以直接执行3,4步骤),执行步骤3、4指令; 3. 初始化

httpd.exe -k install [-n 'definedName'] ;  (-n 命令是自定义服务器命)

例如:httpd.exe -k install -n "apache"

在初始化前可以通过httpd.exe -t来检查配置文件是否合法

4. httpd.exe -k  start 启动服务;

5. 浏览器地址输入 http://localhost:80 用来确认是否启动; 6. httpd.exe -k stop 停止服务。

7. 常用指令使用     7.1 重启服务:httpd.exe -k restart  -n "服务名"     7.2 卸载服务: httpd.exe -k uninstall     7.2 查看版本:httpd.exe -v

 Apache的启动也可以通过cmd命令窗口打开services.msc的服务界面选择:

 反向代理配置

Apache安装好后,需要主配置文件http.conf

apache的反向代理是通过proxy模块来实现的,因此,在配置代理前,需要在apache服务器内把proxy的一些相关模块加载进来,否则代理配置是无效的。

取消这三行的注释

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_http_module modules/mod_proxy_http.so

Include conf/extra/httpd-vhosts.conf

http默认端口是80,设置localhost对IP101.43.147.67:8080的反向代理

反向代理规则配置:在 apache的安装目录/conf/vhosts.conf 中对应的站点内配置

更改内容:

DocumentRoot "${SRVROOT}/htdocs"

#ServerName www.example.com:80

ProxyPass / http://101.43.147.67:8080/

ProxyPassReverse / http://101.43.147.67:8080/

重启httpd服务生效。

ps:也可以注释Include conf/extra/httpd-vhosts.conf这一行,然后直接在httpd.conf文件中添加以上的更改内容,效果一样。

负载均衡设置

1. 修改httpd.conf的配置文件,取消一些注释。

其中mod_proxy提供代理服务器功能,mod_proxy_balancer提供负载均衡功能, mod_proxy_http让代理服务器能支持HTTP协议

LoadModule slotmem_shm_module modules/mod_slotmem_shm.so LoadModule access_compat_module modules/mod_access_compat.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so  

2.设置热备份(Hot Standby)

ProxyRequests Off

BalancerMember http://node-a.myserver.com:8080

BalancerMember http://node-b.myserver.com:8080 status=+H

ProxyPass / balancer://mycluster

ProxyPassReverse / balancer://clusters/

报错:

Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration

原因:因为Apache2.4和2.2版本访问控制有区别,Apache2.4提供了mod_access_compat这一新模块来兼容旧语句,取消注释掉这一行即可:

LoadModule access_compat_module modules/mod_access_compat.so

 

参考链接:

Apache如何做负载均衡配置-Apache-PHP中文网

 

参考阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: