阿里云服务器部署Java Web项目全过程
最近需要将一个Java Web项目部署到服务器上,方便多人共享访问。这也是我第一次接触服务器之类的东西,也花了一点时间,最终总算部署成功,写下一篇文章记录以便日后回顾。
购买服务器
第一步当然是需要购买一台服务器了,我选择的是阿里云的ECS,对于新用户有一定的优惠活动。服务器徐购好后可以在管理控制台下看到自己服务器的配置情况。我买的是centos7 1核2G的,详情如下:

本地主机连接服务器
购买了服务器之后,下一步当时是要远程操作服务器,所以需要和远程服务器建立连接。这里有两种方式:一种是使用阿里云控制中心自带的管理终端进行远程连接,另一种是使用熟知的ssh协议。
使用管理终端连接
登陆ECS控制台,单击左侧导航栏里的实例,右边有一个远程连接选项

注意第一次登陆时会分配一个密码,将其记住,下次需要用这个密码登陆,登陆后的界面如下所示:

使用ssh连接
windows下需要下载putty工具,需要用puttygen生成密钥对,具体可参见:
https://help.aliyun.com/document_detail/51798.html?spm=5176.doc25425.2.11.Fe06aK

搭建Java Web开发环境
接下来需要在远程centos服务器上搭建Java Web开发环境,这里可以选择镜像部署和手工部署,阿里云上提供了很多相关环境的镜像,我这里使用手动部署的方式自己安装软件。部署Java Web需要分别安装配置jdk、tomcat、mysql,我创建了一个用户,并给该用户授权sudo。在该用户的目录下分布创建java、tomcat和mysql目录用于存放相应的软件和文件。
JDK配置
可以在官网上或使用命令wget下载相应版本的jdk安装包,由于我的本地项目使用的是jdk8,所以这里也下载对应的版本:
wget http://mirrors.linuxeye.com/jdk/jdk-8u144-linux-x64.tar.gz
将其解压到安装目录,我这里是/home/vcc/java
tar xzf jdk-8u144-linux-x64.tar.gz -C /home/vcc/java
设置环境变量:
编辑/etc/profile文件:
sudo vi /etc/profile
进入编辑模式后在最后添加如下信息:
#set java environment
export JAVA_HOME=/home/vcc/java/jdk1.8.0_144
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
保存后退出,加载环境变量:
source /etc/profile
查看jdk版本:

tomcat安装配置
tomcat的安装和jdk类似,需要注意要想在外部使用服务器的ip地址访问,需要在阿里云安全组规则中允许8080端口通过,详情如下:

注意在前面ssh连接中也需要设置安全组规则,配置好,在本机输入ip地址:8080即可访问tomcat页面,表明配置成功,具体可参见阿里云官方文档:
https://help.aliyun.com/document_detail/51376.html?spm=5176.doc52806.6.757.bJq7gM
mysql安装配置
本来想安装mysql5.7的,结果安装过程中总是出现问题,就该换mysql5.6了,安装教程网上应该有很多,这里就不多说了。安装好后运行命令:
service mysqld start
启动mysql后,运行命令:
mysql -u root -p
使用root用户登陆mysql。
部署Java Web项目
我需要将本地的Java Web工程打包成war,以及将数据库导出至sql文件一并上传到服务器上。这里可以使用pscp工具进行本地主机和服务器之间文件的上传和下载,需要下载pscp并和putty放在同一目录下,cmd进入到putty目录,使用命令:
pscp E:\data.sql root@ip地址:/home/vcc/mysql
将项目的war包放到tomcat的webapps目录下,tomcat运行后会自动将其解压,然后就可以使用路径来访问了。
对于数据库的导入,需要在mysql命令下先创建同名的数据库,然后使用source data.sql运行即可。这里要注意需要将MySQL客户端和服务器端的编码都设置为utf8,否则在部署访问的时候会出现问题。这里可以通过修改/etc/my.cnf文件:

在本机上成功访问项目:

