之前在做Javaweb项目时,我只负责整个项目的开发,然后导出成war包,直接交给运维人员去部署就完事了。今天脑袋一热,想自己尝试着在阿里云上部署一个war项目。果然各种的坑。。。还好最后成功了,把整个过程记录一下,方便以后使用。本文出处:https://www.cnblogs.com/cnhkzyy/p/9125105.html. 本人按照这个进行部署,大致思路是对的,但是有一些小细节还是要补充一下。另外本人没有用到数据库,留着以后用数据库的时候再挖坑和填坑。
下载xshell和xftp,这个不多说了。然后直接在xshell的命令行中输入 ssh root@后面跟公网ip。回车,再输入密码。如图所示:
这就是登录成功了。再在xshell的菜单栏中点击下图所示的绿色按钮,打开该云服务器对应的xftp,用于将本机传输文件上云用的。
tomcat依赖于java运行环境,所以安装tomcat前必须安装jdk
jdk的官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
提供Oracle账号仅用于jdk 下载:
[email protected]
OracleTest1234
这里我用的是jdk-8u65-linux-x64.tar.gz,安装步骤如下:
在本地解压jdk-8u65-linux-x64.tar.gz,用xftp上传到阿里云环境(其实我个人喜欢拖拽的方式)。上传路径为: /usr/local
赋予jdk目录最高权限,防止权限问题的发生,在xshell中操作如下:
1) 切换到jdk所在的目录:cd /usr/local
2) 赋予jdk目录最高权限: chmod 777 -R jdk1.8.0_65 (注意:-R在这里的意思是递归的修改权限)
配置jdk环境变量
1) 切换到环境变量配置文件所在的目录:cd /etc
2)编辑配置文件profile:vim profile
3) 按键盘上的 i 键进入编辑模式,一直跳到配置文件的末尾
4)配置jdk的环境变量,输入以下内容(直接在末尾复制粘贴)
export JAVA_HOME=/usr/local/jdk1.8.0_65
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
5) 按键盘上的ESC键退出编辑模式,然后输入 :wq,就保存了你刚才设置的环境变量
6) 让你设置的环境变量生效: source profile
tomcat的官网下载地址:http://tomcat.apache.org/ 官网有点慢,有时候还打不开,建议自行百度别人下好的包,然后下载。
这里我用的是apache-tomcat-8.0.37.tar.gz,安装步骤如下:
在本地解压apache-tomcat-8.0.37.tar.gz,上传到阿里云环境的/url/local目录下
启动tomcat
1) 切换到tomcat启动命令所在的bin目录:cd /usr/local/apache-tomcat-8.0.37/bin下
2)执行tomcat启动命令:./startup.sh(或者:sh startup.sh),如截图所示,表示成功了
在执行startup.sh中我遇到这样一个问题,如果上述已经start成功了,这就不用看了
解决方案是:给.sh文件授权,即输入 chmod +x *.sh
,然后再执行startup.sh。如下图所示:
3) 一般tomcat默认端口是8080,我们在浏览器中输入http://公网ip:8080,如果出现下图所示表示tomcat安装已经成功。
这块绝对是大坑,我解决了好久,很少会有人直接能在自己浏览器上运行出tom猫
结合这篇博文,链接: https://blog.csdn.net/weixin_35703883/article/details/80908983 , 另外填了无数坑,才算是把tom猫弄出来。接下来的哪一个步骤都不能少:
如:我要访问的地址是:http://47.94.108.28:8080
排查步骤:
1、本地打开cmd,输入ping 47.94.108.28,该ip地址正常连接;
2、 查看防火墙是否已关闭:sudo ufw status,显示防火墙已关闭(Status: inactive)
3、查看端口8989是否正常监听:netstat -an | grep 8080,显示信息如下,表示该端口被正常监听。
确保上述三步都没问题。其中第2步,若出现ufw命令缺失,使用yum install ufw
进行安装ufw
接下来就是关键了。。。。
在服务器上通过curl http://47.94.108.28:8080,命令,查看在服务器上是否能直接访问tomcat,发现访问不了。。。。
使用ifconfig命令,得到服务器的ip地址(72.16.17.42),然后再使用curl http://172.16.17.42:8080。
这个时候,奇怪的事情发生了,居然访问成功,但是这个ip 在我本地dos窗口是ping不通的。
配置实例安全组步骤如下:
1、进入安全—>防火墙—>添加规则
另外还有一种云是按照上面博文中方法添加安全组规则,我就不在这里写啦。
2、设置防火墙,执行 ufw allow 8080/tcp命令,允许防火墙放过8080端口。
3、 查看8080口段是否正常被监听netstat -an | grep 8080
关闭tomcat sh shutdown.sh
开启tomcat sh startup.sh
这时候在浏览器上就能看到tom猫了。往后部署war就简单了