首先,实行yum install httpd命令下载安装apache
装好之后进入/etc/httpd/conf目录,修正httpd.conf文件(修正之间最好先备份)
我是把原来配置文件中暂时用不上的都给去掉了,终极httpd.conf文件的内容如下:
#apache的精简配置文件
IncludeOptional conf.d/.conf
Include conf.modules.d/.conf
Include conf/virtualhost.conf
#Include conf/mod_jk.conf
#配置文件的根目录,即加载外部的配置文件会自动加上根目录前缀
User apache
Group apache
#首页干系的配置
<IfModule dir_module>
DirectoryIndex index.html index.jpg
</IfModule>
LogLevel warn
<IfModule log_config_module>
LogFormat \公众%h %l %u %t \\"大众%r\\"大众 %>s %b \\公众%{Referer}i\\"大众 \\公众%{User-Agent}i\\公众\"大众 combined
LogFormat \"大众%h %l %u %t \\"大众%r\\公众 %>s %b\公众 common
<IfModule logio_module>
LogFormat \公众%h %l %u %t \\公众%r\\"大众 %>s %b \\公众%{Referer}i\\公众 \\公众%{User-Agent}i\\"大众 %I %O\"大众 combinedio
</IfModule>
</IfModule>
<IfModule mime_module>
TypesConfig /etc/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</IfModule>
AddDefaultCharset UTF-8
<IfModule mime_magic_module>
MIMEMagicFile conf/magic
</IfModule>
EnableSendfile on
#转发须要引入的模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
#重定向的模块
LoadModule rewrite_module modules/mod_rewrite.so
虚拟主机的配置文件virtualhost.conf如下:
#配置虚拟主机须要指定Directory和VirtualHost,两者是成对存在的
#Directory也可以直接配置一个顶级目录,不管配置几个,一定要有,不然会出错
#下面配置的虚拟主机的端口都要在这里声明
Listen 80
Listen 8081
Listen 8082
Listen 8083
# 80端口用来配置转发做事器
# Directory只须要配置一个父级目录(同时包含几个子目录)就行了
<Directory \"大众/var/www\公众>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
<VirtualHost :80>
# ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot \公众/var/www/html\"大众
# ServerName centos
ErrorLog \公众/var/www/html/logs/error_log\"大众
CustomLog \"大众/var/www/html/logs/access_log\"大众 common
ErrorDocument 404 /error/404_error.html
#要求转发,跳转到tomcat做事器
ProxyPass /JavaWebTest http://centos:8080/JavaWebTest/
ProxyPassReverse /JavaWebTest http://centos:8080/JavaWebTest/
</VirtualHost>
<VirtualHost :8081>
DocumentRoot \"大众/var/www/test1\公众
# ServerName centos
ErrorLog \公众/var/www/test1/logs/error_log\"大众
CustomLog \"大众/var/www/test1/logs/access_log\公众 common
ErrorDocument 404 /error/404_error.html
</VirtualHost>
<VirtualHost :8082>
DocumentRoot \公众/var/www/test2\公众
# ServerName centos
ErrorLog \公众/var/www/test2/logs/error_log\公众
CustomLog \公众/var/www/test2/logs/access_log\公众 common
ErrorDocument 404 /error/404_error.html
# RewriteEngine 用于开启或停用rewrite功能。
RewriteEngine On
RewriteRule ^(.)/images/(.+)$ /$2 [R=302,L]
</VirtualHost>
<VirtualHost :8083>
DocumentRoot \"大众/var/www/test3\"大众
# ServerName centos
ErrorLog \"大众/var/www/test3/logs/error_log\"大众
CustomLog \"大众/var/www/test3/logs/access_log\"大众 common
ErrorDocument 404 /error/404_error.html
</VirtualHost>
#配置与tomcat目前知道的有两种方法
#第一种:利用mod_jk.so模块
#第二种:利用自带的ProxyPass进行要求转发,须要引入两个自带的模块
#配置一个webapps就行了
#<Directory \"大众/root/tomcat/webapps\"大众>
# Options Indexes FollowSymLinks Includes ExecCGI
# AllowOverride All
# Require all granted
#</Directory>
#<VirtualHost 192.168.241.180:8888>
# DocumentRoot \公众/root/tomcat/webapps/JavaWebTest\"大众
# JkMount / worker1
#</VirtualHost>
mod_jk.conf的配置文件如下:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
# Where to put jk logs
JkLogFile /var/www/tomcat_log/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat \"大众[%a %b %d %H:%M:%S %Y]\公众
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat \"大众%w %V %T\"大众
#实行所有的要求
JkMount / worker1
#JkMount //servlet/ worker1
#JkMount /.jsp worker1
#JkMount /.html worker1
#JkMount /application/ worker1
#JkMount /.do worker1
workers.properties的配置文件如下:
# Defining a worker named worker1 and of type ajp13
worker.list=worker1
#多个Tomcat须要这样配置
#========tomcat1========
#worker.tomcat1.port=11009 #端口号与tomcat同等
#worker.tomcat1.host=localhost
#worker.tomcat1.type=ajp13
#worker.tomcat1.lbfactor = 1
#========tomcat2========
#worker.tomcat2.port=12009 #端口号与tomcat同等
#worker.tomcat2.host=localhost
#worker.tomcat2.type=ajp13
#worker.tomcat2.lbfactor = 1
#========controller=负载均衡掌握器名称=======
#worker.controller.type=lb
#worker.controller.balanced_workers=tomcat1,tomcat2 #多个tomcat以\公众,\"大众隔开
#worker.controller.sticky_session=false
#worker.controller.sticky_session_force=1
#worker.controller.sticky_session=1
#同时还须要在tomcat的server.xml中这样配置
#<Connector port=\"大众11009\公众 protocol=\"大众AJP/1.3\"大众 redirectPort=\"大众8443\"大众 /> 11009对应上面的端口
#<Engine name=\"大众Catalina\"大众 defaultHost=\"大众localhost\"大众 jvmRoute=\"大众tomcat1\"大众> route对应上面的名称
#<Cluster className=\"大众org.apache.catalina.ha.tcp.SimpleTcpCluster\公众/> 这个只配置一个就行了
#单个Tomcat的配置(一样平常利用这个就行了)
# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
下面大略解释一下:
Tomcat、JDK这些环境自己搞定,比较大略,我就不多说了。
还有重定向我觉得没什么用,实际用的话一样平常都是通过代理转发到Tomcat做事器(或者类似于Tomcat的做事器),想理解重定向的可以自己研究一下,水比较深。。
代理转发还是很有用的,可以利用apache自带的模块(带有proxy的两个),自己手动引入,然后在虚拟主机中添加两行配置就行了。前面的那个/是拼接在端口后的,掌握是否实行转发,匹配就实行转发操作;后面的是转发的url路径。如果转发到Tomcat做事器,后面那个就写成Tomcat做事器的路径就行了。
DocumentRoot是项目的根目录,ErrorDocument是根据http缺点的状态码,使其在指定缺点页面显示
别的比较大略,我就不废话了。
对了,与Tomcat做事器进行关联还有一种方法是去Tomcat官网下载插件tomcat-connetors,然后将压缩包复制到linux环境中进行解压
接着实行yum install gcc gcc-c++
由于是用yum命令安装的apache,以是还须要实行yum install apr-util-devel httpd-devel
接着实行whereis apxs查看显示的目录,我的是/usr/bin/apxs
接着进入解压后插件的目录下的native目录,实行./configure --with-apxs=/usr/bin/apxs
接着实行make编译,然后会在native下的apache-2.0目录中天生mod_jk.so文件,将这个文件复制到/etc/httpd/modules目录下
配置就在上面,配置文件全部在/etc/httpd/conf目录下
就这吧,有不懂的可以自己百度或者问我,apache做事器坑很深,我也只是初步能用而已。别的等用上再研究吧,再逐步爬坑。