在阿里云Ubuntu上搭建Tomcat 8.0x

渊源

本来,我在阿里云上用的是windows server 2008系统,机器类型是个学生机(单核处理器、1G内存、40G硬盘)。光放一个tomcat,内存占用在600Mb-700Mb之间,倒也能够吃得消。 但我最近突然想做个带数据库的网页了呀……装了mysql server,完蛋,内存占用800Mb以上,然后tomcat就因为内存的原因,经常卡掉…… 而我在偶然的机会,发现ubuntu占用内存非常小,于是产生了想要将他换成ubuntu的冲动。此时ubuntu的最新版本已经是16了,而阿里云的最新版只有14.04,尴尬的我只能选择14.04。 很快更尴尬的事情发生了,ubuntu14.04 市场里的jdk版本为1.7;市场里的tomcat版本为7;mysql版本是5.5。这我就不开心了,这我图啥呀!当然,本文讲述的就是如何解决这样的问题,不介意的话,可以直接安装 jdk1.7 和 tomcat7 。

概述

为了方便操作,首先我先配置了xrdp,做到可以用图形界面来远程访问,当然,直接用阿里云建议的 putty.exe也可以做,只是你可能会不太清楚文件在什么路径,会比较尴尬。

随后,我首先安装了jdk 1.8_111,然后安装了tomcat 8.0.39。 后来还配置了mysql 5.7。本篇博客大致讲述这几个方面内容。想快速阅读所需的内容直接跳转到相应的地方就可以了,嘿嘿。

配置XRDP(图形界面远程桌面)

配置xrdp的主要目的就是能够在windows下远程连接到阿里云,而且是图形界面的连接,这样操作起来对新手可能更加直观,没错,我就是一个新手。 关于xrdp的配置问题,我完全参考了百度经验中的这篇文章Windows 7远程桌面连接Ubuntu 14.04

首先,打开putty.exe,将阿里云提供的ip地址填入,然后点击open,就可以打开一个远程连接(黑框框版)。 putty.exe

然后登陆名是 root, 密码是 阿里云在安装系统时让你设的那个密码。然后回车,它会提示你连接成功的,大概是如下界面,这就是一个linux的终端。大部分内容完全按照那篇百度经验去做就可以了,这里不详细展开了。 连接成功

对了,这个drop是每连接一次都会新建一个桌面,如果多次连接的话,会出现很多相同的程序,很占用内存。所以,断开连接时,直接在task manager中kill那个写有分辨率的进程,能节约点内存。这里远程连接,请选择sesman-Xvnc,账号是root,密码同上。 远程连接界面

断开连接时,直接找到那个进程,kill掉就好了,能够节约100M以上的内存。但在桌面上运行的程序可能会一并kill掉,这没关系,因为我们大部分的服务是通过终端来启动的。 kill

安装jdk 1.8_111

安装jdk1.8时,我主要参考了这篇博客 ,文章写的挺详细的,大家可以直接跑过去看

总的来说,先在jdk官网下载一个 tar.gz 格式的包,然后解压到 /usr/lib/jvm/ 文件夹,然后在/root/.bashrc 文件中添加路径信息。

下载

利用ubuntu14.04 自带的火狐浏览器,搜索jdk,直接下载对应版本的tar.gz 包。 下载jdk

一般选择的都是x64版,如果你的系统是32位的,请选择x86。

解压

召唤出终端窗口,利用cd /root/Downloads/将目录转移到下载目录,然后用解压语句,将它解压到/usr/lib/jvm 目录。

sudo tar zxvf ./jdk-8u5-linux-x64.tar.gz  -C /usr/lib/jvm  

root用户不需要写前边的sudo。

设置环境变量

主要是修改 ~/.bashrc 在阿里云里目录一般是/root/.bashrc 。我们可以直接找到目录右键打开进行修改,也可以用bash进行修改。

nano /root/.bshrc  

就可以直接修改,改完后,ctrl + o ,然后回车确定输出文件位置,ctrl + x ,关闭编辑器即可。

export JAVA_HOME=/usr/lib/jvm/jdk1.8_0_111  
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=${JAVA_HOME}/bin:$PATH  

其中 JAVA_HOME是你解压了jdk所在的文件夹。 保存完成之后呢,使用source /root/.bashrc 来使环境变量生效。

配置默认JDK版本

