本来,我在阿里云上用的是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的主要目的就是能够在windows下远程连接到阿里云,而且是图形界面的连接,这样操作起来对新手可能更加直观,没错,我就是一个新手。
关于xrdp的配置问题,我完全参考了百度经验中的这篇文章Windows 7远程桌面连接Ubuntu 14.04。
首先,打开putty.exe,将阿里云提供的ip地址填入,然后点击open,就可以打开一个远程连接(黑框框版)。
然后登陆名是 root, 密码是 阿里云在安装系统时让你设的那个密码。然后回车,它会提示你连接成功的,大概是如下界面,这就是一个linux的终端。大部分内容完全按照那篇百度经验去做就可以了,这里不详细展开了。
对了,这个drop是每连接一次都会新建一个桌面,如果多次连接的话,会出现很多相同的程序,很占用内存。所以,断开连接时,直接在task manager中kill那个写有分辨率的进程,能节约点内存。这里远程连接,请选择sesman-Xvnc,账号是root,密码同上。
断开连接时,直接找到那个进程,kill掉就好了,能够节约100M以上的内存。但在桌面上运行的程序可能会一并kill掉,这没关系,因为我们大部分的服务是通过终端来启动的。
安装jdk1.8时,我主要参考了这篇博客 ,文章写的挺详细的,大家可以直接跑过去看
总的来说,先在jdk官网下载一个 tar.gz 格式的包,然后解压到 /usr/lib/jvm/
文件夹,然后在/root/.bashrc
文件中添加路径信息。
利用ubuntu14.04 自带的火狐浏览器,搜索jdk,直接下载对应版本的tar.gz
包。
一般选择的都是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的。
在有的系统中会预装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 -version
测试java环境是否配置完成。系统输出如下图就是配置成功。
首先说明,此方法同样适用于其他版本的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中,将解压后的文件夹改名为tomcat8
。
我们在使用的时候只要输入下列语句就可以打开tomcat服务。
/opt/tomcat8/bin/startup.sh
然后在浏览器里输入 http://localhost:8080/
观察是否打开了tomcat的页面,打开了则表明安装成功。
你可以用如下语句来关闭tomcat服务
/opt/tomcat8/bin/shutdown.sh
你可以把war文件放到 webapp文件夹下,那么会自动部署。
为了方便远程部署网页,我推荐你配置下manager页面的账号,这个操作很简单。
打开…/tomcat8/conf
找到tomcat-users.xml
用文本编辑器打开,在
之间添加如下内容
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="tom" password="cat" roles="manager-gui,admin-gui"/>
上面表示,账号是tom ,密码是 cat。
可以设置多个账号密码,只要增加
这行就可以了。
这样后,重新启动tomcat服务,打开http://localhost:8080/manager/html
输入账号密码登陆,进行管理,可以很方便的从远程进行部署war文件。
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" />
然后重新启动即可。
我们上传过一些工程后,肯定是希望别人输入ip地址或域名就能够打开自己的网页。修改默认主页很容易。
直接…/tomcat8/conf
目录下打开server.xml。在其中,找到这样的块
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
……
Host>
在他们中间添加下面这样的内容
"" docBase="ceshi/main/" debug="0"/>
其中docBase
中添加的必须是路径,不要有文件名。这个路径一般是相对…/tomcat8/webapps
的相对路径,可以在里面,也可以在外面。
为了让用户一输入ip或域名就能够访问到我们的主页,我们可以将主页的名字index.html
。
如果文件类型不一样,那么…/tomcat8/conf
目录下,有个web.xml
文件,在它最低端,可以找到如下内容。
file-list>
file>index.html file>
file>index.htm file>
file>index.jsp file>
file-list>
它们表示如下意义,这是tomcat默认的3个文件,当你输入指定路径后,tomcat会自动查找这3个页面。如果你想让tomcat自动找到自己的页面,比如main.jsp。可以修改上面信息为:
file-list>
file>main.jsp file>
file>index.html file>
file>index.htm file>
file>index.jsp file>
file-list>
这样如果你只输入了路径,服务器便会首先寻找该路径是否有这几个文件,如果有,便打开,如果没有,便404 not found 。
关于如何安装mysql 5.7可以看我下篇博客。