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

简介:

为什么使用Jboss

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

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

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

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

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

Jboss AS 7.1两种运行模式?

Dmain Mode(域模式):多台Jboss AS服务器的配置进行集中管理,统一配置、统一部署,会启动5个进程,3Jboss AS Server实例,1Domain 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模块

1
2
3
4
5
6
[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/
1
2
3
4
5
[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

1
2
3
4
5
6
7
8
9
10
[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

1
2
3
4
[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只监听本地,修改如下段:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[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

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

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

wKiom1MoYlzwE7vAAAMCp1RgsqM784.jpg

wKiom1MoYm6hCoHVAAVnkhZ16NY035.jpg

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

wKiom1MoYieRX0-AAAIzS4LSiOM567.jpg

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

wKioL1MoYiiQ52rqAAL03mrz6cQ080.jpg

四、JbossApache整合

1.创建mod_jk配置信息

1
2
3
4
5
6
7
[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处理

1
2
3
4
5
[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协议支持

1
2
3
4
5
6
7
8
9
10
[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.创建虚拟主机测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[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测试

1
2
3
4
5
6
7
8
[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.分别访问phpjsp程序


wKiom1MoYqmQBDfIAADFG4QM2lU942.jpg

五、创建jboss虚拟主机

1.在配置文件添加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[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文件

1
2
3
4
5
6
7
8
[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配置文件来读取哪一个应用了。



本文转自 李振良OK 51CTO博客,原文链接:http://blog.51cto.com/lizhenliang/1379347,如需转载请自行联系原作者
相关文章
|
11月前
|
机器学习/深度学习 数据库 数据安全/隐私保护
服务器核心组件:CPU 与 GPU 的核心区别、应用场景、协同工作
CPU与GPU在服务器中各司其职:CPU擅长处理复杂逻辑,如订单判断、网页请求;GPU专注批量并行计算,如图像处理、深度学习。二者协同工作,能大幅提升服务器效率,满足多样化计算需求。
4025 39
|
10月前
|
存储 机器学习/深度学习 人工智能
硅谷GPU单节点服务器:技术解析与应用全景
“硅谷GPU单节点服务器”代表了在单个物理机箱内集成强大计算能力,特别是GPU加速能力的高性能计算解决方案。它们并非指代某个特定品牌,而是一类为处理密集型工作负载而设计的服务器范式的统称。
|
开发框架 人工智能 Java
破茧成蝶:阿里云应用服务器让传统 J2EE 应用无缝升级 AI 原生时代
本文详细介绍了阿里云应用服务器如何助力传统J2EE应用实现智能化升级。文章分为三部分:第一部分阐述了传统J2EE应用在智能化转型中的痛点,如协议鸿沟、资源冲突和观测失明;第二部分展示了阿里云应用服务器的解决方案,包括兼容传统EJB容器与微服务架构、支持大模型即插即用及全景可观测性;第三部分则通过具体步骤说明如何基于EDAS开启J2EE应用的智能化进程,确保十年代码无需重写,轻松实现智能化跃迁。
1013 42
|
弹性计算 关系型数据库 数据库
阿里云服务器ECS是什么?ECS应用场景、租用流程及使用教程整理
阿里云ECS(弹性计算服务)是性能稳定、弹性扩展的云计算服务,支持多种处理器架构和实例类型,适用于网站托管、开发测试、数据存储、企业服务、游戏多媒体及微服务架构等场景。提供从注册、配置到部署、运维的完整使用流程,助力用户高效上云。
|
存储 分布式计算 安全
阿里云服务器ECS实例选型参考:场景适配、应用推荐
选择阿里云服务器ECS实例之前,需要结合性能、价格、工作负载等因素,做出性价比与稳定性最优的决策。对于很多新手用户来说,在初次购买阿里云服务器的时候,面对众多实例规格往往不知道如何选择,因为云服务器实例规格不同,价格也不一样,性能表现更是千差万别。因此,在购买阿里云服务器ECS实例之前,需要结合性能、价格、工作负载等因素,做出性价比与稳定性最优的决策。本文将通过一些常见的选型场景推荐,为大家详细介绍阿里云服务器实例选型的最佳实践,便于大家在选择云服务器实例规格时做个参考。
|
10月前
|
机器学习/深度学习 人工智能 弹性计算
2025年阿里云GPU服务器租用价格与应用场景详解
阿里云GPU服务器基于ECS架构,集成NVIDIA A10/V100等顶级GPU与自研神龙架构,提供高达1000 TFLOPS混合精度算力。2025年推出万卡级异构算力平台及Aegaeon池化技术,支持AI训练、推理、科学计算与图形渲染,实现性能与成本最优平衡。
|
12月前
|
域名解析 运维 监控
阿里云轻量服务器的系统镜像和应用镜像的区别
轻量应用服务器是阿里云推出的易用型云服务器,支持一键部署、域名解析、安全管理和运维监控。本文介绍其系统镜像与应用镜像的区别及选择建议,助您根据业务需求和技术能力快速决策,实现高效部署。
|
12月前
|
存储 弹性计算 运维
阿里云服务器全解析:ECS是什么、应用场景、租用流程及优缺点分析
阿里云ECS(Elastic Compute Service)是阿里云提供的高性能、高可用的云计算服务,支持弹性扩展、多样化实例类型和多种计费模式。适用于网站搭建、数据处理、运维测试等多种场景,具备分钟级交付、安全可靠、成本低、易运维等优势,是企业及开发者上云的理想选择。
1256 5
|
12月前
|
运维 监控 Kubernetes
Bitnami 替代品:Websoft9 如何接力单服务器多应用时代
Bitnami 曾为开源应用部署带来革命性体验,但随着 Docker 成熟与战略转向云原生,其单机多应用支持逐渐弱化。面对多应用管理分散、资源冲突、运维工具缺失等痛点,Websoft9 应运而生,提供一键部署、统一管理、智能调度等能力,全面优化单服务器多应用运维体验,成为 Bitnami 的理想继任者。
393 0
Bitnami 替代品:Websoft9 如何接力单服务器多应用时代