使用Java+Tomcat搭建远端服务器

前言

上一篇介绍了京东云主机的登录和简单的静态网页配置。

这一篇主要讲述服务器开发环境的配置和部署。

首先,实现服务器开发的语言特别多:Java、PHP、Node.JS、Python等。

这里我选择的是Java+Tomcat+IDEA。

所以本篇文章是围绕着这三者展开的。

并且我们的服务器系统是:Ubuntu 16.04 64。 没看上一篇的看官需要了解。

环境配置

Java环境配置

首先我们先输入用户名密码登录我们的服务器:

登录成功

接下来,我们先删除之前下载的apache2,这里我们已经用不到了:

sudo apt-get remove apache2

现在我们开始下载JDK,先切换目录:

cd /usr/local/

下载JDK:

sudo wget http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz

这个http链接对应的是写本篇文章时,最新版本的JDK地址。

下载完成后,将其解压:

tar -xvzf jdk-8u144-linux-x64.tar.gz

解压完成后,删除压缩包:

rm jdk-8u144-linux-x64.tar.gz

到这里,下载步骤就算完成了,接着开始环境变量的配置:

vim /etc/profile

Vim是Linux文件编辑模式,该命令会打开文件并可进行编辑。

该命令的功能非常强大,如果之前你没有见过该命令,这次可以先稍微了解一下。

如果非要现在学习vim,可以参考此文。

这里我简单介绍一下该命令。

Vim命令有三种模式:普通模式、编辑模式、命令模式。

顾名思义,想要编辑必须进入编辑模式,想要进行保存或是退出就要进入命令模式,平时浏览时处于普通模式即可。

这里我们以刚才执行的命令开始进行讲解。

在执行完vim /etc/profile后,会打开/etc/profile文件,此时默认处于普通模式。

我们只需一直往下滑动,或是使用Ctrl+F/D,滑动到文件底部。

接着将光标移动至内容的最下方,点击i/c/o进入编辑模式,复制以下内容:

JAVA_HOME=/usr/local/jdk1.8.0_144
JAVA_BIN=/usr/local/jdk1.8.0_144/bin
JRE_HOME=/usr/local/jdk1.8.0_144/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JAVA_BIN JRE_HOME PATH CLASSPATH

如果各位看官修改了安装路径,这里注意要匹配。

复制完成后,点击Esc,即可退出编辑模式。

接着输入冒号(Shift+;),进入命令模式。

输入wq,然后回车,进行文件的保存并退出Vim模式。

至此,Java的环境变量应该已经配置成功,使用命令来刷新环境:

source /etc/profile

接着输入:

java -version

如果效果如下:

Java环境测试

代表环境变量已经配置成功。

如果失败,请检查环境变量的路径是否正确,或是JDK是否安装成功。

Tomcat环境配置

cd /usr/local/

下载Tomcat压缩包:

sudo wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.20/bin/apache-tomcat-8.5.20.tar.gz

该包的版本是Tomcat8.5.20,如果不适合你,可以去Tomcat下载页自行选择。

接着进行解压:

tar zxvf apache-tomcat-8.5.20.tar.gz

解压完成后,这个文件的名字也太长了,我们重命名一下:

mv apache-tomcat-8.5.20 /usr/local/tomcat

接着拷贝catalina.sh

cp -p /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat

开始配置环境:

vim /etc/init.d/tomcat

操作方式和之前描述的一样,在开头直接添加以下内容:

JAVA_HOME=/usr/local/jdk1.8.0_144
CATALINA_HOME=/usr/local/tomcat

chmod 755 /etc/init.d/tomcat
chkconfig --add tomcat
chkconfig tomcat on

至此,Tomcat的环境变量配置工作,已经完成。

下面我们来启动Tomcat:

service tomcat start

验证启动是否成功:

ps -ef|grep tomcat

如果输出内容如下,则代表启动成功:


Tomcat启动成功

如果输出内容如下,则代表失败:


Tomcat启动失败

启动失败的原因基本上都是因为环境配置的问题,请仔细检查路径配置。

启动成功后,在浏览器输入IP://8080,比如:

116.196.93.148:8080

即可看到如下效果:


Tomcat运行效果

有些人说,我不想输入端口号,怎么办?

vim /usr/local/tomcat/conf/server.xml

执行上述命令打开Tomcat的配置文件,找到如下内容:

server修改端口号

进入编辑模式将port 改为 80 即可。

如果你还买了域名,想要监听域名,找到如下内容:

server修改默认地址

进入编辑模式将name改为自己的域名即可。

修改完成后进入命令模式输入wq保存并退出。

接着重启Tomcat:

service tomcat stop
service tomcat start

