简单记录Cent OS服务器配置JDK+Tomcat+MySQL_Tomcat

项目需要部署到一台CentOS的服务器之上,之前这台服务器上面已经安装了一个Nginx和MySQL,跑的是PHP环境,有一个项目正在运行。而我们最新的项目是用Java写的,服务器是用的Tomcat,所以势必需要把Nginx和Tomcat做一次整合,不过目前项目还在开发阶段,我们就先使用Tomcat默认的8080端口,好了,下面就大概你的“终端”(因为我使用的是Mac系统,默认有SSH,如果是Win系统,请选择其他对应的工具,相信G神会帮助你的~~)。

第一步:连接服务器

租用的服务器支持SSH连接,也就是说图形化是与我们无缘,顺便我们也可以享受一下“高手”的感觉
在终端输入如下命令:

复制代码 代码如下:

ssh 服务器IP地址 -l 用户名 

回车之后,屏幕会显示类似如下内容:

复制代码 代码如下:

用户名@服务器IP地址's password: 

在后面直接输入密码就是,为了安全起见,你输入的内容真是看不见的,不要怀疑你的眼睛,不要怀疑你的键盘,也不要怀疑你的手,你就大胆的输入密码吧,请记住,你有三次机会哦~
当你看到如下字样之后,恭喜你,你已经登录到了服务器了,你可以为所欲为了~~哈哈

复制代码 代码如下:

[用户名@服务器IP地址 ~]# 

第二步:卸载Open JDK

Cent OS默认会给我们安装一个Open JDK,可惜我们不领情,为了减少麻烦,我们还是喜欢用Sun的JDK,所以要先把Open JDK给卸载了。
首先我们用下面这条命令查一下我们都安装了什么有关于Java的

复制代码 代码如下:

rpm -qa|grep java 

在我的服务器上返回的信息如下:

复制代码 代码如下:

xmlrpc-javadoc-2.0.1-3jpp.1 
gcc-java-4.1.2-48.el5 
java-1.4.2-gcj-compat-devel-1.4.2.0-40jpp.115 
java-1.4.2-gcj-compat-javadoc-1.4.2.0-40jpp.115 
java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5 
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115 
java-1.4.2-gcj-compat-src-1.4.2.0-40jpp.115 
bsh-javadoc-1.3.0-9jpp.1 
java-1.4.2-gcj-compat-devel-1.4.2.0-40jpp.115 

这个里面我们其实真正要删除的就是java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5和java-1.4.2-gcj-compat-1.4.2.0-40jpp.115就可以了,分别使用如下命令可以搞定:

复制代码 代码如下:

rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5 
rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115 

好,最后我再验证一下,OpenJDK是否真的被卸载干净:

复制代码 代码如下:

java -version 

系统返回如下内容:

复制代码 代码如下:

-bash: /usr/bin/java: No such file or directory 

好了,至此我们已经把Open JDK彻底搞定,这里必须要感谢rpm,省了好多事情~

第三步:获取软件(JDK\Tomcat)

我们分别去Sun的官方和Apache的官网下载JDK和Tomcat到本地的电脑,下载地址如下:
JDK:  http://www.oracle.com/technetwork/java/javase/downloads/jdk6-downloads-1637591.html
              我选择
这个版本,64位的版本,针对rpm的,而且现在的项目也没有用到什么Java7的高级功能,我们就还是老实点儿用JDK6吧。
Tomcat:http://labs.renren.com/apache-mirror/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz
 Tomcat这种解压了就用的绿色软件最好,烦心事少,继续本着老版本文档,过段选择了Tomcat6。
这里我们是把这两个文件单独上传到我另外一个FTP服务器之上,然后使用wget这个工具将两个软件下载到了服务器,wget这个工具是个使用简便功能强大的下载利器,其实我们也可以选择直接从官网上下载,但JDK由于要必须手动同意一个协议,所以当时就一块都使用FTP做中转站了,具体的命令行如下:

复制代码 代码如下:

wget ftp://ftp服务器地址/jdk-6i33-linux-x64-rpm.bin 

复制代码 代码如下:

wget ftp://ftp服务器地址/<span style="font-family:Consolas, Lucida Console, monospace;"><span style="white-space: pre-wrap;">apache-tomcat-6.0.35.tar.gz</span></span> 

