(二) 应用部署
1. Tomcat的目录结构
[root@localhost tomcat]# ls bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work
bin: 脚本及启动时用到的类
conf: 配置文件
lib: 类库
logs:日志文件
temp:临时文件目录
webapps:应用程序默认部署目录
work:工作目录
tomcat配置文件:
[root@localhost tomcat]# ls conf/ catalina.properties logging.properties tomcat-users.xml catalina.policy context.xml server.xml web.xml
catalina.properties #java属性的定义文件,设定类加载器路径等,以及一些JVM性能相关的调优参数
logging.properties #tomcat日志配置文件
tomcat-users.xml: tomcat #用户认证的账号和密码配置文件
catalina.policy # 当使用-security选项启动tomcat实例时会读取此配置文件,以实现其安全运行策略
context.xml #每个webapp都可以有专用的配置文件,这些配置文件通常位于webapp应用程序目录下的WEB-INF目录中,用于定义会话管理器,JDBC等,conf/context.xml是为个webapp提供默认配置
server.xml #用于定义tomcat体系结构,端口,集群,web应用,访问日志等功能
web.xml #每个为webapp”部署“之后才能被访问,此文件则用于为所有的webapp提供默认部署的相关配置
了解了各目录和配置文件后,手动添加一个应用程序来测试一下:
1.创建webapp特有的目录 结构
2.提供webapp各文件
3.创建jsp默认主页
[root@localhost webapps]# pwd /usr/local/tomcat/webapps [root@localhost webapps]# mkdir -pv myapp/{lib,classes,WEB-INF,META-INF}#创建文件 mkdir: created directory `myapp‘#存放webapp的主页文件 mkdir: created directory `myapp/lib‘#此webapp私有类,被打包为jar格式类 mkdir: created directory `myapp/classes‘#此webapp的私有类 mkdir: created directory `myapp/WEB-INF‘#当前webapp私有资源目录,存放web.xml mkdir: created directory `myapp/META-INF‘#同上,但是存放自用的context.xml
[root@localhost webapps]# vim myapp/index.jsp #编辑jsp主页文件内容:
<html>
<body>
<center>
<h1>Hello,Word!</h1>
<h2>This is tomcat test page</h2>
<h3><%=new java.util.Date() %></h3>
</center>
</body>
</html>
部署完成后,默认catalina引擎会自动部署,不需要手动重启,直接在浏览器输入测试:
可以看到Hello,Word!, 这样一个简单的jsp网页就完成了
2.部署mysql数据库:
部署应用程序必须要有数据库,下边即源码编译安装mysql:
下载mysql源码包和cmake包:
mysql-5.6.13.tar.gz cmake-2.8.12.2-4.el6.x86_64
首先安装程序开发包:
[root@localhost ~]# yum groupinstall "Development tools" "Server Platform Development" [root@localhost ~] groupadd mysql #创建mysql组 [root@localhost ~] useradd -r -g mysql mysql #创建mysql系统用户 [root@localhost ~] tar –zxvf mysql-5.6.13.tar.gz #解压包 [root@localhost ~] cd mysql-5.6.13.tar.gz
[root@localhost mysql-5.6.13.tar.gz] cmake . --DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径 -DMYSQL_DATADIR=/usr/local/mysql/data \ #数据存放目录 -DSYSCONFDIR=/etc \ #配置文件 -DWITH_MYISAM_STORAGE_ENGINE=1 \ #myisam存储引擎 -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #innobase存储引擎 -DWITH_MEMORY_STORAGE_ENGINE=1 \ #memory内存引擎 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \ #sock文件路径 -DMYSQL_TCP_PORT=3306 \ #指定端口 -DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据 -DWITH_PARTITION_STORAGE_ENGINE=1 \ #分区引擎 -DEXTRA_CHARSETS=all \ #支持所有字符集 -DDEFAULT_CHARSET=utf8 \ #指定默认字符为utf8 -DDEFAULT_COLLATION=utf8_general_ci #校验字符
[root@localhost ~] chown –R mysql.mysql /usr/local/mysql 更改目录所有者 [root@localhost mysql]# cd scripts/ [root@localhost scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ #初始化数据库 [root@localhost mysql]# cd support-files/ #注册服务 [root@localhost support-files]# cp mysql.server /etc/rc.d/init.d/mysql [root@localhost support-files]# cp my-default.cnf /etc/my.cnf #设置默认配置文件 root@localhost support-files]# chkconfig --add mysql [root@localhost support-files]# chkconfig mysql on #开机启动
[root@localhost support-files]# vim /etc/my.cnf #修改编码文件,加入 [client] default-character-set=utf8 [mysqld] character-set-server=utf8 [mysql] default-character-set=utf8
并注释掉最后一行:
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
保存退出
[root@localhost support-files]# vim /etc/profile.d/mysql.sh #加入环境变量,内容如下: eport MYSQL_HOME=/usr/local/mysql eport PATH=$MYSQL_HOME/bin:$PATH
保存退出
[root@localhost support-files]# . /etc/profile.d/mysql.sh #重新加载文件 [root@localhost ~]# mysql –uroot #以root身份登陆,默认没有密码,回车设置 mysql> set password = password(‘123456‘); 设置密码 mysql> grant all privileges on *.* ‘root‘@‘%‘ identified by ‘123456‘ with grant option;#授权任意地址通过root都可以登陆 mysql> exit #退出数据库
注: 数据库规则使用大写,这里为了方便使用小写
[root@localhost ~]# service mysql start #启动服务 Starting MySQL SUCCESS! [root@localhost ~]# ss –tnl #3306端口已监听,服务启动成功 State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 80 :::3306 :::*
数据库部署完成。
为了能让tomcat与mysql交互,需要使用需要一个jar包mysql-connector-java-5.1.13-bin.jar,将其下载下来放到tomcat 目录 lib 下面就可以了
[root@localhost ~]# ls
anaconda-ks.cfg install.log.syslog mysql-5.6.13.tar.gz
apache-tomcat-7.0.65.tar.gz jdk-7u79-linux-x64.rpm mysql-connector-java-5.1.13-bin.jar
install.log mysql-5.6.13
[root@localhost ~]# cp mysql-connector-java-5.1.13-bin.jar /usr/local/tomcat/lib/
这样就可以来测试tomcat是否能与mysql交互了,前提需要写一个连接页面,如下:
[root@localhost ~]# vim /usr/local/tomcat/webapps/myapp/test.mysql.jsp
<%@ page language="java" %>
<%@ page import="com.mysql.jdbc.Driver" %>
<%@ page import="java.sql.*" %>
<%
String driverName="com.mysql.jdbc.Driver";
String userName="root";
String userPasswd="hong123";
String dbName="test";
String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
Class.forName("com.mysql.jdbc.Driver").newInstance();
try
{
Connection connection=DriverManager.getConnection(url);
out.println(" Connection Mysql is OK !");
connection.close();
}
catch( Exception e )
{
out.println( "connent mysql error:" + e );
}
%>
保存退出以后要重启tomcat。
[root@localhost ~]# catalina.sh stop [root@localhost ~]# catalina.sh start
到浏览器测试是否有结果:
可以看到,说明tomcat与数据库交互没有问题
3. 发布web网站
首先上传web网站定义好的文件夹(开发干的事儿) 到服务器上
[root@localhost ~]# unzip shopxx-a5-Beta.zip #上传上来的web网站,解压缩 [root@localhost ~]# mv shopxx-v3.0-Beta/ /usr/local/tomcat/webapps/#移动至webapps下 [root@localhost webapps]# ln -s shopxx-v3.0-Beta/ shopxx #创建软链接 [root@localhost webapps]# ls shopxx/ #可以看到整合的文件 admin favicon.ico install META-INF robots.txt upload changelog.txt index.jsp license.html resources shopxx.txt WEB-INF
[root@localhost tomcat]# vim conf/server.xml #修改配置文件,添加如下项: 找到%tomcathome%/conf/server.xml文件,找到<host>标签加入: <Context path="/shop" docBase="shopxx" debug="0" reloadable="true" crossContext="true"></Context>
注: path:虚拟路径 docBase: web物理存放路径
然后重新启动tomcat服务:
[root@localhost tomcat]# catalina.sh stop [root@localhost tomcat]# catalina.sh start
然后在浏览器输入http://IP地址:端口/虚拟目录/install,即可执行:
如图:
然后下一步开始部署,选择下一步:
注: 默认server.tml 里字符集没有指定,这里有时会检测不到,到server.tml里添加字符集:
<Connector port="8080" protocol="HTTP/1.1"
Connectio,nTimeout="20000"
redirectPort="8443"
URIEncoding="utf-8" /> #添加后就可以检测到了。。
下一步:
选择数据库,数据库用户名密码,名称为默认即可,单击下一步安装即可:
稍等一会儿这样web就安装完成。。。
点击完成安装后。提示我们重启web服务
这里我们需要把shopxx文件里的install先cp到其他地方:
[root@localhost shopxx]# ls #看到已经生成了index.html文件 admin changelog.txt index.html license.html product robots.txt sitemap WEB-INF article favicon.ico install META-INF resources shopxx.txt upload [root@localhost shopxx]# mv install/ back [root@localhost shopxx]# catalina.sh stop [root@localhost shopxx]# catalina.sh start
重启后浏览器访问
http://192.168.0.100:8080/shop/index.html 即可
这样就部署完成。。
本文出自 “开源盛世” 博客,请务必保留此出处http://zhaohongfei.blog.51cto.com/6258685/1709169
原文地址:http://zhaohongfei.blog.51cto.com/6258685/1709169