使用putty部署远程J2EE环境
以前没弄过,开个帖子记录一下。
基本上要做的就是安装JDK、安装tomcat、安装sql。
1、安装JDK
JDK在本机上,需要传输到远程linux服务器上。为了存放我们上传的文件。打开putty,进入/tmp目录下,新建一个java目录预备使用。
PSCP是PUTTY包里面的一个文件上传工具。之前putty直接双击就可以运行了。pscp怎么双击都没用!好吧……笨拙的搜了一下使用方法,原来要从cmd底下进入到putty所在的目录(从网上下载putty.zip包,然后解压)才行。
把目测要用到的地方都标注了一下。现在来编辑一下命令:
pscp -P 33333 -l root -pw 123456 -2 -4 -v D:\centOS\share\jdk-6u29-linux-i586-rpm.bin 100.100.100.1:/tmp/java
每一个使用到的参数的含义:
pscp pscp指令
-P 33333 端口号)
-l root 登录的用户名
-pw 123456 登录的密码
-2 使用SSH version2.0
-4 使用ipv4
-v 显示详细信息
D:\centOS\share\jdk-6u29-linux-i586-rpm.bin window要上传到linux上的文件
100.100.100.1 linux服务器的地址
/tmp/java 在linux服务器中保存该文件的位置
上传视网速而定,需要一些时间:
等到100%时候就上传完了。
之后我们再进入/tmp/java目录下,ls一下,可以看到刚才上传上来的文件:
先可以开始安装了。不过安装之前要先卸载原来的旧版本。具体可以看【这个教程】。
安装完以后,查看jdk的版本为:
2、安装tomcat
这次我们尝试一下从vmware下给远程linux安装是什么感觉。(不想试的童鞋可以直接按照上一步安装jdk时,用putty下面的PSCP来传,之后在putty下安装即可)
在远程服务器的/tmp目录下先新建一个tomcat目录用来存放等下会穿过了的tomcat安装文件。
在terminal下面输入语句
scp -P 33333 /home/elar/apache-tomcat-7.0.37.tar.gz root@100.100.100.1:/tmp/tomcat/apache-tomcat-7.0.37.tar.gz
然后会提示输入密码。输入密码后就进入文件传输状态了
传完以后我们登录远程服务器。
在vmware的centOS的terminal下输入
ssh -p 33333 root@100.100.100.1
然后安装提示输入密码。登录以后跟之前用putty是一样的。
我们进入/tmp/tomcat目录下,ls一下
可以看到刚才的tomcat文件已经传到linux服务器上了。
现在安装tomcat:
tar -xzvf apache-tomcat-7.0.37.tar.gz
在/usr/local下面新建一个tomcat目录,然后将解压后的目录拷过去
mv apache-tomcat-7.0.37 /usr/local/tomcat
现在我们运行一下tomcat:
cd /usr/local/tomcat/apache-tomcat-7.0.37/bin
sh startup.sh
然后在浏览器里面输入地址100.100.100.1:8080测试是否成功安装tomcat。
(真实IP地址已经隐去,100.100.100.1只是示例地址)
测试结束后,关闭tomcat。
sh shutdown.sh
现在再访问刚才的地址就不行了
3、安装mysql
在网上下载mysql安装包,例子中用的是mysql-5.5.25.tar.gz
按照步骤1中的方法,将安装包上传至远程服务器的/tmp/mysql目录下(新建的mysql目录)
使用putty登录远程服务器。安装mysql。
安装步骤可以参考这篇文章: http://www.linuxidc.com/Linux/2012-12/76945p2.htm
之后有一个初始化数据库的地方 参考文章 http://donex.blog.51cto.com/2005970/834629
4、导入数据库数据
千辛万苦安完并配置完mysql以后就可以试着导入数据了。(先把数据上传到远程服务器上,放在/tmp下,命名为testDB.sql)
不过在此之前,先设定一下putty的字符集,否则会有乱码的问题。设定的方法见此文http://koda.iteye.com/blog/219494
进入mysql
cd /usr/local/mysql/bin
./mysql -u root -p
提示输入密码。
进入mysql的命令行界面后,使用语句
source testDB.sql
导入数据。
使用命令查看导入的数据库。
show databaes;
use testDB;
show tables;
最后,如果数据库中出现中文乱码,那最好设置一下字符集,方法见此贴 http://hi.baidu.com/mydbonline/item/2031d2998c7894dd7b7f01c6
不过要注意一下这句命令“localedef -v -c -i zh_CN -f UTF-8 zh_CN.UTF-8”应去掉“-v”参数,否则会报错。
5、导入webapp
导入之前记得修改一下web项目的数据库连接的用户名和密码,以匹配上远程服务器中设置的mysql用户名和密码。
pscp -P 33333 -l root -pw 123456 -2 -4 -v -r D:\centOS\share\tomcat\wiqun 100.100.100.1:/usr/local/tomcat/apache-tomcat-7.0.37/webapps
如果这个webapp依赖其他的内容,比如图片、视频什么的也要记得上传(不过如何图片视频在别的站点上就不用管了)。
6、测试
测试的时候报了个Unsupported major.minor version 51.0的错。google一下,说是因为开发的JDK版本比服务器上安装的JDK版本高导致的问题。开发版本是1.7的,服务器上安的是1.6的。
这时候有两种方法,一是把发布的版本用1.6的jdk和jre重新编译,二是把服务器上的JDK升级为1.7的。
方法一:
把开发版本从1.7重新编译为1.6。回到win下eclipse中,对项目右键,选择properties,然后进去修改compile的版本:
之后打开cmd,转到maven项目所在的目录下。
使用命令
mvn clean compile
重新编译一下。
然后重新发布到tomcat中
mvn tomcat:redeploy
再把tomcat中新的webapp项目上传到远程服务器上(参照步骤5)
方法2:
把服务器端的JDK升级为1.7。
在网上搜了一下,发现都是安装JDK6的方法。那么就照猫画虎的来卸载一下吧。
rpm -qa | grep jdk
显示
试着卸载一下
rpm -e --nodeps jdk-1.6.0_29-fcs
输入java -version测试一下,显示
似乎好像是卸载掉了。
重新安装一下jdk1.7的,方法参照前面步骤1.
最好是把tomcat也卸载掉,重新安装。
卸载只要remove掉tomcat的那个文件夹就可以了。