为什么使用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模块

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 &

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

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

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

四、Jboss与Apache整合

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.分别访问php与jsp程序

五、创建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配置文件来读取哪一个应用了。

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

  1. 互联网架构师必备技术 Docker仓库与Java应用服务动态发布那些事

    讲师简介: James老师 十余年Java经验,曾就职于携程.人人网等一线互联网公司,专注于java领域,精通软件架构设计,对于高并发.高性能服务有深刻的见解, 在服务化基础架构和微服务技术有大量的建 ...

  2. idea 构建spring_以Spring方式构建企业Java应用程序

    idea 构建spring 我认为可以说Java EE在Java开发人员中享有很高的声誉. 尽管多年来确实在各个方面都有所改善,甚至将其改名为Eclipse Foundation成为Jakarta E ...

  3. 以Spring方式构建企业Java应用程序

    我认为可以肯定地说, Java EE在Java开发人员中享有很高的声誉. 尽管多年来确实在各个方面都有所改善,甚至将其改名为Eclipse Foundation成为Jakarta EE ,但其苦味仍然 ...

  4. 为什么我会在2012年的新企业Java项目中使用Java EE而不是Spring

    这个问题经常出现. 我的新项目也在2011年11月发布. 在这个新的Enterprise Java项目中,我将使用Java EE(JEE)代替Spring框架. 我知道:关于此主题的文章,博客和论坛讨 ...

  5. 某大型互联网企业-Java工程师招聘

    某大型互联网企业-Java工程师招聘 截止到2020年8月前------------- 对方公司需要招募大量java技术人员. 有意向的小伙伴联系. 岗位职责 参与电商的 B 端(商家.渠道).后台系 ...

  6. 用Spring构建企业Java应用程序

    来源:SpringForAll社区 通过在本教程中构建一个简单的RESTful web API,了解关于使用Java EE和Spring框架构建企业Java应用程序的更多信息. 我认为可以说Java ...

  7. 深圳Java学习:分享几道真实的企业Java工程师笔试题

    深圳Java学习:分享几道真实的企业Java工程师笔试题,你都会做吗?

  8. 企业Java网站开发工具

    企业Java网站开发工具 作者:吴梦升 前言 有人说用Java开发网站的速度慢而且在美观上还没有C#好,但我个人认为使用Java开发项目可以做到快速开发和高质量开发,因为Java很多的框架和工具是开源 ...

  9. MongoDB和Java(4):Spring Data整合MongoDB(XML配置)

    最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...

最新文章

  1. 勒索攻击猖獗,在云上如何应对这位“破坏分子”?
  2. 《JavaScript高级程序设计》(第2版)上市
  3. squid在企业网中的应用
  4. 武汉众邦银行的数字化升级秘诀:让每个业务⼈员都能自助式分析查询
  5. abp vnext2.0核心组件之.Net Core默认DI组件切换到AutoFac源码解析
  6. vim如何自动补全,ycm配置
  7. java web 手机验证_JAVA-WEB,好知网,登录注册,手机验证
  8. 支付宝SDK ios快捷支付
  9. [转载] 在python中、关于全局变量和局部变量、以下_python中的全局变量和局部变量
  10. iOS 中实现随机颜色
  11. Linux基础入门之VM和centos的安装使用
  12. MySQL数据库学习路径 链接汇总
  13. Native Instruments Maschine 2 v2.14.7 WiN-MAC 节奏音乐制作软件含拓展
  14. 【云流送技术】为手办行业可以带来哪些变革
  15. 皮皮胡位置设定服务器,逆水寒买橘子给皮皮寒任务完成方法
  16. 衡量度量过程性能的几个指标
  17. 广告联盟源码java_Android启动页广告(腾讯广告联盟)解决方法及源码下载
  18. 从零构建通讯器--7.1过往总结和心跳包代码实战
  19. 重型音乐金属核后期分轨混音教程教学培训(基础+进阶+重型音色调音指南+剪辑+修音+美感设计+实战+母带处理)|MZD Studios
  20. python爬取天猫_Python如何抓取天猫商品详细信息及交易记录

热门文章

  1. VTK:可视化算法之ContourQuadric
  2. VTK:网格之PointInterpolator
  3. VTK:图片之ImageMapper
  4. VTK:图片之CombiningRGBChannels
  5. VTK:IO之GLTFExporter
  6. Qt Creator连接QNX设备
  7. OpenGL RGTC Compressor压缩实例
  8. C++Fenwick tree芬威克树的实现算法(附完整源码)
  9. C++ kadane算法的实现之一(附完整源码)
  10. C语言二进制转换为十六进制(附完整源码)