这里要特别注意,你是在那个目录里执行的这条命令,文件就会下载在那个目录内。对于Linux不熟的同学,还是需要好好记一下主要的几个文件夹以及用途,以免浪费时间。

第四步:安装JDK

在刚才下载软件的那个目录里直接执行如下命令:

复制代码 代码如下:

./jdk-6u33-linux-x64-rpm.bin 

然后屏幕上会显示进度,完成后,还是测试一下吧,输入:

复制代码 代码如下:

java -version 

如果显示如下内容,恭喜,已经把Java环境搞定了!

复制代码 代码如下:

java version "1.6.0_33" 
Java(TM) SE Runtime Environment (build 1.6.0_33-b03) 
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode) 

第五步: 安装Tomcat安装Tomcat其实相当简单,首先选择一个目录,一般是使用/usr/local目录的,使用cd命令跳转:

复制代码 代码如下:

cd /usr/local 

然后从tomcat的官网上下载到该目录,命令为:

复制代码 代码如下:

wget http://labs.mop.com/apache-mirror/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz 

然后再将这个压缩包文件解压即可

复制代码 代码如下:

tar -zxvf apache-tomcat-6.0.35.tar.gz tomcat 

这个时候使用ls命令就可以看到有一个叫tomcat的目录了。这样tomcat就安装完了,简单吧。启动tomcat也很简单,直接转到tomcat/bin目录,执行:

复制代码 代码如下:

sh statrup.sh 

如果没有报错,恭喜你,这个时候你直接在浏览器输入你的IP(或域名):8080,就可以看到那只三脚猫了。如果你启动出错,或是没有没有看到三脚猫,可能是因为一个配置文件的地方,我当时是修改了/etc/profile文件在最后一行加入了如下内容:

复制代码 代码如下:

export JAVA_HOME=/usr/java/jdk1.6.0_33/ 
export JRE_HOME=/usr/java/jdk1.6.0_33/jre 
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH 
export LASSPATH=.:/usr/java/jdk1.6.0_33/lib:/usr/java/jdk1.6.0_33/jre/lib:$CLASSPATH 
export TOMCAT_HOME=/usr/local/tomcat 

然后回到命令行下,执行:

复制代码 代码如下:

source /etc/profile 

使我们刚才的配置生效,这样你可以再重试一下,应该就可以了,不过一定要注意目录是正确的,一定!

第六步:配置MySQL(针对乱码)

因为我拿到的服务器的时候,MySQL已经是安装好了的,当时本以为是省事了,但后来项目部署上去,英文都没有问题,但是中文都变成了问好,让我十分光火,经过了一番Google以后,再次祭出了,utf-8大法,保证所有的编码全部是utf-8。如果你也遇到了这个问题,相信下面的内容可以帮到你。
1,登陆数据库:

复制代码 代码如下:

mysql -u root -p 

然后输入密码,回车后可以看到如下情况则代表登陆成功:

复制代码 代码如下:

Welcome to the MySQL monitor.  Commands end with ; or \g. 
Your MySQL connection id is 11218 
Server version: 5.0.95 Source distribution 
 
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. 
 
Oracle is a registered trademark of Oracle Corporation and/or its 
affiliates. Other names may be trademarks of their respective 
owners. 
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 
 
mysql> 

2 选择需要更改编码的数据库

复制代码 代码如下:

mysql>use 数据库名称 

3 检查目前的数据库编码情况

复制代码 代码如下:

show variables like "%char%"; 

我的机器上返回的结果如下:

复制代码 代码如下:

+--------------------------+----------------------------+ 
| Variable_name            | Value                      | 
+--------------------------+----------------------------+ 
| character_set_client     | latin1                     |  
| character_set_connection | latin1                     |  
| character_set_database   | utf8                       |  
| character_set_filesystem | binary                     |  
| character_set_results    | latin1                     |  
| character_set_server     | utf8                       |  
| character_set_system     | utf8                       |  
| character_sets_dir       | /usr/share/mysql/charsets/ |  
+--------------------------+----------------------------+ 
8 rows in set (0.00 sec) 

