(二) 应用部署
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主页文件内容:
Hello,Word!
This is tomcat test page
部署完成后,默认catalina引擎会自动部署,不需要手动重启,直接在浏览器输入测试:
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
保存退出以后要重启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文件,找到标签加入:
注: path:虚拟路径 docBase: web物理存放路径
然后重新启动tomcat服务:
[root@localhost tomcat]# catalina.sh stop
[root@localhost tomcat]# catalina.sh start 然后在浏览器输入http://IP地址:端口/虚拟目录/install,即可执行:
如图:
然后下一步开始部署,选择下一步:
注: 默认server.tml 里字符集没有指定,这里有时会检测不到,到server.tml里添加字符集:
#添加后就可以检测到了。。
下一步:
选择数据库,数据库用户名密码,名称为默认即可,单击下一步安装即可:
稍等一会儿这样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 即可
这样就部署完成。。
|