在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=.:$JAVA_HOME/lib/tools.jar
PATH=$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端口的<connector></connector>标签中设置成 URIEncoding=”UTF-8”。
如:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" 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
在linux环境下搭建java web测试环境(非常详细!)的更多相关文章
- 在linux环境下搭建java web测试环境(非常详细!!)
一.项目必备软件及基本思路 项目必备:虚拟机:VMware Workstation (已安装linux的 CentOS6.5版本) 项目:java web项目 (必须在本地部署编译后选择项目的webR ...
- Linux 服务器快速搭建 Java Web 开发环境
搭建 Java 环境 yum list java* yum install java-1.8.0-openjdk.x86_64 -y java -version mkdir 创建文件夹 mv 修改文件 ...
- LINUX下搭建JAVA的开发环境
LINUX下搭建JAVA的开发环境 (2009-07-13 10:04:13) 下面就将Linux下JAVA开发环境的搭建详细道来: 1.Linux下JDK的安装 至于下载JDK的二进制可执行 ...
- Docker搭建Java Web运行环境
1. 前提条件 安装了Docker的64位Linux 操作系统 Linux操作系统镜像 Linux版本的JDK压缩包 Linux版本的Tomcat压缩包 2. 启动容器 容器是在镜像的基础上来运行的, ...
- 使用 Docker 搭建 Java Web 运行环境
黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...
- 转:使用 Docker 搭建 Java Web 运行环境
原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...
- 使用 Docker 搭建 Java Web 运行环境(转)
原文 http://www.importnew.com/21798.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几 ...
- 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台
最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...
- Linux CentOS下部署Java Web项目
本文讲解如何在Linux CentOS下部署Java Web项目的步骤. 一.环境准备: (1)Linux CentOS (2)apache-tomcat-9.0.10 (3)XShell 二.启动t ...
随机推荐
- SpringBoot 入门 Demo
SpringBoot 入门 Demo Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从 ...
- 校园网络安全CTF 第一题 和 你真了解我吗?
第一题: 需要先找到相应头(REsponse header中的tips) <?php$flag = "***";if (isset($_GET['repo']))//检测变量 ...
- LeetCode记录之35——Search Insert Position
这道题难度较低,没有必要作说明. Given a sorted array and a target value, return the index if the target is found. I ...
- leetcode 493 Reverse Pairs
题意:给定一个数组nums,求若 i<j and nums[i] > 2*nums[j] 的逆序对. Note: 数组的长度不会超过50,000 不愧是hard模式的题目,虽然已经知道可以 ...
- C# B站的弹幕提取
要知道B站的弹幕位置 如果只考虑视频,B站的链接格式为:https://www.bilibili.com/video/av34042815.把av后面的数字看做是唯一标记即可. 既然能够把弹幕加载出来 ...
- springboot(六)-使用shiro
前提 写之前纠结了一番,这一节放在shiro里面还是springboot里面.后来想了下,还是放springboot里吧,因为这里没有shiro的新东西,只有springboot添加了新东西的使用. ...
- [转] Mysql命令基础
[From] http://c.biancheng.net/cpp/u/mysql_ml/ 连接Mysql数据库 mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码 1) 连接到 ...
- 深度优先搜索(DFS) — 20180926
用DFS的场景: 找出所有方案:DFS找出所有方案总数 可能是动态规划 DFS时间复杂度:答案个数*构造每个答案的时间 动态规划时间复杂度:状态个数*计算每个状态时间 二叉树时间复杂度:节点数*处理每 ...
- EntityFramework 并发处理
转载自:http://www.cnblogs.com/TianFang/p/4439215.html 什么是并发? 并发分悲观并发和乐观并发. 悲观并发:比如有两个用户A,B,同时登录系统修改一个文档 ...
- linux下——java——new Font("Times New Roman", 0, 18)验证码图片变成字符
j'ava部署到了tomcat,发现了一个问题,我们登录的验证码出现了乱码,和字符 然而在windows服务器上,或者说我们本地的开发环境上面,则没有这种现象, 这是为什么? 查看源码,发现有一段代码 ...