2019独角兽企业重金招聘Python工程师标准>>>

1.安装Apache服务器

1.1 Windows下安装Apache

打开Apache Server的官网,可以看到上面只提供源码,不提供编译好的包,如果需要二进制文件可以从其它贡献者那里获取,并且网站上也提供了几个网址,我选择了Apache Lounge,因为它同时提供32位和64位的下载,下载好后解压到某个目录,如G:\Program Files\Apache24,然后打开conf/httpd.conf文件,修改其中的某些代码:

# Apache的IP地址和端口。一般来说不需要设置,Apache会绑定在本机所有IP地址的80端口上。
Listen 80
Listen 127.0.0.1:80# Web服务器的名字
ServerName www.mysite.com# 这是网站的根目录
DocumentRoot "G:\Program Files\Apache24\htdocs"
<Directory "G:\Program Files\Apache24\htdocs"># 这里删掉了Indexes,否则别人可以浏览到您网站里的所有文件Options FollowSymLinks
</Directory>

启动bin目录下的httpd.exe文件(也可以用httpd.exe -k install命令把apache注册为服务,然后用net start Apache2.4命令启动Apache),然后在浏览器中输入localhost就可以看到默认的页面了--"It works!"。以上简单的配置只是为了让Apache服务器先运行起来,感谢这篇博文。

1.2 Linux下安装Apache

参考这篇博客,主要步骤是:

  1. 安装C++
  2. 安装apr
  3. 安装apr-util
  4. 安装pcre
  5. 安装apache
  6. 如果启动apache时找不到libpcre库,可以参考这篇博客

2.安装Tomcat

Tomcat的安装比较简单,打开Tomcat官网,Windows则选择32位或64位的zip包,Linux则选择tar.gz包或zip包,下载后解压到指定目录即可。

3.Apache连接Tomcat

3.1 http_proxy方式

这是利用 Apache 自带的 mod_proxy 模块使用反向代理技术来连接 Tomcat。http_proxy 模式是基于 HTTP 协议的代理,因此它要求 Tomcat 必须提供 HTTP 服务,也就是说必须启用 Tomcat 的 HTTP Connector。首先打开 APACHE_HOME/conf/httpd.conf文件,把下面这些模块的加载语句前面的注释#删掉:

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.soInclude conf/extra/httpd-vhosts.conf

然后打开 APACHE_HOME/conf/extra/httpd-vhosts.conf,这里是配置虚拟主机的文件,当然也可以在httpd.conf文件中配置,但是这里单独配置比较清晰。文件中已经提供了一些模版,所以我们只要照着模板添加:

<VirtualHost *:80>ServerAdmin webmaster@dummy-host2.example.comDocumentRoot "G:\working\idea_workspace\demo1\src\main\webapp"ServerName demo1.comErrorLog "logs/demo1.com-error.log"CustomLog "logs/demo1.com-access.log" commonProxyPass /test http://localhost:8080/demo1/ProxyPassReverse /test http://localhost:8080/demo1/
</VirtualHost><VirtualHost *:80>ServerAdmin webmaster@dummy-host2.example.comDocumentRoot "G:\working\idea_workspace\BlogTest\ROOT"ServerName blog.comErrorLog "logs/blog.com-error.log"CustomLog "logs/blog.com-access.log" commonProxyPass / http://localhost:8082/blog/ProxyPassReverse / http://localhost:8082/blog/
</VirtualHost>

解释一下上面的配置,DocumentRoot是指定网站的根目录,也就是类似于tomcat中的docBase,假如这里不配置,则默认使用httpd.conf中的DocumentRoot配置。 ServerName是指定要代理的服务,ProxyPass后面有两个参数,例如对于第一个<VirtualHost>的配置,它的意思是把所有demo1.com/test/xxx的请求都转给 http://localhost:8080/demo1/xxx 处理,注意 ProxyPass是用作URL前缀匹配的,不可以使用正则表达式,例如代理/*.jpg这样的配置是不接受的,而ProxyPassReverse主要是为了防止重定向跳过代理的,关于这一点,可以参考这篇博客。
这里配置了两个虚拟主机,因此Apache可以对这两个网站进行代理,从而实现一台服务器搭建多个网站的功能。要想实现这一点,当然还需要在tomcat中配置,建议对于一个网站就启动一个tomcat实例,不要使用tomcat的虚拟主机功能,这样重启A网站的tomcat实例时就不会影响B网站的运行了。关于tomcat的配置这里不多做介绍,主要就是注意把tomcat的关闭端口改成不一样的,以及监听端口不要重复,关于Apache的虚拟主机配置还可以参考这篇文章。另外,还可以在<VirtualHost>节点中配置Apache不转发静态文件给tomcat处理,这样可以提高性能,例如:

<VirtualHost *:80>
# 这里同上
ProxyPass /images !
ProxyPass /css !
ProxyPass /js !
</VirtualHost>

因为静态文件交给了Apache处理,因此需要授权,否则无法访问,打开APACHE_HOME/conf/httpd.conf文件,添加如下代码:

<Directory "G:\working\idea_workspace\demo1\src\main\webapp">Options Indexes FollowSymLinksAllowOverride NoneRequire all granted
</Directory>

这里指定了demo1网站的根目录,同时授权,这样当访问静态资源时就不会报403错误了。

4.其它Apache配置细节

