Java 8
由于Ubuntu 14.04 LTS 下本来是没有 oracle-java8-installer
这个包的,所以需要先将这些包的信息先导入,以便apt-get
来安装。
先将含有相关包的一个清单导入,这个清单里面有我们需要的包的信息。
$ sudo add-apt-repository ppa:webupd8team/java
然后更新一下包列表。
$ sudo apt-get update
接下来在 apt-get 的 install 列表里就有了我们需要的Java 8 的安装包了。
$ sudo apt-get install oracle-java8-installer
注意这里有个图形界面的安装程序,选择 [OK] -> [Yes]
,然后静候安装完毕即可。
Tomcat 7
$ sudo apt-get install tomcat7
Tomcat是以服务的形式运行的。
装完以后先不急着启动,先编辑一下配置:
$ sudo vim /etc/default/tomcat7
找到里面第12行,这里是一个被注释掉的JAVA_HOME(把#去掉可以解除注释)。
然后用这个替换:
JAVA_HOME=/usr/lib/jvm/java-8-oracle
这就告诉了Tomcat,Java的目录在哪里。无须在全局中配置JAVA_HOME环境变量了。
启动Tomcat7 服务:
$ sudo service tomcat7 start
这个时候可以打开http://localhost:8080/
看一下,应该会出现 “It works!” 的页面。
如果出现了那个页面,说明Tomcat7安装并基本配置成功了。
注意:由于某些不知名的BUG,由service命令启动tomcat7会提示失败(fail),但tomcat7进程会被成功打开,监听8080端口。因此不能用service命令关闭tomcat7,也就没有办法用service命令重启tomcat7。
如果确实出现如上情况,service tomcat7 restart
的替代方案是用ps -aux
找到tomcat7那个进程的ID(PID),然后用sudo kill PID
命令杀掉tomcat7进程,再使用sudo service tomcat7 start
来启动 tomcat7。
GUI Manager
为了开发方便,需要为Tomcat安装一个插件,动态地加载我们的应用。
$ sudo apt-get install tomcat7-admin
$ sudo service tomcat7 restart
这个时候访问http://localhost:8080/manager
就会要求账号、密码来登录管理界面了。
然而这个时候我们还没有账号、密码,需要配置一下:
$ sudo vim /etc/tomcat7/tomcat-users.xml
在里面我们可以看到<tomcat-users>...</tomcat-users>
这样一个结构。
这个结构内部定义了若干用户组、与若干用户。
在这个结构内插入:
<user username="tomcat" password="s3cret" roles="manager-gui,admin-gui"/>
username、password域可以任意设置。
保存以后记得重启tomcat。
$ sudo service tomcat7 restart
接下来访问:
http://localhost:8080/manager/
来管理应用挂载。http://localhost:8080/host-manager/
来管理虚拟主机。
一个Tomcat 监听一个端口;其中管理若干个虚拟主机,每一个虚拟主机对应一个域名(最基本的是localhost域名,也可以将自己买的域名解析到这台服务器并给它分配一个新的虚拟主机);每一个虚拟主机下面可以挂若干应用。
如果没有自己的域名的话,用最基础的localhost
即可,/host-manager/
应用就不用管了。
这个Web页面可以动态地安装、启动、停止、重启、卸载应用,还是十分好用的,如果你看得懂日文=w=。
导入工作目录
当配置完成后,准备将自己的工作目录链接到tomcat。
比如自己代码所在目录为~/workspace/MyApp/
,而Tomcat识别的默认目录是 /var/lib/tomcat7/webapps/
每次要把代码拷贝过去显然不现实。
在Linux下可以使用软链接来实现将一个目录同步到另外一个位置(实际上是加了一个指针)。
$ sudo ln -s ~/workspace/MyApp/ /var/lib/tomcat7/webapps/MyApp
这样在/var/lib/tomcat7/webapps/
下就会多出来一个MyApp
文件夹,其实它是一个链接指向~/workspace/MyApp/
,但是Tomcat可以识别它。
于是你就可以通过访问http://localhost:8080/MyApp
来访问MyApp
了。
如果你发现它404了,并且
http://localhost:8080/MyApp/WebContent/
是可以访问的,那么说明你的软链接有问题,应该改成:sudo ln -s ~/workspace/MyApp/WebContent/ /var/lib/tomcat7/webapps/MyApp
。
注意如果提示软链接已经存在,先删掉原来的软链接即可:sudo rm /var/lib/tomcat7/webapps/MyApp
。