这些属性中,我们的目标其实就是把那些编码全都改为utf-8,而经过我测试下来,其中真正影响的值应该是character_set_database\character_set_server\character_set_system这个三个值,尤其是第一个,如果它不是utf-8,无论再怎么样都是会出现问号的,而像上面这样的结果,中文其实也是显示正常的,这点我自己也觉得挺奇怪的还。
4 将数据库的编码修改为utf-8,执行如下语句

复制代码 代码如下:

mysql>set names utf8; 

特别注意,在MySQL里,utf-8编码中间是没有连接符的,这个特别要注意!
5 退出MySQL

复制代码 代码如下:

mysql>exit; 

6 编辑MySQL的配置文件

复制代码 代码如下:

vim /etc/my.cnf 

7 将配置文件修改成如下情况:

复制代码 代码如下:

[mysqld] 
datadir=/var/mysql 
socket=/var/lib/mysql/mysql.sock 
user=mysql 
default-character-set = utf8 
# Default to using old password format for compatibility with mysql 3.x 
# clients (those using the mysqlclient10 compatibility package). 
old_passwords=1 
 
# Disabling symbolic-links is recommended to prevent assorted security risks; 
# to do so, uncomment this line: 
# symbolic-links=0 
 
[mysqld_safe] 
log-error=/var/log/mysqld.log 
pid-file=/var/run/mysqld/mysqld.pid 

其实就是加了下面这一句:

复制代码 代码如下:

default-character-set = utf8 

8 重启MySQL

复制代码 代码如下:

/etc/init.d/mysqld start 

这样配置下来,数据库乱码问题就可以解决了。
当然数据库乱码也不仅仅是数据库配置问题,还可能由于页面文件本身的编码,页面文件传给程序时的编码等地方需要注意,目前的解决方法其实就是统一成utf-8!
第七步:部署代码
因为我们只跑一个项目,就没有做目录配置,直接将项目文件打包后,解压到tomcat目录下webapps目录下即可。
然后重启一下服务器,搞定!
tomcat的启动命令:

复制代码 代码如下:

sh startup.sh 

tomcat的停止命令:

复制代码 代码如下:

sh shutdown.sh

后记:
其实这篇手记大概6月底就开始写了,当时项目第一次部署到服务器,各种问题搞了两个晚上,各种搜索,但可惜自己的知识管理没有做好,很多很好的信息就这么放过去了,每次遇到相同的问题的时候,都要再重新搜索一次,拼命的想搜索关键字,非常抓狂,这里仅是就当时的部署情况整理了一下。其中错漏之处,欢迎指出!
另外我最近还遇到了两个问题
1 一次部署的时候,停止了tomcat服务器之后,马上就开启了tomcat,然后就报端口占用,后来是采用http://pmfou-site.iteye.com/blog/1484447这里提到的方法:
“我们 ps -ef|grep java
找到所有java进程号
kill -9 进程号
把出现的进程干掉,除了 用户名 XXX XXX 0 20:56 pts/0 00:00:00 grep --color=auto java之外”
但我实际执行的时候呢,每次kill进程又都报没有这个进程,当时是各种重启之后才正常的。
2 后来第二天,服务器经常的就自己down掉了,我就又怀疑是昨天的问题造成的,然后查看log,发现是内存溢出了,其实是因为我自己当时比较懒,把项目备份都做到了webapps,这样每次启动tomcat的时候就会给带起来,然后就会造成内存溢出了,也可能是因为我们的JVM也采用了默认的配置的原因。删除了那些备份之后到目前为止服务器运行正常!!

时间: 2024-10-25 19:57:50

简单记录Cent OS服务器配置JDK+Tomcat+MySQL_Tomcat的相关文章

vmware安装cent os 6.5 + oracle 11g xe + jboss eap 6.2 + weblogic 12c+ webshpere mq 7.5

前言: mac系统发展速度确实很快,短短数年,mac os上已经能网银支付(中行.招行.工商.支付宝等均已全面支持mac os了),windows上的经典常用软件:qq.飞信.旺旺.有道词典.有道云笔记.迅雷.PPS影音.AcdSee,甚至微软自家的office全套都有for mac,今天下定决心把mac机上vmware里的windows 7给"打入冷宫",准备把oracle.nexus.jboss.weblogic 这些跟java开发有端的"重量级"大家伙都放到c

