欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Apache服务-前端服务器配置

程序员文章站 2022-06-24 20:01:11
...

Apache服务-前端服务器配置

一、重要概念
  1. 虚拟主机(VirtualHost ):对外开的虚拟主机和端口号
  2. vhosts.conf:虚拟主机配置文件
  3. workers.properties:worker的配置文件,tomcat(或其他服务器)的连接池配置
  4. hosts:本地host文件,做本地的域名映射,域名解析会首先找到这个文件,若解析失败则向上找DNS服务器
  5. httpd.conf:httpd程序的配置文件

相关文件位置:

Apache24/conf/vhosts.conf
Apache24/conf/httpd.conf
Apache24/conf/workers.properties
C:\Windows\System32\drivers\etc\hosts

二、启动步骤
0.hosts配置(可能没有)

本地hosts可能需要配置,提供本地域名解析功能
例子:

127.0.0.1 my.haha.cn
127.0.0.1 my.huhu.cn

解释:
有两个参数,第一个参数域名最终映射的ip,第二个参数是域名

1.httpd.conf配置

确认文件最后有如下两行(没有的话加上),使对应的conf生效:

Include conf/mod_jk.conf 
Include conf/vhosts.conf 
2.配置vhost.conf
#haha
<VirtualHost *:80>
    DocumentRoot "D:\apache-tomcat\apache-tomcat-6.0.39\webapps\portal"
    ServerName   my.haha.cn
    JkMount /haha/* haha
    ErrorLog logs/portal-error_log
    CustomLog logs/portal-access_log combined
    <Directory "D:\apache-tomcat\apache-tomcat-6.0.39\webapps\portal">
    Options FollowSymLinks MultiViews Includes
    Require all granted
    </Directory>
</VirtualHost>

#huhu
<VirtualHost *:80>
    ServerName my.huhu.cn
    JkMount /* huhu
    ErrorLog "logs/server-error_log"
    CustomLog "logs/server-access_log" common
</VirtualHost>

配置详解:

DocumentRoot :静态资源路径,对应要发布的静态资源
ServerName:发布的虚拟主机名,一般为用户访问时的域名
JkMount:将/*转发到后台服务器,服务器名称为huhu,服务器名称与worker.properties相对应
Directory 标签:这里是给apache服务器开启对应目录的权限

JkMount详解:

静态页面的处理(配合DocumentRoot和Directory标签使用):

JkMount /* router ###默认将所有请求转发给tomcat处理
JKUnmount /*.php router ###php请求不交给tomcat处理
JKUnmount /*.htm router ###htm请求不交给tomcat处理
JKUnmount /*.html router ###html请求不交给tomcat处理
JKUnmount /css/* router ###css请求不交给tomcat处理
JKUnmount /js/* router ###js请求不交给tomcat处理
JKUnmount /image/* router ###image请求不交给tomcat处理

tomcat转发处理(需要转发给不同tomcat):

JkMount /* router
JkMount /login/* tomcat1
JkMount /shop/* tomcat2
JkMount /buy/* tomcat3
在worker.properties中:
worker.list=router,jkstatus,tomcat1,tomcat2,tomcat3

3.workers.properties配置
worker.list=haha,huhu

#haha
worker.haha.type=ajp13
worker.haha.port=8109
worker.haha.host=127.0.0.1
worker.haha.lbfactor=50
worker.haha.cachesize=80
worker.haha.cache_timeout=600
worker.haha.socket_keepalive=1
worker.haha.recycle_timeout=300
worker.haha.max_packet_size = 65536

#huhu
worker.huhu.type=ajp13
worker.huhu.port=8309
worker.huhu.host=127.0.0.1
worker.huhu.lbfactor=50
worker.huhu.cachesize=80
worker.huhu.cache_timeout=600
worker.huhu.socket_keepalive=1
worker.huhu.recycle_timeout=300
worker.huhu.max_packet_size = 65536

配置详解:

worker.list:worker的名字列表
worker.XX.*:对应worker.list中的worker的配置
worker.XX.type:连接协议类型
worker.XX.port:连接协议的端口号

4.其他服务的启动和文件的拷贝
  • 启动woker对应的服务器

    例如:
    启动一个tomcat(localhost),开启AJP端口为8309,确认worker对应的AJP端口指向host(localhost)的8309端口

  • 将DocumentRoot指到想要发布的位置,并通过Directory标签设置权限

5.启动服务

进入到Apach24\bin下,启动httpd.exe