linux下apache+tomcat部署项目

来源:互联网 发布:淘宝美工多久能学会 编辑:程序博客网 时间:2024/04/30 14:22

1、tomcat 安装(略)

2、apache 安装

参考文章: linux下安装apache详解
其中要修改-so为-proxy
这里写图片描述

3、tomcat 配置

假设项目路径放在/usr/local/getjia/mobile/下,
tomcat安装在/usr/local/tomcat/下,
为了不把项目直接放在webapps下面,需要在/usr/local/tomcat/conf/server.xml文件中的Host标签(最后的位置)中添加Context标签,path指的是访问项目路径,docBase指的是项目文件具体位置,配置完重启tomcat即可访问。

<Host name="localhost"  appBase="webapps"            unpackWARs="true" autoDeploy="true">    <Context path="/mobile" docBase="/usr/local/getjia/mobile/" privileged="true"></Context></Host>

4、apache 配置

假设apache安装在/usr/local/apache/下,
打开/usr/local/apache/conf/http.conf 配置文件添加相关配置

ServerRoot "/usr/local/apache"Listen 80ServerName localhost:80#如果监听多个servername的80端口,需要开启#NameVirtualHost *:80<VirtualHost *:80>  DocumentRoot "/usr/local/getjia/"  ServerName www.test.com  <Directory "/usr/local/getjia/">  Order Deny,Allow  Allow from all  </Directory>  <Proxy ajp://localhost:8009*>    Allow from all  </Proxy>  # 静态文件直接经过apache访问,不经tomcat  ProxyPass        /mobile/css/ !  ProxyPass        /mobile/images/ !  ProxyPass        /mobile/js/ !    # 通过ajp跳转到tomcat项目  ProxyPass        /mobile   ajp://localhost:8009/mobile  ProxyPassReverse /mobile   ajp://localhost:8009/mobile</VirtualHost>

这个配置的结果是,当我们访问www.test.com/mobile时,首先请求到apache服务器,apache将请求跳转,访问tomcat对应项目下的首页,如果该首页请求了对应的css/images/js时,apache将相关路径的文件访问不经tomcat,而是通过DocumentRoot 和Directory配置的路径来将请求跳转,并查找相对应的文件。这样的结果可以大大提高页面刷新的速度。
待完善的地方:apache缓存文件的时间
至此,项目的配置基本就完成了。

另外(关于shell脚本)

开发前期会经常更新服务器,而且也为了更新的方便,我们会写一个shell脚本来代替繁琐的操作,直接通过执行执行脚本,来一键部署并备份原来的项目。
前提是我们要将项目的war包上传至/usr/local/getjia/temp/下,并修改相关的文件名。
脚本程序如下:

#!/bin/sh################################FileName:updateMobile.sh#Function:备份并更新mobile项目#Author:huangxiaojie#Date:2016.09.02################################定义文件夹time=`date +%Y_%m_%d_%H_%M_%S`mobile="/usr/local/getjia/mobile"mobileDir="/usr/local/getjia/backup/${time}_mobile"temp="/usr/local/getjia/temp/${time}_temp"mobileWar="/usr/local/getjia/temp/sc-getjia-web-site.war"#创建文件夹echo "创建备份文件夹${mobileDir}"mkdir ${mobileDir}echo "创建临时文件夹${temp}"mkdir ${temp}#备份echo "备份${mobile}至${mobileDir}"\cp -rf ${mobile} ${mobileDir}#清空temp目录rm -rf ${temp}/*#解压并替换mobileecho "解压${mobileWar}至${temp}"unzip -oq ${mobileWar} -d ${temp}echo "开始更新项目"\cp -ru ${temp}/* ${mobile}echo "删除临时文件夹${temp}"rm -rf ${temp}echo "结束更新项目"

给updateMobile.sh添加执行权限命令:
chmod +x updateMobile.sh
执行脚本文件命令:
./updateMobile.sh

0 0
原创粉丝点击