此情况针对之前安装过jdk的,或是系统自带jdk的。 在有的系统中会预装OpenJDK,系统默认使用的是这个,而不是刚才装的。所以这一步是通知系统使用Oracle的JDK,非OpenJDK。

lxh@ubuntu:~$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-8/bin/java 300  
lxh@ubuntu:~$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-8/bin/javac 300  
lxh@ubuntu:~$ sudo update-alternatives --config java  

选择默认的java

测试验证

在控制台里java -version 测试java环境是否配置完成。系统输出如下图就是配置成功。 java

安装 TOMCAT8

首先说明,此方法同样适用于其他版本的tomcat! 首先我们在tomcat的官网上下载tar.gz 压缩包。选择核心版本的压缩包。我选择的是 apache-tomcat-8.0.39.tar.gz 下载安装包

召唤出终端窗口,利用cd /root/Downloads/将目录转移到下载目录,然后用解压语句,将它解压到/opt 目录。

sudo tar zxvf ./apache-tomcat-8.0.39.tar.gz  -C /opt/  

root用户不需要写前边的sudo。

为了方便操作,我在file manager中,将解压后的文件夹改名为tomcat8tomcat

我们在使用的时候只要输入下列语句就可以打开tomcat服务。

  /opt/tomcat8/bin/startup.sh

然后在浏览器里输入 http://localhost:8080/ 观察是否打开了tomcat的页面,打开了则表明安装成功。

你可以用如下语句来关闭tomcat服务

/opt/tomcat8/bin/shutdown.sh

设置管理员账号

你可以把war文件放到 webapp文件夹下,那么会自动部署。 为了方便远程部署网页,我推荐你配置下manager页面的账号,这个操作很简单。

打开…/tomcat8/conf 找到tomcat-users.xml 用文本编辑器打开,在<tomcat-users></tomcat-users> 之间添加如下内容

<role rolename="manager-gui"/>  
<role rolename="admin-gui"/>  
<user username="tom" password="cat" roles="manager-gui,admin-gui"/>  

上面表示,账号是tom ,密码是 cat。 可以设置多个账号密码,只要增加<user /> 这行就可以了。 添加

这样后,重新启动tomcat服务,打开http://localhost:8080/manager/html 输入账号密码登陆,进行管理,可以很方便的从远程进行部署war文件。 tomcat管理界面

修改为80端口号

ubuntu下 tomcat 修改为80端口好像比较复杂,因为ubuntu默认停掉了1024以下的端口,需要手动进行管理。但使用root账号的不用那么麻烦。
直接…/tomcat8/conf 目录下打开server.xml。在其中,找到这样的块

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

将他修改为如下

    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" />

然后重新启动即可。

修改tomcat默认主页

我们上传过一些工程后,肯定是希望别人输入ip地址或域名就能够打开自己的网页。修改默认主页很容易。 直接…/tomcat8/conf 目录下打开server.xml。在其中,找到这样的块

<Host name="localhost" appBase="webapps"  
       unpackWARs="true" autoDeploy="true">
    ……
</Host>  

在他们中间添加下面这样的内容

<Context path="" docBase="ceshi/main/" debug="0"/>  

其中docBase 中添加的必须是路径,不要有文件名。这个路径一般是相对…/tomcat8/webapps 的相对路径,可以在里面,也可以在外面。 为了让用户一输入ip或域名就能够访问到我们的主页,我们可以将主页的名字index.html设置默认根目录

如果文件类型不一样,那么…/tomcat8/conf 目录下,有个web.xml 文件,在它最低端,可以找到如下内容。

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

它们表示如下意义,这是tomcat默认的3个文件,当你输入指定路径后,tomcat会自动查找这3个页面。如果你想让tomcat自动找到自己的页面,比如main.jsp。可以修改上面信息为:

    <welcome-file-list>
        <welcome-file>main.jsp</welcome-file>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

这样如果你只输入了路径,服务器便会首先寻找该路径是否有这几个文件,如果有,便打开,如果没有,便404 not found 。

关于如何安装mysql 5.7可以看我下篇博客。

江超群

河海大学学生,参与过第五届中国软件杯大学生软件设计大赛,第三届全国高校云计算大赛等比赛,获得国家奖学金等多项荣誉。

Chang Zhou, China http://mcoder.cc

Subscribe to CG-HHU

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!