win2003 jsp运行环境架设心得(jdk+tomcat)_win服务器

我的环境是win2003+jdk+tomcat,版本如下 JDK:jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe tomcat: apache-tomcat-6.0.35.exe 我只要这2个软件就可以,都不用创建环境变量什么的,我看过我的环境变量都没有.网络上都是抄来抄去,我这些都是自己实践出来的. 步骤: 1.先装JDK,如装在D:\JDK目录 2.第二再装tomcat,在装tomcat时,会自动找jdk目录,所以我们要先装jdk,不然

docker dockerFile 参数解释,及生成jdk+tomcat镜像实例

Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令.Docker程序将这些Dockerfile指令翻译真正的Linux命令.Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile.Docker程序将读取Dockerfile,根据指令生成定制的image.相比image这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明image是

Cent OS 6.3下安装和配置DHCP中继代理

DHCP 中继代理安装和配置. 实验需求: Linux 操作系统 *2 客户机系统*1 实验思路:咳咳,我用虚拟机做的,资源却不多,用一个centos6.3 一个redhat5.5 一个windowsXP 可爱把,呵呵, 下面是网卡参数 Cent OS 网卡*1 eth0:192.168.1.10 Redhat 网卡*2 eth0:192.168.1.100 eth1:192.168.2.1 windows XP 网卡1 IP 自动获取 视环境而定吧.亲们也可以用真机实验的,桥接VM虚拟网卡也靠

搭建测试项目,提示找不到资源包,新人求指教,JDK+TOMCAT+MYSQL+JAVA WEB项目

问题描述 搭建测试项目,提示找不到资源包,新人求指教,JDK+TOMCAT+MYSQL+JAVA WEB项目 我是把 WEB项目的整个文件夹放到 TOMCAT的WEBAPPS下的 下图为问题的表现: 在点击登录时出现的 下图为登录界面 我在网络上查询,疑似是 资源映射位置错误,但我对着别人的解释逐个对比,没发现哪里错了.死活搭不成功,心塞得厉害 下面是我的资源图 项目文件位置图 登录页面位置图 SERVLET资源映射设置图 SERVLET资源实际位置图 SERVLET资源 的网址映射 还请各位前

如何将JDK,TOMCAT,ORACLE弄成EXE文件安装

问题描述 如何将JDK,TOMCAT,ORACLE弄成EXE文件安装 解决方案 本帖最后由 realman9531 于 2011-03-14 14:32:39 编辑解决方案二:==可怕的问题..说JDK.tomcat就比较棘手...虽然可以实现.又来个oracle==!!!数据库肯定要客户另外安装啊...解决方案三:这...不是都有官方的exe安装包么你还要自己弄干啥解决方案四:项目要做成EXE安装,要先装上这三个环境,才能运行.解决方案五:tomcat和jdk你可以集成打包主流的安装程序制作工

Android简单记录和恢复ListView滚动位置的方法_Android

本文实例讲述了Android简单记录和恢复ListView滚动位置的方法.分享给大家供大家参考,具体如下: 有时候我们需要记录当前ListView滚动到的位置,重新加载的时候要回到原位,不罗嗦,给出代码: //列表滚动 private OnScrollListener ScrollLis = new OnScrollListener() { @Override public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3)

一次$.getJSON不执行的简单记录_jquery

别人的代码,拿过来调,发现修改功能都不能用,修改时通过ajax发json获取数据的,看chrome开发者工具发现有发送数据,也有返回值: 发起请求并获取数据,发现回调函数不执行! $.getJSON(site_url+'?m=test&a=getOne',{id:id},function(d){ if(d.status){ vardata=d.data; $('input[name="id"]').val(data.id); $('input[name="name&q

Centos6.5下Jdk+Tomcat+Mysql环境安装图文教程_java

系统环境:Centos6.5 64位 一. 安装java环境 这里安装的是jdk1.7.60 在/usr/local目录下创建java目录,可到oracle官网或镜像网站下载jdk-7u60-linux-x64.tar.gz,放到/usr/local/java中, cd /usr/local/java,执行解压: tar zxvf  jdk-7u60-linux-x64.tar.gz. 解压完成后配置JAVA_HOME,JAR_HOME环境变量.打开/etc/profile文件,命令:vi /e