目前提供IDC服务的厂商真的是五花八门,但是更正服务到位的却为数不多,出于时间考虑还是建议选用Windows,至少安装开发环境会方便得多,不会耗费太长时间。一般而言Java开发环境主要就是中间件、JDK、数据库三大部分,下面开始分享我的部署心得。
一 安装Linux版本的jdk
Linux的安装并不复杂,令人烦恼的是下载jdk那种乌龟般的连接速度,还有登录等乱七八糟的麻烦事,至于jdk强烈建议下载rpm或者bin文件,这两种文件安装起来特别简单,如果系统不支持rpm文件就选择bin文件,一个简单的sh命令就搞定了。
为了排除干扰建议先卸载掉本身自带的openjdk,如果不存在就可以省略这个步骤。
先查看 rpm -qa | grep java
显示如下信息:
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
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
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
还有一些其他的命令
rpm -qa | grep gcj
rpm -qa | grep jdk
如果出现找不到openjdk source的话,那么还可以这样卸载
yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
yum -y remove java java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
1 安装jdk
安装jdk真的超级简单,先进入下载好的jdk所在目录,使用命令给文件授权
chmod +x 你的jdk文件名
输入 ./jdk文件名.bin ,不用一分钟jdk就安装好了
2 将该目录拷贝到/usr/local(改步骤可选)
安装之后为了管理方便,可以把安装目录复制到/usr/local下面,命令如下
cp 原安装目录 /usr/local/jdk6
3 配置环境变量(很关键)
首先使用vi命令编辑profile,命令为vim /etc/profile;
在文件的最后面追加如下内容,目录根据实际情况修改
export JAVA_HOME=/usr/local/jdk6
export JAVA_BIN=/usr/local/6/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
4 重启linux
reboot
二 安装tomcat
这个步骤就是把linux版本的tomcat上传到服务器上,还是建议删掉原先自带的,因为原生的太难用了,把war包放到webapps下面,建议使用apache-tomcat-6.0.29这个版本,这个版本太好用了
三 安装mongodb或者mysql
1 解决奇葩mysql的相关问题
(1) 出现异常说方言没配置
这种情况在jpa开发的项目中较为常见,解决方式很简单,只需把方言配置上去就ok了
<bean
>
<property ref="dataSource" />
<property>
<bean>
<property value="false" />
</bean>
</property>
<property>
<props>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
</props>
</property>
</bean>
(2)数据库连接不上
这个问题好排除,基本都是url有问题、用户名或者密码不对,还有就是缺少数据库驱动jar包
(3) 数据库表名不正常
这个就真的是奇葩了,大致上出现这种情况的几率比较小,因此网上很难找到解决方法,我也是找了好久才找到的,解决方法就是在mysqld节点下面加一个配置
lower_case_table_names=1
这种情况经常出现在window上的项目移植到linux上,正常情况下使用hibernat或者jpa之后自动生成的表默认名称和实体类的类名相同,如果之前数据库的表名全是小写的,只要项目启动,数据库又会按jpa或hibernate规范生成一堆新表,导致程序出错。
常用的mysql配置文件:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
default-character-set=utf8
lower_case_table_names=1
[client]
password=gtyiaJB8R
port=3306
socket=/var/lib/mysql/mysql.sock
default-character-set = utf8
# Disabling symbolic-links is recommended to prevent assorted security risks
#symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set = utf8
(4)mongodb的启动/停止方式
mongodb和mysql又有所不同,主要是在数据库的启动上,mongodb弄成前台启动当然不合适,只能用后台进程的方式启动
./mongod --dbpath=你的mongdb数据所在目录 --fork --logpath=/data/log/mongodb.log
如果要停止mongodb建议使用:
use admin
db.shutdownServer();
这些问题是不是够奇葩,解决了这些问题真是让我学到不少。