这篇文章上一个博客里我曾经写过,由于被墙了,所以重新写一遍吧。
上一个VPS,采用的是 CentOS 6 的操作系统,因此,只写CentOS的方法。至于百度搜到遍地的方法,我相信知道些代码的人都知道国内那种搜索引擎搜索来搜索去都是Copy的结果,实际上是没有人真正自己试验过的。于是就变成了,很简单的事,被他们Copy而不加证实的代码越弄越糟,真的是不想吐槽了。
闲话不多说,开始正文
事前准备
要做这件事,首先要安装
1 Apache
2 Tomcat
3 JavaJDK ( Tomcat服务要用到 )
先来简单的介绍一下,
Apache —— Apache软件基金会开发的一款开源网页服务器,具体可以google,baidu或者wiki
Tomcat —— 全称应该叫做 Apache Tomcat 也是Apache软件基金会开发的一款开源网页服务器,主要用于运行Jsp
PHP站在Apache配置好
Java Web 站在Tomcat配置好
配置反向代理
打开你的Apache配置文件(Linux上的Apache叫做httpd) 就是名字叫做 httpd.conf 的文件
找到
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so
LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule info_module modules/mod_info.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule substitute_module modules/mod_substitute.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule cache_module modules/mod_cache.so
LoadModule suexec_module modules/mod_suexec.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule version_module modules/mod_version.so
LoadModule proxy_http_module modules/mod_proxy.so
这么一段 把前面的#号都去掉,事实上并不需要所有的,下面来详细解释一下这一块
提供基于文本文件的认证
LoadModule authn_file_module modules/mod_authn_file.so
提供基于DBM文件的认证
LoadModule authn_dbm_module modules/mod_authn_dbm.so
提供匿名用户认证
LoadModule authn_anon_module modules/mod_authn_anon.so
提供基于SQL数据库的认证
LoadModule authn_dbd_module modules/mod_authn_dbd.so
未正确配置认证模块的情况下简单拒绝一切认证信息
LoadModule authn_default_module modules/mod_authn_default.so
提供基于主机名、IP地址、请求特征的访问控制,Allow、Deny指令需要
LoadModule authz_host_module modules/mod_authz_host.so
使用纯文本文件为组提供授权支持
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
提供基于每个用户的授权支持
LoadModule authz_user_module modules/mod_authz_user.so
使用DBM文件为组提供授权支持
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
基于文件的所有者进行授权
LoadModule authz_owner_module modules/mod_authz_owner.so
在未正确配置授权支持模块的情况下简单拒绝一切授权请求
LoadModule authz_default_module modules/mod_authz_default.so
提供基本的HTTP认证,此模块至少需要同时加载一个认证支持模块和一个授权支持模块
LoadModule auth_basic_module modules/mod_auth_basic.so
提供HTTP MD5摘要认证,此模块至少需要同时加载一个认证支持模块和一个授权支持模块
LoadModule auth_digest_module modules/mod_auth_digest.so
提供文件描述符缓存支持,从而提高Apache性能
LoadModule file_cache_module modules/mod_file_cache.so
提供基于URI键的内容动态缓存(内存或磁盘),从而提高Apache性能,必须与mod_disk_cache/mod_mem_cache同时使用
LoadModule cache_module modules/mod_cache.so
、
mod_cache提供基于磁盘的缓存管理
LoadModule disk_cache_module modules/mod_disk_cache.so
mod_cache提供基于内存的缓存管理
LoadModule mem_cache_module modules/mod_mem_cache.so
管理SQL数据库连接,为需要数据库功能的模块提供支持
LoadModule dbd_module modules/mod_dbd.so
将所有I/O操作转储到错误日志中
LoadModule dumpio_module modules/mod_dumpio.so
使用外部程序作为过滤器
LoadModule ext_filter_module modules/mod_ext_filter.so
实现服务端包含文档(SSI)处理
LoadModule include_module modules/mod_include.so
根据上下文实际情况对输出过滤器进行动态配置
LoadModule filter_module modules/mod_filter.so
服务器在将输出内容发送到客户端以前进行压缩以节约带宽
LoadModule deflate_module modules/mod_deflate.so
记录日志和定制日志文件格式
LoadModule log_config_module modules/mod_log_config.so
对每个请求的输入/输出字节数以及HTTP头进行日志记录
LoadModule logio_module modules/mod_logio.so
允许Apache修改或清除传送到CGI脚本和SSI页面的环境变量
LoadModule env_module modules/mod_env.so
允许通过配置文件控制HTTP的”Expires:”和”Cache-Control:”头内容
LoadModule expires_module modules/mod_expires.so
允许通过配置文件控制任意的HTTP请求和应答头信息
LoadModule headers_module modules/mod_headers.so
实现RFC1413规定的ident查找
LoadModule ident_module modules/mod_ident.so
根据客户端请求头字段设置环境变量
LoadModule setenvif_module modules/mod_setenvif.so
mod_proxy的扩展,提供Apache JServ Protocol支持
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
mod_proxy的扩展,提供负载均衡支持
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
根据文件扩展名决定应答的行为(处理器/过滤器)和内容(MIME类型/语言/字符集/编码)
LoadModule mime_module modules/mod_mime.so
允许Apache提供DAV协议支持
LoadModule dav_module modules/mod_dav.so
生成描述服务器状态的Web页面
LoadModule status_module modules/mod_status.so
自动对目录中的内容生成列表
LoadModule autoindex_module modules/mod_autoindex.so
服务器发送自己包含HTTP头内容的文件
LoadModule asis_module modules/mod_asis.so
生成Apache配置情况的Web页面
LoadModule info_module modules/mod_info.so
在非线程型MPM(prefork)上提供对CGI脚本执行的支持
LoadModule cgi_module modules/mod_cgi.so
在线程型MPM(worker)上用一个外部CGI守护进程执行CGI脚本
LoadModule cgid_module modules/mod_cgid.so
为mod_dav访问服务器上的文件系统提供支持
LoadModule dav_fs_module modules/mod_dav_fs.so
提供大批量虚拟主机的动态配置支持
LoadModule vhost_alias_module modules/mod_vhost_alias.so
提供内容协商支持
LoadModule negotiation_module modules/mod_negotiation.so
指定目录索引文件以及为目录提供重定向
LoadModule dir_module modules/mod_dir.so
处理服务器端图像映射
LoadModule imagemap_module modules/mod_imagemap.so
针对特定的媒体类型或请求方法执行CGI脚本
LoadModule actions_module modules/mod_actions.so
服务器自动纠正URL中的拼写错误
LoadModule speling_module modules/mod_speling.so
允许在URL中通过”/~username”形式从用户自己的主目录中提供页面
LoadModule userdir_module modules/mod_userdir.so
提供从文件系统的不同部分到文档树的映射和URL重定向
LoadModule alias_module modules/mod_alias.so
基于一定规则实时重写URL请求
LoadModule rewrite_module modules/mod_rewrite.so
根据需求选择需要加载的项目,后把文件拉到底
#NameVirtualHost *:80
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost www.codecrh.com:80>
# ServerAdmin [email protected]
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>
看到这段先把PHP站按照格式配置好
在下面再加上
<VirtualHost *:80>
ServerName 你的Java Web站域名
ServerAlias 你的Java Web站别名
ProxyPass / 你要反向代理的地址
ProxyPassReverse / 你要反向代理的地址
</VirtualHost>
就搞定了
如果喜欢这篇文章,可以在注明转发自www.codecrh.com的情况下转发这篇文章。