在linux环境下搭建java web测试环境(非常详细!!)
一.项目必备软件及基本思路
项目必备:
虚拟机:VMware Workstation (已安装linux的 CentOS6.5版本)
项目:java web项目 (必须在本地部署编译后选择项目的webRoot,改为ROOT(ROOT包含下面四个关键文件),放到tomcat下的webapps下即可,因为tomcat启用一个工程的时候,就是发布了除了JSP以外的,所有已被编译过的java文件,所以只能放在本地部署生成编译后的class文件)。
java环境配置:配置JDK
服务器:tomcat
数据库:MySQL
基本思路:(特别注意各处的编码设置)
1.配置java环境(下载jdk并配置环境变量)
2.下载并安装tomcat (设置tomcat编码)
3.安装mysql并导入sql(注意:mysql客户端和服务器端编码设置,必须设置完再导入sql,这个折腾了好久)
4.项目导入并修改数据库连接配置
5.启动mysql,启动tomcat,访问即可!
VMware tools小介绍:
现在的centOS已安装了VMware tools (实现主机和虚拟机之间文件的共享拖拽功能),其余项目所需都没有安装。只有在VMware虚拟机中安装好了VMware Tools,才能实现主机与虚拟机之间的文件共享,同时可支持自由拖拽的功能,鼠标也可在虚拟机与主机之前自由移动(不用再按ctrl+alt),且虚拟机屏幕也可实现全屏化。
二.具体操作
1.判断是否可以连网
(我用的是NAT模式,只要宿主主机(相当于路由器)网络通,只要配置DNS即可,这种只能在虚拟机本地访问,在宿主主机无法访问到内部项目。改用DHCP桥接模式即可,具体见 http://blog.csdn.net/heirenheiren/article/details/17795951)
ifconfig (查找虚拟机主机ip) eth0表示现在用的网卡名称
ping www.baidu.com (看网路是否通)
如何设置centOS上网?详见
http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/05/3001148.html 结合
http://jingyan.baidu.com/article/fc07f9891d186512ffe51935.html
2.将centOS的yum源更新为国内的阿里云源 (方便下载和安装软件包)
第一步:备份你的原镜像文件,以免出错后可以恢复。
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
第二步:下载新的CentOS-Base.repo 到/etc/yum.repos.d/
CentOS 6 (6系列)
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
第三步:运行yum makecache生成缓存 (管理安装包,下次安装直接找到安装包即可)
yum clean all
yum makecache
3.下载java环境(java runtime environment )
(1)如果是安装 openjdk不用配置java_home 和 CLASSPATH PATH环境变量 (我们采用的是这个)
yum search java (找到 java-1.7.0-openjdk.x86_64 )
yum install java -1.7.0-openjdk.x86_64
java -version //显示ok,安装配置成功
(2)安装 jdk-7u21-linux-i586.rpm (安装目录 /usr/java/jdk1.6.0_21 )
rpm -ivh jdk-7u21-linux-i586.rpm
配置环境变量,在/etc/profile中加入JAVA_HOME CLASSPATH PATH环境变量。
[root@localhost jdk1.7.0_21]# vi /etc/profile
在最后加入
JAVA_HOME=/usr/java/jdk1.6.0_21
CLASSPATH=.: J A V A H O M E / l i b / t o o l s . j a r P A T H = JAVA_HOME/lib/tools.jar PATH= JAVAHOME/lib/tools.jarPATH=PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
如果之前安装有opensdk,需要另外做处理。
4.下载tomcat7.0(免安装版)
(1)启动linux自带的火狐浏览器,搜索tomcat下载到桌面,解压到/usr/local
[root@localhost Desktop]# tar –xzf apache-tomcat-7.0.29.tar.gz //解压
[root@localhost Desktop]# mkdir /usr/local/tomcat //在usr/local下新建tomcat目录
[root@localhost ~]# cp –rf apache-tomcat-7.0.29 /usr/local/tomcat //拷贝至 tomcat下
(2) 设置Tomcat编码,配置Tomcat服务器编码为UTF-8:(这个很重要!!)
打开tomcat安装目录下的conf/server.xml文件,(大约在69行处)
将8080端口的标签中设置成 URIEncoding=”UTF-8”。
如:
(3) 启动Tomcat
[root@localhost bin]# ./startup.sh
使用浏览器访问 http://localhost:8080,出现tomcat默认页面,说明已经安装成功
小知识复习:
之后的项目就放在tomcat文件夹下的webapps下
*.tar.gz:tar程序打包的数据而且用gzip压缩过。
(1)-c 压缩(2)-x 解压(3)-t 查看tar的文件(4)-v 压缩的过程中显示文件名(5)-f 使用文件名,一般后面直接加文件名(6)-z 用gzip方式压缩
5.下载并安装mySQL
(1)安装mysql
yum search mysql
yum install mysql.x86_64 mysql-server.x86_64
(2)设置mysql密码(详情请参见 http://blog.knowsky.com/193552.htm)
缺省情况下MySQL没有设置密码
(可通过检查端口是否开启来查看MySQL是否正常启动:
[root@localhost yuanyuan]#netstat -anp|grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 34693/mysqld )
service mysqld start //启动mysql服务
mysql -uroot -p //登录
vim /etc/my.cnf //加上 --skip- grant-tables 跳过授权表的验证,可以直接登陆MySQL服务器
service mysqld restart //重启mysql服务
mysql -uroot -proot //登录,设置密码
vim /etc/my.cnf //将跳过设置密码的注释掉
service mysqld restart //重启
(3)设置数据库编码格式(这个非常重要)
vim /etc/my.cnf
//设置mysql客户端和服务器端的默认编码!!!!
在[client]下添加
default-charater-set=utf8
在[mysqld]下添加
collation_server = utf8_general_ci
character_set_server = utf8
保存退出后重启mysqld
看一下效果:
mysql> show variables like ‘character_set_%’;
±-------------------------±---------------------------+
| Variable_name | Value |
±-------------------------±---------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
±-------------------------±---------------------------+
或者一开始都是latin时,使用
mysql>set character_set_database=utf8
(4)创建数据库dh_test并导入dh.sql
mysql>create database dh_test
show database //查看是否创建成功
mysql -uroot -p dh_test < dh.sql 或者用 mysqldump -u userName -p dabaseName > fileName.sql //导入sql
show tables //查看表是否创建成功
select * from user //查看中文显示是否ok
6.web项目部署,配置项目连接的数据库名和用户名密码
将项目在本地编译后,整个webroot下的文件放到linux下的/usr/local/tomcat 下的webapps下,webroot改为root
cd ROOT/WEB-INF/classes/config/properties/database.properties
修改数据库名为dh,用户名和密码与mysql设置的一致!!!
7.启动mysql,启动tomcat
service mysqld start
./startup.sh
tail -fn 300 …/logs/catalina.out
启动成功,项目发布完毕!!
在linux的火狐浏览器即可访问该项目, 输入 localhost即可
(不过需要提前在tomcat安装目录下conf/server.xml进行设置,可见 http://blog.csdn.net/defonds/article/details/4192953 )
三.相关的linux命令
普及一下wget,rpm和yum的区别和使用
wget用于知道具体的下载地址时使用
rpm主要用于查找,看是否已存在 rpm qa | grep 软件包名
yum 主要用于在缓存中查看下载链接中是否有相关文件,并下载安装
(1)wget (World Wide Web get):从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理
wget url(网址文件地址) wget http://mirrors.aliyun.com/repo/Centos-6.repo
wget -O下载并以不同的文件名保存 如:wget -O wordpress.zip http://www.centos.bz/download.php?id=1080
(2) RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”
RPM软件的安装、删除、更新只有root权限才能使用;对于查询功能任何用户都可以操作;如果普通用户拥有安装目录的权限,也可以进行安装.
可以使用rpm命令进行安装的文件必须以.rpm 后缀结尾的才行,但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。
rpm -qa 将列出所有安装过的包。
rpm -qa |grep yum 如果要查找所有安装过的包含某个字符串“yum”的软件包,
rpm -qf 文件名 查询一个已经安装的文件属于哪个软件包;
rpm -ql 软件名 查询已安装软件包都安装到何处
rpm -qi 软件名 查看已安装文件的信息
rpm -vih file.rpm 这个是用来安装一个新的rpm 包; -i : 安装 -v : 可视化 -h : 显示安装进度
更详细请见 http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/08/2203153.html
(3)Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
安装软件(以foo-x.x.x.rpm为例):yum install foo-x.x.x.rpm
删除软件:yum remove foo-x.x.x.rpm或者yum erase foo-x.x.x.rpm
升级软件:yum upgrade foo或者yum update foo
查询信息:yum info foo
搜索软件(以包含foo字段为例):yum search foo
显示软件包依赖关系:yum deplist foo