linux下安装jdk+tomcat+eclipse+mysql
这个星期一部门老大忽然冒出一句:“小祝,你对linux怎么样啊,用过没?”,于是俺就老实的回答:“在学校的时候自己学习过一点点”。然后然后……没有下文了,不知道老大是什么意思?好吧,想想自己作为一个研发人员,如果哪天忽然有需求要在linux下做开发,难不成还要别人帮我搭配开发环境吗?(是不是有点想多了啊,windows都没有玩转就想到linux,是不是我有点……想太多,哈哈),于是决定自己利用下班业余时间就试着去搭建作为一个Java程序员的开发环境啦。。。。。不多说了,action
我的环境:主机是win7的,虚拟机是VWare Workstation 6.0 ,linux系统为Red Hat Enterprise Linux 5 64位
各软件版本:jdk是jdk-6u35-linux-x64.bin,tomcat是apache-tomcat-6.0.35.tar.gz,数据库为mysql是mysql-5.5.27-linux2.6-x86_64.tar.gz,eclipse是eclipse-jee-juno-linux-gtk-x86_64.tar.gz(各个软件的下载地址这里就不列出来了,看官们自己百度或谷歌下吧)
好了,软件现在已经准备好。接下来就是安装了。首先我们要让虚拟机中的linux系统能够找到windows7中的各个软件(当然了,如果在虚拟机中装linux系统已经配置了上网的环境,那么也可以进入linux的桌面操作系统通过浏览器去下载各个软件直接到linux系统中)即把各个软件如何挂载到linux系统中。
首先我们可以建一个文件夹(随便命名,我的是叫linuxsoft),把上面的jdk、tomcat、mysql、eclipse放到该文件下。具体操作如下图所示:
点击添加后有操作向导,按照操作向导操作完之后在点击ok按钮就使得我们可以在linux访问主机系统中的linuxsoft文件夹了啊。我们可以在linux的控制台输入下面命令来查看是否已经挂载上:cd /mnt/hgfs/linuxsfot(这里的linuxsoft请替换成各位看官们自己再windows系统创建的文件名),回车,然后再输入:ls -l 是不是已经看到了呢?哈哈哈
一、装jdk
第一步:复制文件到linux系统中
linux的控制台输入:cd /mnt/hgfs/linuxsoft ,然后输入:cp jdk-6u34-linux-i586.bin /home(ps:jdk-6u35-linux-x64.bin这个文件名好长啊,一个个输入那不要死人啊,告诉一个小技巧,我们先输入jdk然后按tab键就会自动补全的哟!呵呵),当然如果你想一步把所有的文件都复制到linux系统中去。那么也可以这样:cd /mnt/hgfs,然后再cp -r linuxsoft /home(如果文件多的话,可能要点时间复制哟,不愿等的话还是一个个复制得了,反正利用tab补全命令输入也好快啊!)完了之后我们都可以进入cd /home然后ls 一下查看是不是已经真的复制进去了。
第二步:解压安装jdk
对于bin这样的后缀文件,在linux系统控制台输入:./jdk-6u34-linux-i586.bin (当然这里这样输入的前提是我们已经进入到了home目录下,我们可以用pwd命令查看当前我们在什么路径下)敲回车就是一堆一堆的信息,这些我们都可以不用管。解压安装后之后进入输入状态说明已经ok了。紧接着我们再输入:mv XXXXXXXXXXXXXXXX(表示各个软件解压安装后的文件名) XXXX(新的好记的对应文件名,如: java、tomcat、mysql、eclipse),这个主要是修改文件名方便我们修改path值啊、相关配置文件啊等等,毕竟老长的文件名确实看着也不舒服。
第三步:配置环境变量
配置环境变量有下面三种方法,对于第一种配置时全局配置,必须以root用户登录才可以修改配置。配置完之后不管事哪一个用户登录了都可以使用该java
1. 修改/etc/profile文件
如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。 ·用文本编辑器打开/etc/profile(命令:vi /etc/profile),打开之后按i键进入编辑状态 ·在profile文件末尾加入: JAVA_HOME=/home/java PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME PATH CLASSPATH 添加完成后按esc键然后再按“:”在“:”输入wq(保存并推出vi编辑器的意思)。 ·重新登录(一定要记得重新登录,不然不会生效)第一步:复制文件
请参考安装jdk的第一步
第二步:解压安装
对于".tar.gz"的文件,linux中使用tar来解压缩
我们先进入到home目录下,然后输入 : tar -zxvf apache-tomcat-6.0.35.tar.gz 敲回车后又是一堆一堆的信息不停的闪啊,不管,如果要我们敲y/n的我们敲y就是了(如果我们再windows下安装程序要点击同意或者不同意之类的,当然点击同意对吧,不点同意人家怎么敢让你继续安装啊,呵呵)
改文件名跟jdk一样,输入:mv apache-tomcat-6.0.35.tar.gz tomcat
第三步:配置环境变量
同jdk的环境变量一样,配置之后的文件内容应该如下:
JAVA_HOME=/home/java
TOMCAT_HOME=/home/tomcat
PATH=$PATH:$JAVA_HOME/bin:$TOMCAT_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME TOMCAT_HOME PATH CLASSPATH保存推出
jdk和tomcat配置文件如下图所示:
第四步:启动tomcat
进入tomcat的bin目录,ls -l之后我们会发现以下文件
输入:sh startup.sh
再输入 netstat /nat查看端口号
启动之后我们也可以进入桌面应用程序下(利用startx命令就可以进入)打开浏览器查看是否可以看到那只可爱的猫
看到了没啊??
ps:关于tomcat添加用户名跟密码,我们也可以进入这样,在控制台输入:cd /home/tomcat/conf,然后ls -l一下找到tomcat-user.xml,然后vitomcat-user.xml添加一个用户名和密码(添加用户也是利用vi命令,跟前面安装jdk配置path环境变量是一样的步骤啊!),比如添加之后我的该文件如下
至此tomcat也安装好了。
三、安装eclipse
第一步:复制文件
请参考安装jdk的第一步复制文件
第二步:解压安装
请参考安装tomcat第二步解压安装
第三步:启动eclipse
首先我们得先进入桌面应用程序(我们不可能在控制台使用eclipse,因为eclipse本来就是图形化的程序。哪天要是有牛人开发出来,即使开发出来也没有人用估计,因为我们用eclipse开发就是为了加快项目开发,在控制台下???那岂不是拖慢开发进度啊?)进入到eclipse目录中,在控制台输入:eclipse。
注意:由于我之前下载的jdk版本是1.6的32位的,导致启动eclipse时报错,报错信息大致如下:JVM terminated. Exit code=13
百度了一下,这样的问题大致可以分以下几种情况解决:
1、版本不对
输入java -version确定安装的版本。本文的错误不是这个原因,因为安装的是1.6的2、安装的位数不对(本文刚好是这个原因引起的) 本文的eclipse是64位的,而安装的jdk却是32位的,所以要把jdk换成64位的即可3、启动eclipse的时候该eclipse依赖的jdk不是我们自己安装的 因为许多linux系统会自动jdk。此时我们可以通过 which java来查看我们linux系统上到底有几个jdk,再通过查看eclipse的错误提醒看是否依赖我们安装的jdk,如果不是,我们可以通过 eclipse -vm XXXXXXX/bin(我们自己安装java的路径)如果在控制台直接输入:./eclipse我们将看到下面这种情况:
再用vi打开那个日志文件如下:
!SESSION 2012-09-01 00:14:07.716 -----------------------------------------------eclipse.buildId=unknownjava.version=1.6.0_35java.vendor=Sun Microsystems Inc.BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_USFramework arguments: -product org.eclipse.epp.package.jee.productCommand-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.jee.product!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2012-09-01 00:14:18.049!MESSAGE FrameworkEvent ERROR!STACK 0org.osgi.framework.BundleException: The bundle "org.eclipse.equinox.p2.reconciler.dropins_1.1.200.v20120301-2145 [305]" could not be resolved. Reason: Missing Constraint: Require-Bundle: org.eclipse.equinox.p2.touchpoint.eclipse; bundle-version="1.0.0"at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:1332)at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolutionFailureException(AbstractBundle.java:1316)at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:323)at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1177)at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)!ENTRY org.eclipse.osgi 4 0 2012-09-01 00:14:18.606!MESSAGE Application error!STACK 1org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]at org.eclipse.swt.SWT.error(SWT.java:4387)at org.eclipse.swt.widgets.Display.createDisplay(Display.java:913)at org.eclipse.swt.widgets.Display.create(Display.java:899)at org.eclipse.swt.graphics.Device.<init>(Device.java:156)at org.eclipse.swt.widgets.Display.<init>(Display.java:497)at org.eclipse.swt.widgets.Display.<init>(Display.java:488)at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:666)at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:154)at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:96)at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)at org.eclipse.equinox.launcher.Main.run(Main.java:1438)at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
重点是那些个swt、ui看到了没???说明控制台这样打开是不行滴,必须进入到桌面应用程序才能打开!
赶紧试下吧!
四、安装mysql
作为一个程序员,其实对于数据库之类的安装优化管理,在稍微正规点的公司我们都不需要去做,因为会有专门的人去管理数据库。我们在程序中只需要连接ip地址、用户名、密码就可以了。而且,在linux中,数据库的安全优化是一个比较大的研究方向。这里只是说下大概的安装,对于安装后数据库的安全以及优化各位看官们可以自己再找找相关方面的资料。
第一步:复制文件
第二步:解压缩安装
这两步请参考前面安装tomcat的步骤
第三步:创建用户和用户组
groupadd mysql //添加用户组 useradd -r -g mysql admin //在用户组中添加用户名
第四步:修改文件权限
[root@localhost ~]# cd /usr/local/mysql [root@localhost mysql]# chown -R root:mysql . //把当前目录中所有文件的所有者所有者设为root,所属组为mysql,请注意末尾的“.”
第五步:初始化数据库
./scrips/mysql_install_db -user=admin
第五步:配置环境变量
[root@localhost ~]# vi /root/profile在PATH=$PATH:$JAVA_HOME/bin添加参数为:PATH=$PATH:$JAVA_HOME/bin:/home/mysql/bin:/home/mysql/lib
保存退出
第六步:手动启动mysql
查看是否该进程已经启动:
看到mysqld说明已经正确启动了。
第七步:进入mysql
好了,至此mysql也安装好了啊。
后注:1、这里用admin账号进入mysql的时候并没有输入密码。
我们可以这样修改密码:bin/mysqladmin -uadmin password 123 (设置mysql的admin用户密码为123456)
进入mysql的时候我们可以这样进入:mysql -p123
2、我们这里启动时手动启动,为了方便的话我们可以设置开机自启动该进程。
cp /home/mysql/share/mysql/mysql.server /etc/init.d/mysqld ,对于mysql.server文件,有的系统是是在/home/mysql/support-files/mysql.server中。
3、如果要在程序中使用mysql数据库,还需要相关的驱动包,这个跟windows是一样的,相信大家都知道的。
终于写完了,由于我也是个小菜鸟,文中可能会有些不足的地方,希望大家能提出来一起学习一起进步!