17101301_CentOS7(64)下Tomcat+Oracle发布WEB项目

系统运维 waitig 505℃ 百度已收录 0评论

本文将介绍在CentOS7(64)环境下利用Tomcat+Oracle如何进行WEB项目发布。其中包括了系统基础数据的导入、项目文件部署、端口配置、启动/关闭服务、页面测试等几个环节的介绍。

1. 环境准备

1.1 系统

操作系统:CentOS 7(64位)

1.2 工具/软件

一套可以在eclipse中发布的WEB项目,数据库采用oracle10以上,能提供基础数据和项目源代码。
Win7环境下配置完成的FileZilla
配置方法:
参照本人博文:《17101101_Windows系统下FillZilla上传文件到linux系统方法》

2. 方法/步骤

2.1 安装Oracle11gR2

参照本人之前博文:《17092301_CentOS7安装Oracle11gR2图文详解》

2.2 创建数据库实例及Oracle客户端连接

参照本人之前博文:《17092401_CentOS7(64)下Oracle11g创建实例及win7下Oracle客户端连接》

2.3设置Oracle开机自启动服务

参照本人之前博文:《17101001_CentOS7下Oracle11g设置开机自启(二)》

2.4 创建用户,导入数据

此处介绍两种创建用户及数据导入方式:一种是直接在CentOS下通过Oracle的SQLplus进行用户创建和数据导入;另一种通过Win7环境下的oracle客户端软件,执行Sql语句实现用户创建和数据导入。

2.4.1 准备工作

开始前,先确认数据库服务和数据库监听已启动。
以Oracle用户登录,打开终端,进行如下操作:

执行脚本:

login as: oracle    # Oracle用户登录
oracle@192.168.1.201's password:  # 输入用户密码
Last login: Thu Oct 19 13:56:19 2017
[oracle@zm-centos7 ~]$ lsnrctl status # 查看监听状态

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 19-OCT-2017 14:02:36

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused

发现监听与数据库都未启动,手动启动数据库
执行脚本:
[oracle@zm-centos7 ~]$ sqlplus / as sysdba  # 执行sqlplus

SQL*Plus: Release 11.2.0.1.0 Production on Thu Oct 19 14:03:11 2017

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup   # 启动数据库服务    
ORACLE instance started.

Total System Global Area  613797888 bytes
Fixed Size                  2215824 bytes
Variable Size             364904560 bytes
Database Buffers          239075328 bytes
Redo Buffers                7602176 bytes
Database mounted.
Database opened.
SQL> exit      # 返回命令行
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

手动启动数据库监听
执行脚本:
[oracle@zm-centos7 ~]$ lsnrctl start   # 启动监听

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 19-OCT-2017 14:04:11

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Starting /data/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.1.0 - Production
System parameter file is /data/oracle/product/11.2.0/db_1/network/admin/listener.ora
Log messages written to /data/oracle/diag/tnslsnr/zm-centos7/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                19-OCT-2017 14:04:12
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /data/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File         /data/oracle/diag/tnslsnr/zm-centos7/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
The listener supports no services
The command completed successfully

再度查看数据库启动结果
执行脚本:

[oracle@zm-centos7 ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 19-OCT-2017 14:05:22

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                19-OCT-2017 14:04:12
Uptime                    0 days 0 hr. 1 min. 10 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /data/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File         /data/oracle/diag/tnslsnr/zm-centos7/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
Services Summary...
Service "test" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "testsidXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

启动成功。
注意:
如果Oracle服务是通过自启动脚本启动的,须使用自启动脚本进行停止。命令参照:

/etc/rc.d/init.d/oracle start  # 启动
/etc/rc.d/init.d/oracle start  # 停止

如果是通过手动启动的数据库服务,那么还需手动进行关闭。
命令参照:

sqlplus / as sysdba  # 执行sqlplus命令
starup               # 启动
shut                 # 停止

2.4.2 利用FileZilla上传基础数据文件user01.dmp至/data/src目录

参照本人之前的博文:
《17101101_Windows系统通过FillZilla上传文件到linux系统方法》
执行脚本:

[oracle@zm-centos7 ~]$ ll /data/src    #查看上传的dmp文件
total 7396
-rw-r--r-- 1 root root 7570432 Oct 19 16:09 user01.dmp

2.4.3 方式一:本机SQLplus方式创建用户,导入数据

1)创建数据库用户
先删再加。
执行脚本:

[oracle@zm-centos7 ~]$ sqlplus / as sysdba   # 连接数据库

