LAMP+Tomcat整合

简介:

Tomcat 本身已经提供了 HTTP 服务,既然Tomcat 本身已经可以提供这样的服务,我们为什么还要引入 Apache 或者其他的一些专门的 HTTP 服务器呢?原因有下面几个:

1. 提升对静态文件的处理性能

2. 利用 Web 服务器来做负载均衡以及容错

3. 无缝的升级应用程序

这三点对一个 web 网站来说是非常之重要的,我们希望我们的网站不仅是速度快,而且要稳定,不能因为某个 Tomcat 宕机或者是升级程序导致用户访问不了,而能完成这几个功能的、最好的HTTP服务也就是apache了,它跟tomcat的结合是一个很好搭档,有效提高jsp网站性能。

一、安装LAMP环境,过程略...请参考http://going.blog.51cto.com/7876557/1290432

二、Apache与Tomcat整合

1、安装jdk

1
2
. /jdk-6u24-linux-i586-rpm .bin  #解压jdk包
mv  jdk-6u24-linux-i586  /usr/local/jdk

设置环境变量:

1
2
3
4
5
6
7
8
vi  /etc/profile
JAVA_HOME= /usr/local/jdk
PATH=$PATH:$JAVA_HOME /bin
CLASSPATH=.:$JAVA_HOME /lib :dt.jar$JAVA_HOME /lib/tools .jar
export  CLASSPATH JAVA_HOME PATH
保存退出!
source  /etc/profile  #生效环境变量
java -version  #显示java版本则成功!

2、安装tomcat

1
2
3
tar  zxvf apache-tomcat-7.0. tar .gz
mv  apache-tomcat-7.0  /usr/local/tomcat
/usr/local/tomcat/bin/startup .sh  #启动tomcat

http://localhost:8080 #访问即可看到tomcat的欢迎画面了!

3、编译tomcat-connector生成Mod_JK.so来连接apache

1
2
3
4
5
tar  zxvf tomcat-connectors-1.2.37-src. tar .gz
cd  tomcat-connectors-1.2.37-src. tar .gz  /native
. /configure  --with-apxs= /usr/local/apache/bin/apxs  --with-tomcat= /usr/local/tomcat  --with-java-home= /usr/local/jdk  #--with-apxs扩展工具用来生成mod_jk.so共享库
make  #make即可,不需要安装.
cp  . /jk/native/apache-2 .0 /mod_jk .so  /usr/local/apache/modules/  #复制生成模块到apache模块目录下

4、在/usr/local/apache2/conf/下建立两个配置文件mod_jk.conf和workers.properties

1
2
3
4
5
6
7
8
9
10
11
12
vi  mod_jk.conf    #添加如下内容
# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
LoadModule jk_module modules /mod_jk .so  #加载jk模块
JkWorkersFile  /usr/local/apache/conf/workers .properties
JkLogFile  /usr/local/apache/logs/mod_jk .log  #指定日志位置
JkLogLevel info   #日志级别
JkLogStampFormat  "[%a %b %d %H:%M:%S %Y]"   #日志格式
JkOptions +ForwardKeySize+ForwardURICompat -ForwardDirectories
JkRequestLogFormat  "%w %V %T"
# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount  /servlet/ * server1
JkMount /*.jsp server1

1
2
3
4
5
6
7
8
9
10
vi  workers.properties    #添加以下内容
worker.list=server1   #定义一个工作表
worker.server1. type =ajp13  #JK模块实现负载均衡采用的是AJP协议1.3版
worker.server1.host=localhost  #tomcat服务器ip
worker.server1.port=8009  #定义server.xml中的端口
worker.server1.lbfactor=50  #设置权重值
worker.server1.cachesize=10   #连接数量缓存
worker.server1.cache_timeout=600
worker.server1.socket_keepalive=1
worker.server1.socket_timeout=300

5、配置httpd加载模块

1
2
3
在DirectoryIndex中添加 index.jsp
LoadModule jk_module modules /mod_jk .so  #添加加载mod_jk:
Include  /usr/local/apache/conf/mod_jk .conf

6、修改tomcat默认网站根目录

1
2
3
vi  conf /server .xml:
<Context path= ""  docBase= "/usr/local/apache/htdocs" debug= "0"  reloadable= "true" crossContext= "true" />
保存退出!

重启服务

1
2
3
service httpd restart
/usr/local/tomcat/bin/shutdown .sh
/usr/local/tomcat/bin/startup .sh

在/usr/local/apache/htdocs下建立一个index.jsp,访问http://localhost/,可以看到jsp页面,这时整合配置成功!

目录
相关文章
|
云安全 安全 网络安全
80和443端口的作用以及遇到CC攻击该怎么办
80和443端口都是用于网站业务,那么这两个端口是有什么区别呢?
|
1月前
|
缓存 前端开发 NoSQL
如何开发工程项目部管理系统中的进度管理板块(附架构图+流程图+代码参考)
本文介绍如何构建一个高效的工程项目进度管理板块,涵盖系统架构、数据模型、核心功能、业务流程及开发技巧。内容包含四个关键代码示例,便于快速落地开发,帮助解决进度不准与沟通不畅两大工程难题。
|
1月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
605 1
|
10月前
|
前端开发 测试技术 API
GraphQL 中的分页与排序:一分钟浅谈
本文深入介绍了 GraphQL 中的分页与排序功能,解释了为何这些功能在处理大量数据时至关重要,并详细说明了如何通过 `first` 和 `after` 参数实现分页,以及如何使用 `orderBy` 参数进行排序。同时,文章还探讨了常见问题及解决方法,帮助开发者避免陷阱,提升查询性能和用户体验。
245 70
|
1月前
|
JSON Linux 数据格式
Ollama + Python 极简工作流
本文手把手教你如何使用消费级设备在1小时内完成大语言模型微调。通过Ollama和Python工具,无需高端GPU即可打造专属模型,适用于专业领域或个性化写作风格。
|
8月前
|
数据挖掘 数据安全/隐私保护 UED
千星计划小店模式开发
千星计划模式是一种创新的电商模式,旨在通过自动化操作和社交裂变效应,帮助用户轻松实现电商梦想并获取高额佣金
|
10月前
|
JSON 文字识别 API
如何提取手写票据信息
本文主要讲述在处理票据信息结构化提取任务时,如何结合OCR(光学字符识别)技术和多模态大模型Qwen-VL来提高票据信息提取的准确性和效率。
450 17
|
11月前
|
机器学习/深度学习 人工智能 弹性计算
阿里云AI服务器价格表_GPU服务器租赁费用_AI人工智能高性能计算推理
阿里云AI服务器提供多种配置,包括CPU+GPU、CPU+FPGA等组合,支持高性能计算需求。本文整理了阿里云GPU服务器的价格信息,涵盖NVIDIA A10、V100、T4、P4、P100等型号,适合人工智能、机器学习和深度学习等计算密集型任务。具体价格和适用场景详见表格。
535 10
|
JavaScript
【Deepin 20系统】Jupyter notebook解决ValueError: Please install Node.js and npm before continuing installa
文章讨论了在Deepin 20系统上安装Jupyter Notebook的debug插件时出现的"ValueError: Please install Node.js and npm before continuing installation"错误,并提供了使用conda安装Node.js的解决方法。
337 1
element-ui Cannot read properties of undefined (reading ‘name‘),data中写成集合的形式
element-ui Cannot read properties of undefined (reading ‘name‘),data中写成集合的形式