企业Java应用服务器之JBoss7.1与Apahce整合

简介: 企业Java应用服务器之JBoss7.1与Apahce整合

为什么使用Jboss?

1、Jboss支持热部署,将归档后的JAR、WAR文件到部署目录下自动加载部署,自动更新。

2、在高并发访问时,性能比Tomcat更加优秀、高效。

3、Jboss在设计方面与Tomcat相比,进行了线程池和连接池的优化。

4、Jboss已经成为Java中间件的一个企业级的Web应用,Tomcat是轻量级应用,作为Java开发调试环境使用广泛。

5、配置简单,占用系统资源少。

Jboss AS 7.1两种运行模式?

Dmain Mode(域模式):多台Jboss AS服务器的配置进行集中管理,统一配置、统一部署,会启动5个进程,3个Jboss AS Server实例,1个Domain Controller进程和一个Process Controller。

Standalone Mode(单机模式):作为独立一台Jboss AS服务器,会启动一个进程。

JBoss下载:http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.tar.gz

JDK下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

Mod_JK下载:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.39-src.tar.gz

一、安装Apache、PHP与JK

1.YUM安装

[root@localhost~]# yum install -y gcc gcc-c++ httpd httpd-devel php php-devel php-mysql php-gd php-xml php-mbstring php-mcrypt freetype freetype-devel libpng libpng-devel zlib-devel libjpeg*

2.生成并加载mod_jk模块

[root@localhost~]# tar zxvf tomcat-connectors-1.2.39-src.tar.gz
[root@localhost~]# cd tomcat-connectors-1.2.39-src
[root@localhosttomcat-connectors-1.2.39-src]# cd native/
[root@localhostnative]# ./configure --with-apxs=/usr/sbin/apxs --with-java-home=/usr/local/jdk1.7/
[root@localhostnative]# make
[root@localhostnative]# cp apache-2.0/mod_jk.so /etc/httpd/modules/
[root@localhost~]# vi /etc/httpd/conf/httpd.conf
LoadModulejk_module modules/mod_jk.so   #加载jk模块
Include/etc/httpd/conf/mod_jk.conf     #先加载jk配置文件
DirectoryIndex index.phpindex.jsp index.html index.html.var  #添加索引页
[root@localhost~]# service httpd restart

二、安装JDK1.7

[root@localhost~]# tar zxvf jdk-7u17-linux-x64.tar.gz
[root@localhost~]# mv jdk1.7.0_17/ /usr/local/jdk1.7
[root@localhost~]# vi /etc/profile
JAVA_HOME=/usr/local/jdk1.7
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HMOE/lib:$JAVA_HOME/jre/lib
export JAVA_HOMEPATH CLASSPATH
[root@localhost~]# source /etc/profile
[root@localhost~]# java -version
java version"1.7.0_17"

三、安装Jboss7.1

[root@localhost~]# tar zxvf jboss-as-7.1.1.Final.tar.gz
[root@localhost~]# mv jboss-as-7.1.1.Final /usr/local/jboss7.1
[root@localhost~]# cd /usr/local/jboss7.1/
[root@localhostjboss7.1]# nohup bin/standalone.sh & #后台运行

现在还不能通过访问,默认jboss只监听本地,修改如下段:

[root@localhostjboss7.1]# vi standalone/configuration/standalone.xml
    <interfaces>
        <interfacename="management">
            <inet-addressvalue="${jboss.bind.address.management:192.168.1.153}"/>
#web后台管理IP,默认端口是9990
        </interface>
        <interfacename="public">
            <inet-addressvalue="${jboss.bind.address:0.0.0.0}"/>
#jboss监听ip地址,0.0.0.0为所有
        </interface>
        <!-- TODO - only show this if thejacorb subsystem is added  -->
        <interfacename="unsecure">
           <!--
              ~ Used for IIOP sockets in the standard configuration.
              ~                  To secure JacORB you need tosetup SSL
              -->
            <inet-addressvalue="${jboss.bind.address.unsecure:127.0.0.1}"/>
        </interface>
</interfaces>

重启JBoss

[root@localhostjboss7.1]# killall java
[root@localhostjboss7.1]# nohup bin/standalone.sh &

首次登陆管理控制后台,提示让你先创建后台的登陆用户和密码

image.png

image.png

创建用户和密码,将密码生成字符串报错到文件中

image.png

