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


相关文章
|
2月前
|
人工智能 安全 Java
Java和Python在企业中的应用情况
Java和Python在企业中的应用情况
75 7
|
2月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
91 9
|
2月前
|
存储 缓存 前端开发
如何优化 SSR 应用以减少服务器压力
优化SSR应用以减少服务器压力,可采用代码分割、缓存策略、数据预加载、服务端性能优化、使用CDN、SSR与SSG结合、限制并发请求、SSR与CSR平滑切换、优化前端资源及利用框架特性等策略。这些方法能有效提升性能和稳定性,同时保证用户体验。
|
4天前
|
运维 监控 算法
企业局域网监控软件中 Java 优先队列算法的核心优势
企业局域网监控软件是数字化时代企业网络安全与高效运营的基石,犹如一位洞察秋毫的卫士。通过Java实现的优先队列算法,它能依据事件优先级排序,确保关键网络事件如异常流量、数据泄露等被优先处理,保障系统稳定与安全。代码示例展示了如何定义网络事件类并使用PriorityQueue处理高优先级事件,尤其在面对疑似风险时迅速启动应急措施。这一核心技术助力企业在复杂网络环境中稳健前行,护航业务腾飞。
50 32
|
19天前
|
安全 算法 Java
Java CAS原理和应用场景大揭秘:你掌握了吗?
CAS(Compare and Swap)是一种乐观锁机制,通过硬件指令实现原子操作,确保多线程环境下对共享变量的安全访问。它避免了传统互斥锁的性能开销和线程阻塞问题。CAS操作包含三个步骤:获取期望值、比较当前值与期望值是否相等、若相等则更新为新值。CAS广泛应用于高并发场景,如数据库事务、分布式锁、无锁数据结构等,但需注意ABA问题。Java中常用`java.util.concurrent.atomic`包下的类支持CAS操作。
53 2
|
1月前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
2月前
|
缓存 Java 开发者
Java多线程并发编程:同步机制与实践应用
本文深入探讨Java多线程中的同步机制,分析了多线程并发带来的数据不一致等问题,详细介绍了`synchronized`关键字、`ReentrantLock`显式锁及`ReentrantReadWriteLock`读写锁的应用,结合代码示例展示了如何有效解决竞态条件,提升程序性能与稳定性。
199 6
|
1月前
|
监控 Java 数据库连接
Java线程管理:守护线程与用户线程的区分与应用
在Java多线程编程中,线程可以分为守护线程(Daemon Thread)和用户线程(User Thread)。这两种线程在行为和用途上有着明显的区别,了解它们的差异对于编写高效、稳定的并发程序至关重要。
41 2
|
2月前
|
弹性计算 监控 数据库
制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程
本文通过一个制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程,展示了企业级应用上云的实践方法与显著优势,包括弹性计算资源、高可靠性、数据安全及降低维护成本等,为企业数字化转型提供参考。
64 5
|
2月前
|
弹性计算 监控 容灾
阿里云ECS提供强大的云上灾备解决方案,通过高可用基础设施、多样的数据备份方式及异地灾备服务,帮助企业实现业务的持续稳定运行
在数字化时代,企业对信息技术的依赖加深,确保业务连续性至关重要。阿里云ECS提供强大的云上灾备解决方案,通过高可用基础设施、多样的数据备份方式及异地灾备服务,帮助企业实现业务的持续稳定运行。无论是小型企业还是大型企业,都能从中受益,确保在面对各种风险时保持业务稳定。
55 4