如何在阿里云上部署war包到tomcat服务器
一. 准备工作:xshell和xftp
首先我们得确保,xshell能够远程连接阿里云ECS,xftp能够保证windows和linux之间的文件传输(当然也可以选择FileZilla,但xftp感觉更好用一些)
如何配置xshell和xftp:
- 名称:自定义
协议和端口号:xshell默认是SSH协议,端口号是22,xftp是FTP协议,端口号是21,但是我用FTP协议连接阿里云,总是连接不上,所以把协议换成SFTP,端口号换成22,就可以连上,所以建议这种情况下,填成SFTP协议
- 登录名和密码:登录名是一般是root,密码是你自己设置的密码


注意:如果此时遇到无法登陆的问题,可能是端口引起的,无外乎两种情况,一种是你本地的防火墙,一种是阿里云的安全组规则,对于本地防火墙,新建入站规则里允许该端口通过,阿里云上也需要配置一下入方向的规则:

二. jdk的安装
tomcat依赖于java运行环境,所以安装tomcat前必须安装jdk
jdk的官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
这里我用的是jdk-8u65-linux-x64.tar.gz,安装步骤如下:
1. 在本地解压jdk-8u65-linux-x64.tar.gz,用xftp上传到阿里云环境。上传路径为: /usr/local

2. 赋予jdk目录最高权限,防止权限问题的发生,在xshell中操作如下:
1) 切换到jdk所在的目录:cd /usr/local
2) 赋予jdk目录最高权限: chmod 777 -R jdk1.8.0_65 (注意:-R在这里的意思是递归的修改权限)
3. 配置jdk环境变量
1) 切换到环境变量配置文件所在的目录:cd /etc
2) 编辑配置文件profile:vim profile
3) 按键盘上的 i 键进入编辑模式,一直跳到配置文件的末尾
4) 配置jdk的环境变量,输入以下内容
export JAVA_HOME=/usr/local/jdk1.8.0_65 (这就是你的jdk的安装路径,我是放在/usr/local下的)
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
4. 检查jdk是否安装配置成功,输入 java -version,看到如下jdk版本的截图,就说明成功了!

三. tomcat的安装
tomcat的官网下载地址:http://tomcat.apache.org/
这里我用的是apache-tomcat-6.0.37.tar.gz,安装步骤如下:
1. 在本地解压apache-tomcat-6.0.37.tar.gz,上传到阿里云环境的/url/local目录下
2. 启动tomcat
1) 切换到tomcat启动命令所在的bin目录:cd /usr/local/apache-tomcat-6.0.37/bin下
2) 执行tomcat启动命令:./startup.sh,如截图所示,表示成功了

3) 一般tomcat默认端口是8080,我们在浏览器中输入http://公网ip:8080,如果出现下图所示表示tomcat安装已经成功

四. mysql/MariaDB的安装
mysql的官网下载地址:https://www.mysql.com/downloads/
由于Centos7中已经用mysql的一个分支MariaDB取代了mysql(具体原因参见知乎),所以系统版本是Centos7就要安装MariaDB而非mysql
1. 首先,得确保你的阿里云的服务器版本,在命令行输入:lsb_release -a,我的明显是Centos7

2. 创建MariaDB.repo文件:vim /etc/yum.repos.d/MariaDB.repo,实际上是创建一个网络yum源
3. 按键盘 i 键进入编辑模式,插入以下内容:
# MariaDB -- : UTC # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=
4. 按键盘 ESC 键退出编辑模式,输入 :wq 保存退出
5. 运行命令安装MariaDB:yum -y install MariaDB-server MariaDB-client
6. 通过systemctl start mariadb来启动MariaDB服务
附录:MariaDB启动停止常用命令 systemctl start mariadb #启动服务 systemctl enable mariadb #设置开机启动 systemctl restart mariadb #重新启动 systemctl stop mariadb.service #停止服务
7. 使用mysql -u root登录到MariaDB,默认密码是空的,如下截图表示登录成功

五. 利用Navicat连接MariaDB数据库
我在连接时出现两个问题:
1. 1130- Host xxx.xxx.xxx.xxx is not allowed to connect to this MariaDB server

这个问题按照以下步骤解决:
1) 在命令行登录MariaDB数据库,输入命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '您的数据库密码' WITH GRANT OPTION;
2) 再刷新一下权限:flush privileges;
2. 1045-Access denied for user 'root@xxx.xxx.xxx.xxx'(using password: NO)

这个问题是因为我们没有给数据库设置登录密码,设置一下就好了
1) 输入命令:update mysql.user set password=PASSWORD('你的密码') where user='root';
2) 再刷新一下:flush privileges;
解决了这些问题后,我们的MariaDB数据库就可以正常连接了

六. 部署war包到tomcat服务器
1. 把jdbc.properties、log4j.properties这两个文件通过xftp上传到阿里云环境,上传路径为:/url/local/apache-tomcat-6.0.37/conf
2. 把war包通过xftp上传到/url/local/apache-tomcat-6.0.37/webapps下
3. 进入tomcat启动命令所在的bin目录:cd /usr/local/apache-tomcat-6.0.37/bin
4. 启动tomcat: ./startup.sh
5. 启动后,会在/usr/local/apache-tomcat-6.0.37/webapps目录下生成一个futureloan的目录
6. 修改配置文件
1) 千万要记住,不要去/futureloan/conf下修改jdbc.properties文件的配置,一定要去tomcat的/apache-tomcat-7.0.88/conf下去修改jdbc.properties文件
2) 通过vim修改jdbc.properties配置文件,只需修改三项
- url:填你的公网ip
- username:你的MariaDB数据库登录名
- password:你的MariaDB数据库密码