SQL*Plus: Release 11.2.0.1.0 Production on Thu Oct 19 16:19:57 2017

Copyright (c) 1982, 2009, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> drop user user01 cascade;    # 删除用户user01

User dropped.

SQL> commit;                     # 提交

Commit complete.

SQL> create user user01 identified by "user01";   # 创建用户

User created.

SQL> grant all privilege to user01;           # 授予权限

Grant succeeded.

SQL> commit;     # 提交

Commit complete.

2)数据导入

[oracle@zm-centos7 ~]$ imp     #输入imp命令

Import: Release 11.2.0.1.0 - Production on Thu Oct 19 16:42:56 2017

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Username: user01     # 输入新建的用户名
Password:           # 输入新建用户的密码

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

Import data only (yes/no): no >  # 是否只导入数据,默认选no,因为dmp文件中包括表结构和数据,所以直接回车OK。

Import file: expdat.dmp > /data/src/user01.dmp  # 指定导入文件位置

Enter insert buffer size (minimum is 8192) 30720>  #设定buffer值,默认30720,通常选择缺省值,直接回车

Export file created by EXPORT:V10.02.01 via conventional path
import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
import server uses AL32UTF8 character set (possible charset conversion)
List contents of import file only (yes/no): no > # 是否为多个数据导入文件,默认选no,直接回车OK。

Ignore create error due to object existence (yes/no): no >  # 是否忽略由于对象存在造成的错误,默认no,我也直接回车了,出错了也没法改!
Import grants (yes/no): yes >   # 是否导入,默认yes,直接回车
Import entire export file (yes/no): no >  #是否导入整个文件如果选择yes,则imp 导入整个文件的数据.如果选择no,则下面会提示需要导入的用户名以及表名,应该选yes,不过没关系,自己指定一下用户也好。
Username: user01 #需要导入的用户名
  Enter table(T) or partition(T:P) names. Null list means all tables for user
Enter table(T) or partition(T:P) name or . if done: . #需要导入的表名或表的分区名如果输入表名则只导入该用户模式下的表的数据,如果输入回车,则表示要导出该用户的所有数据。直接回车。
. . importing table "T_TENDERINFO"   0 rows imported
. . importing table "T_TEST_ROLE"    0 rows imported
. . importing table "T_USER_ROLE"    23 rows imported
. . importing table "T_VIP_USER"     1 rows imported
. . importing table "WEB_USER"       22 rows imported
. . importing table "XUES"           1 rows imported
Import terminated successfully with warnings.

该命令从文件中导入user01用户的所有数据如果有多个文件imp 会提示用户输入文件名。

2.4.2 方式二:Windows客户端软件方式

1)创建数据库用户
这里推荐一款Oracle软件OSqlEdit,用了很多年了,的确很好用,唯一的缺点就是日文的,小日本做得还是不错了,尤其适合鼓弄SQL文的同学。
废话少说,开干!以SYSDBA身份登录该Oracle客户端软件。
这里写图片描述
这里写图片描述
下面就比较爽了,直接上SQL文执行就行了。
执行SQL文:

drop user user01 cascade;    # 删除用户user01
commit;                     # 提交
create user user01 identified by "user01";   # 创建用户user01
grant all privilege to user01;              # 授予权限
commit;                                    # 提交

这里写图片描述
看得懂日语的,看出用户创建成功啦!

2)利用编写imp脚本文件,导入数据。
打开cmd窗口,执行下面脚本

imp user01/user01@test file=D:\user01.dmp log=Oracle_Imp.log

说明:
user01/user01@test #导入的用户/密码@配置的数据库服务名
file=D:\user01.dmp #dmp文件路径
log=Oracle_Imp.log #log文件
还有很多其他可以设定的参数,这里不一一列举,这些就够了。
这里写图片描述
这里写图片描述
成功导入成功。

2.5 Tomcat下部署发布war文件

继续利用FileZilla上传,注意重新配置war文件中的数据库连接池属性。
IP:127.0.0.1
Tomcat端口没有修改过,默认使用8080

2.6 启动Tomcat服务

执行脚本:

[root@zm-centos7 /]# /usr/local/tomcat/bin/startup.sh #启动Tomcat
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

2.7 测试网页

打开IE,输入URL:http://服务器IP:8080/项目名
这里写图片描述

至此发布成功。


本文由【waitig】发表在等英博客
本文固定链接:17101301_CentOS7(64)下Tomcat+Oracle发布WEB项目
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)