现在就可以正常登陆控制后台了

image.png

四、Jboss与Apache整合

1.创建mod_jk配置信息

[root@localhost ~]# vi /etc/httpd/conf/mod_jk.conf
JkWorkersFileconf/workers.properties
JkLogFile/var/log/httpd/mod_jk.log
JkShmFile/var/log/httpd/mod_jk.shm
JkLogLevel info
JkMount/servilet/* jboss
JkMount /*.jspjboss       #所有jsp文件由jboss处理
[root@localhost ~]# vi /etc/httpd/conf/workers.properties
worker.list=jboss
worker.jboss.type=ajp13   #使用ajp协议1.3版本
worker.jboss.host=127.0.0.1
worker.jboss.port=8009   #连接jboss 8009端口

2. 添加AJP/1.3协议支持

[root@localhostjboss7.1]# vi standalone/configuration/standalone.xml
</subsystem>
        <subsystemxmlns="urn:jboss:domain:web:1.1"default-virtual-server="default-host" native="false">
            <connector name="http"protocol="HTTP/1.1" scheme="http"socket-binding="http"/>
            <connector name="ajp"protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>   #添加ajp支持
            <virtual-servername="default-host" enable-welcome-root="true">
                <aliasname="localhost"/>
                <aliasname="example.com"/>
            </virtual-server>
        </subsystem>

3.创建虚拟主机测试

[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
Listen192.168.1.153:81
Listen192.168.1.153:82
<VirtualHost*:81>
#    ServerAdminwebmaster@dummy-host.example.com
    DocumentRoot/usr/local/jboss7.1/standalone/deployments
    ServerName 192.168.1.153
    JkMount /* jboss   #这个目录下的所有程序都由定义的jboss处理
#    ErrorLoglogs/dummy-host.example.com-error_log
#    CustomLoglogs/dummy-host.example.com-access_log common
</VirtualHost>
<VirtualHost*:82>
#    ServerAdminwebmaster@dummy-host.example.com
    DocumentRoot /opt
    ServerName 192.168.1.153
#    ErrorLoglogs/dummy-host.example.com-error_log
#    CustomLoglogs/dummy-host.example.com-access_log common
</VirtualHost>

#创建jsp测试

[root@localhostjboss7.1]# cd standalone/deployments/
[root@localhostdeployments]# ls
index.jsp  README.txt
[root@localhost deployments]#jar cvf test.war index.jsp  #将index.jsp用jar工具归档后才可以自动部署
added manifest
adding:index.jsp(in = 10) (out= 12)(deflated -20%)
[root@localhostdeployments]# ls
index.jsp  README.txt test.war  test.war.deployed   #部署成功后,会生成一个以deployed结果的文件

4.分别访问php与jsp程序

image.png

五、创建jboss虚拟主机

1.在配置文件添加

[root@localhost jboss7.1]# vi standalone/configuration/standalone.xml
  </subsystem>
        <subsystemxmlns="urn:jboss:domain:web:1.1"default-virtual-server="default-host" native="false">
            <connector name="http"protocol="HTTP/1.1" scheme="http"socket-binding="http"/>
            <connector name="ajp"protocol="AJP/1.3" scheme="http"socket-binding="ajp"/>
            <virtual-servername="default-host" enable-welcome-root="false">
                <aliasname="localhost"/>
                <aliasname="example.com"/>
            </virtual-server>
下面添加,name是域名,我以ip代替:
            <virtual-servername="192.168.1.153" enable-welcome-root="false">
                <aliasname="192.168.1.153"/>
            </virtual-server>
        </subsystem>

2.在网站程序里面创建WEB-INF,并创建jboss-web.xml文件

[root@localhostdeployments]# ls
index.jsp  WEB-INF
[root@localhostdeployments]# vi WEB-INF/jboss-web.xml
<jboss-web>
       <context-root>/</context-root>    #从部署根目录访问
       <virtual-host>192.168.1.153</virtual-host>   #虚拟主机ip或域名
</jboss-web>
[root@localhostdeployments]# jar cvf root.war index.jsp WEB-INF/

当使用IP或域名访问时就能根据jboss-web.xml配置文件来读取哪一个应用了。


相关文章
|
3天前
|
弹性计算 关系型数据库 数据库
阿里云服务器ECS是什么?ECS应用场景、租用流程及使用教程整理
阿里云ECS(弹性计算服务)是性能稳定、弹性扩展的云计算服务,支持多种处理器架构和实例类型,适用于网站托管、开发测试、数据存储、企业服务、游戏多媒体及微服务架构等场景。提供从注册、配置到部署、运维的完整使用流程,助力用户高效上云。
|
19天前
|
存储 分布式计算 安全
阿里云服务器ECS实例选型参考:场景适配、应用推荐
选择阿里云服务器ECS实例之前,需要结合性能、价格、工作负载等因素,做出性价比与稳定性最优的决策。对于很多新手用户来说,在初次购买阿里云服务器的时候,面对众多实例规格往往不知道如何选择,因为云服务器实例规格不同,价格也不一样,性能表现更是千差万别。因此,在购买阿里云服务器ECS实例之前,需要结合性能、价格、工作负载等因素,做出性价比与稳定性最优的决策。本文将通过一些常见的选型场景推荐,为大家详细介绍阿里云服务器实例选型的最佳实践,便于大家在选择云服务器实例规格时做个参考。
|
27天前
|
自然语言处理 前端开发 Java
JBoltAI 框架完整实操案例 在 Java 生态中快速构建大模型应用全流程实战指南
本案例基于JBoltAI框架,展示如何快速构建Java生态中的大模型应用——智能客服系统。系统面向电商平台,具备自动回答常见问题、意图识别、多轮对话理解及复杂问题转接人工等功能。采用Spring Boot+JBoltAI架构,集成向量数据库与大模型(如文心一言或通义千问)。内容涵盖需求分析、环境搭建、代码实现(知识库管理、核心服务、REST API)、前端界面开发及部署测试全流程,助你高效掌握大模型应用开发。
155 5
|
4天前
|
机器学习/深度学习 存储 监控
内部文件审计:企业文件服务器审计对网络安全提升有哪些帮助?
企业文件服务器审计是保障信息安全、确保合规的关键措施。DataSecurity Plus 是由卓豪ManageEngine推出的审计工具,提供全面的文件访问监控、实时异常告警、用户行为分析及合规报告生成功能,助力企业防范数据泄露风险,满足GDPR、等保等多项合规要求,为企业的稳健发展保驾护航。
|
28天前
|
资源调度 安全 Java
Java 大数据在智能教育在线实验室设备管理与实验资源优化配置中的应用实践
本文探讨Java大数据技术在智能教育在线实验室设备管理与资源优化中的应用。通过统一接入异构设备、构建四层实时处理管道及安全防护双体系,显著提升设备利用率与实验效率。某“双一流”高校实践显示,设备利用率从41%升至89%,等待时间缩短78%。该方案降低管理成本,为教育数字化转型提供技术支持。
60 0
|
24天前
|
安全 Java Docker
Docker 部署 Java 应用实战指南与长尾优化方案
本文详细介绍了Docker容器化部署Java应用的最佳实践。首先阐述了采用多阶段构建和精简JRE的镜像优化技术,可将镜像体积减少60%。其次讲解了资源配置、健康检查、启动优化等容器化关键配置,并演示了Spring Boot微服务的多模块构建与Docker Compose编排方案。最后深入探讨了Kubernetes生产部署、监控日志集成、灰度发布策略以及性能调优和安全加固措施,为Java应用的容器化部署提供了完整的解决方案指南。文章还包含大量可落地的代码示例,涵盖从基础到高级的生产环境实践。
82 3
|
2天前
|
安全 Java API
Java 17 及以上版本核心特性在现代开发实践中的深度应用与高效实践方法 Java 开发实践
本项目以“学生成绩管理系统”为例,深入实践Java 17+核心特性与现代开发技术。采用Spring Boot 3.1、WebFlux、R2DBC等构建响应式应用,结合Record类、模式匹配、Stream优化等新特性提升代码质量。涵盖容器化部署(Docker)、自动化测试、性能优化及安全加固,全面展示Java最新技术在实际项目中的应用,助力开发者掌握现代化Java开发方法。
17 1
|
18天前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
64 13
|
29天前
|
存储 数据采集 数据可视化
Java 大视界 -- 基于 Java 的大数据可视化在城市地下管网管理与风险预警中的应用(275)
本文系统阐述 Java 与大数据可视化技术在城市地下管网管理中的应用,涵盖数据采集、三维建模、风险预警及性能优化,结合真实案例提供可落地的技术方案。