之后再访问的话,就不用带端口号了。

如果你修改了Host-name,记得使用你修改的域名。

至此,我们服务器的环境搭建工作就告一段落了。

HelloWeb

接下来我们就要开始开发我们的Web项目了!

这里我下载了IntelliJ IDEA作为我的开发软件。

这里注意要下载商业版,也就是Ultimate版。

Community版是不支持Web开发的。

下载完成后,我们需要为本机也装上Java和Tomcat。

接着我们就可以开始开发HelloWorld了!

具体的下载和开发流程,我这里就不介绍了,参考此文

我就是按照一步一步来进行开发的。

按照上述步骤开发完成后,我们的HelloWorld就已经在本机完成了。

效果如下:

localhost:8080

接着我们要将该项目部署到我们自己的服务器上,让所有人都可以访问!

最基本的方法就是将项目达成War包,将War包上传至Linux服务器的Tomcat/webapps文件夹中。

之后在访问时,Tomcat会自动将War包进行解压。

传输的方法,可以参考上次说到的Mac向服务器上传文件

Windows的话可以使用Xshell。

这里我们就不做过多介绍了,因为这种方式明显过于繁琐,每次修改项目都要重新生成War包并上传服务器。

我希望我们可以像是在本机调试一样,修改完成后点击运行就可以看到效果。

这就是我们接下来要做的事情。

Hello 热部署

我们首先登录自己的Linux服务器,切换到自己的Tomcat的bin目录下:

 cd /usr/local/tomcat/bin/

接下来打开VIM模式,开始编辑catalina.sh文件:

vim catalina.sh

在文件的100行,也就是# OS specific support. $var _must_ be set to either true or false.之上,添加如下代码:

export CATALINA_OPTS="-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=9999 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 
-Djava.rmi.server.hostname=116.196.93.148"

export JAVA_OPTS="-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"

其中要注意的是,hostname为自己的IP地址,两个port设置为和本机不冲突的端口号即可,注意此端口号不是Tomcat的访问端口,要进行区分,比如我设置的就是9999,你也可以选择使用它。

添加修改完成后保存退出,接下来要对自己的IP地址进行映射。先查看自己的用户名:

uname -n

将显示出来的用户名进行复制。

接下来打开hosts文件:

 vim /etc/hosts

添加如下代码:

127.0.1.1      复制的用户名
::1     复制的用户名

注意不用删除和注释其他映射,只需添加即可。

映射完成后,我们需要重启Tomcat:

service tomcat stop

执行完后请确认是否关闭成功:

ps -ef|grep tomcat

如果输出

Tomcat关闭失败

则代表关闭失败,执行下句命令强制关闭:

//port为端口号,像上述图片中,端口为2392
kill -9 port

接下来启动Tomcat,因为我们修改了catalina.sh,所以我们不能使用startup.sh来启动Tomcat,需使用:

//注意此时的目录还是在Tomcat/bin目录下
// > /dev/null 2>&1 &  的含义是不显示启动日志
sh catalina.sh run > /dev/null 2>&1 &

确认启动成功:

ps -ef|grep tomcat

启动成功后,我们Linux服务器的配置就结束了!

我们回到IDEA中,进行IDEA的配置。

首先打开Configurations:

Configurations

接着创建远端Tomcat:

创建远端Tomcat

接着开始进行远端Tomcat的配置:

远端Tomcat配置

SFTP协议配置:

SFTP协议配置

接着添加部署项目:

添加项目

点击OK进行保存,接着我们选择使用远端Tomcat来部署并运行项目:

运行项目

如果出现以下效果:

运行失败

代表连接远端失败,请仔细检查你的配置,此过程比较耗时。

运行成功Log如下:

成功Log

效果如下:

成功效果

注意上图访问的IP,是我们Linux服务器的地址,也就代表我们成功将项目部署到了我们的服务器上。

接着我们修改index.jsp,再次运行项目:

热部署效果

可以看到我们修改的效果已经成功部署到服务器中。

上文中的IP就是我的服务器IP,大家也可以访问的。

总结

至此,我们已经成功使用IDEA+Tomcat+Java实现了项目的开发以及热部署。

接下来就比较自由了,自己的项目就由自己去写了。

可以搭建个人博客,可以搭建资源共享网页等等。

各有各的风格,大家可以自行学习后台开发,搭建过程就不准备再写博客了。

碰巧今天是七夕节,今天看文章的人都是敬业的程序员!

噗哈哈哈,祝大家七夕节开心快乐!

感谢

搭建JDK+Tomcat

Mac向服务器上传文件

idea部署项目到远程tomcat

Linux VIM命令使用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容