最近需要将一个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项目全过程的更多相关文章

  1. 记录第一次阿里云服务器部署java web工程的经历

    起因:测试一个微信小程序,发现所有的请求要求为https的形式,开发工具忽略后手机无法测试,故尝试配置. 准备:阿里云服务器一台 域名一个(解析在服务器)     tomcat7.0.54     j ...

  2. 阿里云服务器购买 发布web项目全过程

    http://blog.csdn.net/liona_koukou/article/details/50496946

  3. 阿里云Ubuntu部署java web - 文件夹

    文件夹(点击章节标题阅读): 阿里云Ubuntu部署java web(1) - 系统配置         ssh链接server(使用终端远程链接)        加入用户        给用户赋予运 ...

  4. Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

    最近接外包,需要部署服务器,便是参考了网上的几篇博文,成功在阿里云服务器成功部署了Spring Boot项目,特记下本篇笔记 Spring Boot项目打包 这里说一下部署的一些问题 1.mysql驱 ...

  5. 阿里云Ubuntu部署java web(2) - 配置tomcat

    系统版本号:Ubuntu12.04 64位 安装: 首先要安装java(測试时使用的版本号是6b27-1.12.6-1ubuntu0.12.04.2).版本号可自行选择,但不同版本号配置方法可能不同. ...

  6. 阿里云Ubuntu部署java web(1) - 系统配置

    系统版本号:ubuntu 12.04 64位 ssh链接服务器(使用终端远程链接): ssh -l username IP地址 假设出现相似例如以下错误: @    WARNING: REMOTE H ...

  7. 阿里云部署Java web项目初体验(转)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在 ...

  8. 阿里云部署Java web项目初体验(转)/linux 上配置jdk和安装tomcat

    摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在阿里云上部署Java web项目. 一.准备工作 购买了阿里云的云解析,和云服务器ecs. 2.下载put ...

  9. 阿里云部署Java web项目

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在 ...

随机推荐

  1. DSAPI显示PNG异形窗体

    使用DSAPI实现PNG异形窗体,注意,该窗体为层样式窗体,以PNG或32位带透明通道的图像合成到屏幕,此方法不会触发窗体的重绘,故原窗体(包括其子控件)均不会显示,如果需要更新画面,需要重新用代码等 ...

  2. Hystrix源码解析

    1. Hystrix源码解析 1.1. @HystrixCommand原理 直接通过Aspect切面来做的 1.2. feign hystrix原理 它的本质原理就是对HystrixCommand的动 ...

  3. Odoo开源ERP:功能模块操作-销售功能篇

    客户基础资料 1. 所有的客户基础资料,智云ERP开账启用时,期初的客户数据如果大于200条,可以批量导入: 2. 点“销售/订单/客户”菜单可以查看.编辑修改.搜索所有的客户基础资料: 3. 多层级 ...

  4. Flutter 即学即用系列博客——07 RenderFlex overflowed 引发的思考

    背景 在进行 Flutter UI 开发的时候,控制台报出了下面错误: flutter: ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY >╞════════ ...

  5. DataPipeline | PayPal庞姬桦:大数据在小微企业贷款上的运用

    庞姬桦女士毕业于北京大学和美国哥伦比亚大学,目前担任PayPal公司消费者风险管理总监,负责通过大数据实现对互联网金融风险的侦测.跟踪.管控和防范.在加入PayPal之前,曾任职于渣打银行(中国)和美 ...

  6. SqlServer中用SQL语句附加数据库及修改数据库逻辑文件名

    --查询数据库逻辑文件名 USE 数据库名 SELECT FILE_NAME(1) --查询数据库逻辑文件名(日志) USE 数据库名 SELECT FILE_NAME(2) --附加数据库 sp_a ...

  7. 主机与虚拟机都可以上网,但是互相ping不通

    问题:主机与虚拟机都可以上网,但是互相ping不通  可能:相关入站规则没有启用  解决:第4步双击后,打勾设置“已启用” 

  8. decorator(修饰器)的业务应用

    decrator(修饰器)的业务应用 ES6问世的时间也不短了,而且很多时候对ES6所谓的"熟练应用"基本还停留在下面的几种api应用: const/let 箭头函数 Promis ...

  9. 【机器学习】--LDA初始和应用

    一.前述 LDA是一种 非监督机器学习 技术,可以用来识别大规模文档集(document collection)或语料库(corpus)中潜藏的主题信息.它采用了词袋(bag of words)的方法 ...

  10. tcc分布式事务框架解析

    前言碎语 楼主之前推荐过2pc的分布式事务框架LCN.今天来详细聊聊TCC事务协议. 2pc实现:https://github.com/codingapi/tx-lcn tcc实现:https://g ...