阿里云服务器部署Java Web项目全过程的更多相关文章
- 记录第一次阿里云服务器部署java web工程的经历
起因:测试一个微信小程序,发现所有的请求要求为https的形式,开发工具忽略后手机无法测试,故尝试配置. 准备:阿里云服务器一台 域名一个(解析在服务器) tomcat7.0.54 j ...
- 阿里云服务器购买 发布web项目全过程
http://blog.csdn.net/liona_koukou/article/details/50496946
- 阿里云Ubuntu部署java web - 文件夹
文件夹(点击章节标题阅读): 阿里云Ubuntu部署java web(1) - 系统配置 ssh链接server(使用终端远程链接) 加入用户 给用户赋予运 ...
- Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)
最近接外包,需要部署服务器,便是参考了网上的几篇博文,成功在阿里云服务器成功部署了Spring Boot项目,特记下本篇笔记 Spring Boot项目打包 这里说一下部署的一些问题 1.mysql驱 ...
- 阿里云Ubuntu部署java web(2) - 配置tomcat
系统版本号:Ubuntu12.04 64位 安装: 首先要安装java(測试时使用的版本号是6b27-1.12.6-1ubuntu0.12.04.2).版本号可自行选择,但不同版本号配置方法可能不同. ...
- 阿里云Ubuntu部署java web(1) - 系统配置
系统版本号:ubuntu 12.04 64位 ssh链接服务器(使用终端远程链接): ssh -l username IP地址 假设出现相似例如以下错误: @ WARNING: REMOTE H ...
- 阿里云部署Java web项目初体验(转)
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在 ...
- 阿里云部署Java web项目初体验(转)/linux 上配置jdk和安装tomcat
摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在阿里云上部署Java web项目. 一.准备工作 购买了阿里云的云解析,和云服务器ecs. 2.下载put ...
- 阿里云部署Java web项目
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在 ...
随机推荐
- OAuth2.0记录
阮一峰老师讲解OAuth2.0 http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 举例详解: https://www.cnblogs.com/ ...
- iOS----------面试常问
1.valueForKey 和 valueForKeyPath的区别是什么?
- C++11新特性之tie、tuple的应用
//tuplestd::tuple<int, int, int, int, QString> Thorface::getUserInfoToJudgeOpendoor(QString st ...
- (四)图数据neo4j用户管理
1.用户管理 neo4j可通过内置函数,进行用户的创建.查看.删除. (1)用户创建; CALL dbms.security.createUser(name,password,requridchang ...
- 【工具篇】Sublime Text 2 安装汉化破解、插件包安装教程详解
Sublime Text概述: Sublime Text是一个代码编辑器,也是HTML和散文先进的文本编辑器. 漂亮的用户界面和非凡的功能,例如:迷你地图,多选择,Python插件,代码段等等. 完全 ...
- 使用 Parallels Destop 最小化安装 centOS 操作系统
1. 环境准备 macOS 操作系统 Parallels Destop 13 CentOS 7.6 Minimal ISO 镜像文件 2. 新建操作系统 选择下载好的 CentosOS 7.6 即 C ...
- java集合常见面试题
1. Array和ArrayList的区别,什么时候更合适用Array a) Array是数组,可以容纳基本类型和对象,而ArrayList是集合,只能容纳对象 b) Array是 ...
- [JLOI2016] 成绩比较
推石子 首先设\(d[i]=\sum_{t=1}^{U[i]}t^{n-R[i]}(U[i]-t)^{R[i]-1}\),即第\(i\)门课程分数的合法分布方案数: 然后设\(f[i,j]\)表示前\ ...
- Python基础(文件操作)
文件读取: #文件读取方式一 f=open("a.txt","r+",encoding="utf8") data=f.read() prin ...
- Java泛型的重要目的:别让猫别站在狗队里
<Java编程思想>第四版足足用了75页来讲泛型——厚厚的一沓内容,很容易让人头大——但其实根本不用这么多,只需要一句话:我是一个泛型队列,狗可以站进来,猫也可以站进来,但最好不要既站猫, ...