关于Apache的配置文件httpd.conf,还有一些细节和配置的含义在这里总结一下:

  • 使用LoadModule加载模块的顺序是跟它们在文件中声明的顺序相反的,即后写的LoadModule语句先加载;
  • ServerName: 标识Apache自身,如果没有配置,会使用127.0.0.1作为服务器的默认地址,而这个地址只是一个网络回环地址,只有本机能访问;
  • ScriptAliasAlias:都是用于实现映射目录的功能,但ScriptAlias是把映射的目录识别为CGI脚本目录,目录中所有文件都当作CGI脚本对待,而Alias只是映射为一个普通的目录;
  • Options指令:指定在目录中使用哪些服务器特性,例如Indexes代表开启索引功能,请求该目录的URL中如果没有由DirectoryIndex指令指定的索引文件,则用户可以查看当前目录的文件列表(默认返回结果是这个),一般情况下应该要关闭;

转载于:https://my.oschina.net/JoeyXieIsCool/blog/687166

Apache服务器+tomcat配置相关推荐

  1. linux下apache服务器的配置和管理(启动、重启、中断服务)

    2019独角兽企业重金招聘Python工程师标准>>> linux下apache服务器的配置和管理 一.两个重要目录: Apache有两个重要的目录: 1.配置目录/etc/http ...

  2. apache服务器详细配置

    --------------------------------------------- 配置文件  RPM 包安装 Apache  /etc/httpd/conf/httpd.conf ----- ...

  3. Apache服务器全局配置之服务器标识配置篇

    Apache服务器全局配置之服务器标识配置篇   本文摘录自Apache2.2手册   服务器标识相关指令: ServerName ServerAdmin ServerSignature Server ...

  4. apache服务器的配置

    1. apache的配置 1.1 安装apache2服务 yum install httpd -y 1.2 关闭防火墙 编辑sellinux配置文件:vim /etc/selinux/config 将 ...

  5. php如何配置apache服务器,Apache服务器如何配置PHP

    软件使用版本: Apache:httpd-2.2.21-win32-x86-no_ssl.msi 安装版 PHP: php-5.3.10-Win32-VC9-x86.zip 解压版(安装版的php中缺 ...

  6. 红帽linux配置apache,红帽linux9中Apache服务器的配置

    ZDNetChina服务器站 操作系统技巧 在red hat9中自带了apache2.0 1.httpd:apache2.0 2.httpd-manual:apache2.0手册 下面是安装apach ...

  7. apache 服务器安全配置

    0x01.错误详情页隐藏 错误详情页测试方法: 访问网站不存在的页面,如果网站没有做404页面重定向,就会泄露其敏感信息如下图: 0x01-1.png 查看响应头信息: zzq@ubuntu:~$ c ...

  8. 阿里云服务器tomcat配置https

    为了配合苹果的ATS要求,要将阿里云上的后台升级成带ssl加密的https. 在阿里云上申请完证书,根据阿里云的建议将server.xml的Connector配置成 <Connector por ...

  9. 服务器tomcat配置教程

    2018年上学期期末课程设计做了一个留言板,但是我需要把这个Jave Web弄到我的服务器上 首先我们可以安装jdk tomcat在启动时,会读取环境变量的信息,需要一个CATALINA_HOME 与 ...

最新文章

  1. spring配置datasource三种方式
  2. 文本怎么整体向左缩进_如何设置Word文档的左缩进或者右缩进呢?并在缩进区域输入文字...
  3. 5.5.3 per-connection time zone support
  4. [BZOJ] 2064: 分裂
  5. 用java发送邮件(黄海已测试通过)
  6. java 抽象类语法_JAVA基础语法8--多态/抽象类/抽象方法
  7. Java实现hsql_java – 从类创建HSQL创建表查询
  8. ElementUI:tree鼠标浮动在某个节点背景色以及点击背景色修改
  9. 未能对git remote进行身份验证_用好Git和SVN,再也不怕跑路了!
  10. head禁用页面缓存
  11. windows8 初始界面和功能
  12. 吉林师范大学计算机学院保研,好消息!我校获保研资格!!
  13. 简单控制 xLang 窗体
  14. 在尾注生成的参考文献后添加致谢等内容
  15. 病毒木马查杀实战第017篇:U盘病毒之专杀工具的编写
  16. 微信小程序支付 退款 订单查询 退款查询
  17. 基于android7.1+msm8937充电学习---概述(1)
  18. Excel计算BOM物料数量的公式
  19. iOS音视频开发八:视频编码,H.264 和 H.265 都支持
  20. 星舰原型机又炸了,马斯克:没事儿,咱还有

热门文章

  1. python snmp 自动化2-在python中使用snmp
  2. eclipse打开xml文件都显示为灰色
  3. springmvc 带查询条件的分页,form的控制范围,怎么包裹条件提交给后台
  4. The path C:\Oracle\Middleware\wlserver_10.3 contains the wrong version of WebLogic Server. Expect
  5. 修改服务器Apache-Coyote/1.1标识为自定义内容
  6. CentOS 7安装Gnome GUI 图形界面
  7. 详解收发不畅原因及U-Mail邮件中继解决之道
  8. EasyUI三级联动下拉框
  9. Python 安装modules问题及import问题
  10. IntelliJ IDEA 导入新项目以后的简单配置