3) 按ESC退出编辑模式,输入 :wq 保存退出
4)重启tomcat服务器,执行命令:
/usr/local/apache-tomcat-6.0.37/bin/shutdown.sh 关闭tomcat
/usr/local/apache-tomcat-6.0.37/bin/startup.sh 启动tomcat
七. 验证接口地址
如下所示,说明已经部署成功了。

参考文章:
如何在阿里云上部署war包到tomcat服务器的更多相关文章
- 如何在windows上部署war包到tomcat服务器
一. 什么是war包 WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将很多文件组合成一个压缩文件.war专用在web方面,一个war包可以理解为一个web项 ...
- 在腾讯云&阿里云上部署JavaWeb项目(Tomcat+MySQL)
之前做项目都是在本地跑,最近遇到需要在在云服务器(阿里云或者腾讯云都可以,差不多)上部署Java Web项目的问题,一路上遇到了好多坑,在成功部署上去之后写一下部署的步骤与过程,一是帮助自己总结记忆, ...
- 部署war包到tomcat服务器
1.首先通过eclipse的maven install生成项目的war包 2.然后把war包解压到tomcat目录下的webapps目录下 3.然后运行tomcat下的bin目录下的startup.b ...
- 阿里云上部署了zabbix,突然无法收到报警邮件的解决办法
在阿里云上部署了zabbix,一直能正常接收到zbx发来的报警邮件(报警邮箱是163的),不知是什么原因,突然无法接收到报警邮件了. 但在服务器上手动执行echo "hello"| ...
- Springboot解决war包放到Tomcat服务器上404的特殊情况
Springboot解决war包放到Tomcat服务器上404的特殊情况 原文链接:https://www.cnblogs.com/blog5277/p/9330577.html 原文作者:博客园-- ...
- linux系统部署war包,查看tomcat日志
1.部署war包app/tomcat/bin在tomcat/bin 目录下启动 .startup.sh,在启动过程中tomcat会对war包进行解压,形成相应的项目目录 执行命令:./startup. ...
- jenkins+maven+svn构建项目,及远程部署war包到tomcat上
要使用jenkins构建项目,当然要使用jenkins了,我使用的war版本的jenkins jenkins的官网 http://jenkins-ci.org/ 点击latest下载,但是可能因为天朝 ...
- 第二章 部署war包到tomcat
以turbine为例. 一.部署 1.下载或者生成war包(从maven上下载war包,并改名字为turbine.war) 2.将turbine.war拷贝到$TOMCAT_HOME/webapps中 ...
- 持续集成之Jenkins自动部署war包到远程服务器
一.无war包链接的情况 无war包链接时,需先下载war包到本地,然后执行: ---------------------------------------------以下部分为转载-------- ...
随机推荐
- Java你不知道的那些事儿—Java隐藏特性
转载自:http://www.cnblogs.com/lanxuezaipiao/p/3460373.html 每 种语言都很强大,不管你是像我一样的初学者还是有过N年项目经验的大神,总会有你不知道的 ...
- 二值法方法综述及matlab程序
在某些图像处理当中一个关键步是二值法,二值化一方面能够去除冗余信息,另一方面也会使有效信息丢失.所以有效的二值化算法是后续的处理的基础.比如对于想要最大限度的保留下面图的中文字,以便后续的定位处理. ...
- 异常:System.Runtime.InteropServices.Marshal.GetTypeFromCLSID(System.Guid)
异常:System.Runtime.InteropServices.Marshal.GetTypeFromCLSID(System.Guid) 原因:该引用所需.NET Framework版本为4.5 ...
- active scaffold
模板文件路径:/.rvm/gems/ruby-2.2.3/gems/active_scaffold-3.5.3/app/views/active_scaffold_overrides
- 转:APDU命令格式
CLA INS P1 P2 Lc Data Le 其中CLA为指令类别:INS为指令码:P1.P2为参数:Lc为Data的长度:Le为希望响应时回答的数据字节数,0表最大可能长度. 一 ...
- 013_HDFS文件合并上传putmarge功能(类似于hadoop fs -getmerge)
场景 合并小文件,存放到HDFS上.例如,当需要分析来自许多服务器的Apache日志时,各个日志文件可能比较小,然而Hadoop更合适处理大文件,效率会更高,此时就需要合并分散的文件.如果先将所有文件 ...
- CSS 命名里面有大学问
其实迟迟不敢开始写关于样式里布局方面的心得, 因为大多数人眼中,哪需要管那么多,只需要最终效果达到了就行了呗. 然而,即使是如今国内外顶级大牛也不敢说自己是个优秀的 CSS 工程师. 一般大公司都是 ...
- linux设备驱动归纳总结(六):1.中断的实现
linux设备驱动归纳总结(六):1.中断的实现 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
- 【Flask】Sqlalchemy 外键
### 外键:使用SQLAlchemy创建外键非常简单.在从表中增加一个字段,指定这个字段外键的是哪个表的哪个字段就可以了.从表中外键的字段,必须和父表的主键字段类型保持一致.示例代码如下: from ...
- Python编程-异常处理
一.错误和异常 1.程序中难免出现错误,而错误分成两种 (1)语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #语法错误示范一 if #语法错误示范二 def t ...