企业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配置文件来读取哪一个应用了。

目录
相关文章
|
SQL 机器学习/深度学习 自然语言处理
达梦(DM) SQL函数相关
讲述 DM 数据库函数
|
7月前
|
搜索推荐 API 开发者
京东商品详情优惠券API接口全攻略
京东商品详情优惠券API接口为电商开发者和商家提供了精准查询、获取详细信息及实时监测优惠券状态的功能。通过商品ID,可筛选出特定商品的定向或店铺通用优惠券,获取面额、使用门槛、领取条件等详尽信息,并监测优惠券的领取情况。该接口支持多种筛选参数,满足个性化需求,助力电商业务拓展与创新。示例代码展示了如何使用Python调用此接口,实现优惠券信息的高效获取。
572 23
|
8月前
|
人工智能 架构师 Java
最高裁95%,只留5% 用AI的,某上市公司全面ai化。你的岗位,AI入侵指数是 多少?多久消失?
本文探讨了AI对不同岗位的冲击及未来趋势,特别提到上美股份大规模裁员以保留能使用AI的员工。文中分析了Java开发、大数据开发、架构师、产品经理等岗位的AI入侵指数,指出高风险和低风险岗位,并建议进入AI入侵指数低的领域如Java+AI+大数据架构师。此外,文章还介绍了尼恩团队的大模型学习资源和面试指导服务,帮助从业者提升技能,应对AI时代的挑战。
|
存储 关系型数据库 MySQL
Mysql的LSN是什么?
LSN(Log Sequence Number,日志序列号)是一种用于标识事务日志中每个操作的递增数字。它有助于记录日志位置、支持崩溃恢复及检查点机制。通过 `SHOW ENGINE INNODB STATUS;` 可查看LSN,其作用包括记录日志位置、支持崩溃恢复、更新检查点以及追踪数据文件状态。
625 1
Mysql的LSN是什么?
|
弹性计算 数据安全/隐私保护
3分钟部署 灵魂面甲(SOULMASK)联机服务
灵魂面甲(Soulmask)是由CampFire Studio开发,QoolandGames发行的一款开放世界生存制作类游戏,是一款主打真实体验的生存沙盒游戏。本文介绍通过计算巢快速部署灵魂面甲(SOULMASK)联机服务。
3分钟部署 灵魂面甲(SOULMASK)联机服务
|
安全 Windows
使用jks文件为apk签名
使用jks文件为apk签名
565 0
CSM 和 PSM 认证对比以及含金量和市场认可度
CSM:由Scrum Alliance提供。Scrum Alliance是最早的Scrum认证机构之一,专注于敏捷方法和Scrum框架的推广。 PSM:由Scrum.org提供。Scrum.org由Scrum的创始人Ken Schwaber创立,专注于Scrum框架的认证和培训
|
移动开发 算法 定位技术
Python中h5py与netCDF4库在Anaconda的配置方法
本文介绍基于Anaconda环境,下载并安装Python中h5py与netCDF4这两个模块的方法~
451 1
Python中h5py与netCDF4库在Anaconda的配置方法
|
Kubernetes 网络安全 容器
使用Kubespray部署Kubernetes集群
Kubespray是Google开源的一个部署生产级别的Kubernetes服务器集群的开源项目,它整合了Ansible作为部署的工具。项目地址:github.com/kubernetes-… 部署历程 目前为止,对于Kubernetes集群的部署,我只谈的上是一个入门者,涉及到了众多的运维知识,对于一个开发来说,确实挺难的。
3894 0
|
Linux 内存技术
uboot环境变量(设置bootargs向linux内核传递正确的参数)
这是我uboot的环境变量设置,在该设置下可以运行initram内核(从内存下载到nandflash再运行),但是运行nfs根文件系统的时候一直出错,各种错误。查看了很多资料后猜想应该是uboot传递给linux内核的参数有问题,也就是bootargs的设置有问题。
3432 0