之前做项目都是在本地跑,最近遇到需要在在云服务器(阿里云或者腾讯云都可以,差不多)上部署Java Web项目的问题,一路上遇到了好多坑,在成功部署上去之后写一下部署的步骤与过程,一是帮助自己总结记忆,二是希望能帮到有同样需求的小伙伴。话不多说,下面开始。

首先,我的Java Web项目是一个很简单的学生管理系统(相信很多人都做过吧,挺简单的),基于Tomcat和MySQL,所以这次在云服务器上部署也是基于这两个的,在开始之前,你本地首先要有一个能跑起来的项目,例如下面这样:

在有了本地项目之后,下面就是开始部署了。

  1. 第一步,你需要购买一个云服务器

    腾讯云或者阿里云都可以这两个在国内都不错,阿里云可能更好一些(虽然我用的是腾讯云2333),如果你是学生的话,购买还有学生优惠,每个月只要10元钱差不多,这里是腾讯云学生优惠地址阿里云学生优惠地址

    在你购买了你想要的服务器后,就可以进入控制台查看你购买的服务器了,我购买的云主机的系统的Ubuntu,当然选择其他系统也可以,比如听说比较火的CentOS:

    在上图中,就可以看到云服务器的详细信息了,并且腾讯云或者阿里云会给每个云服务器提供一个公网IP和内网IP(比如我的公网IP就是123.207.64.17),当你把项目部署到云服务时,其他人就可以通过公网IP来访问,在购买了之后,一般服务器就会自动开始运行,你可以在本地打开CMD命令行,输入ping 你的公网IP来测试是否可以访问,如果出现下面的提示,就说明可以访问:

    在购买了云服务后,你需要设置你云服务器的用户名和登录密码,就相当于你打开本地电脑还需要用户名和密码一样(登录名一般都是它提供好的,比如腾讯云Ubuntu就默认是ubuntu,阿里云CentOS默认是root),之后你就可以在下面的步骤中,通过用户名和密码来登录你的云服务器。

  2. 第二步,本地下载安装WinSCPPuTTY

    WinSCP 是一个 Windows 环境下使用的 SSH 的开源图形化 SFTP 客户端。同时支持 SCP 协议。它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。说白了就是可以在你本地计算机和云服务器之间传输文件的东西,可以让你把本地项目放到云服务器上面去。WinSCP界面如下:

    在第一张图中,你需要选择SCP协议,主机名就是腾讯云或阿里云给你提供的公网IP,端口号选择22,用户名密码就是你上一步中设置的用户名和密码,之后点击登录就可以,登录成功后就是第二张图,分为左右两栏,左边是你本地计算机,右边是云服务的目录,把左边的文件往右边拖就是上传到云服务器,从右边往左边拖动文件就是从云服务器下载到本地。

    PuTTY是一个用来远程管理云服务器的东西,类似于一个远程Linux终端,可以进行各种命令行操作,项目的部署大部分操作都是通过这个软件进行的。

  3. 在第一张图中,HostName就是公网IP,端口号选择22,协议选择SSH,在SaveSessions里面给你的这个会话起个名字比如我的TencentWebServer,点击Sava保存,然后Open(之后再次登录时就可以直接双击保存过的那个名字就行了),登录成功后在终端输入用户名密码就是第二张图中的样子。

  4. 第三步,云服务器上安装jdk,Tomcat,MySQL

    在上面的步骤完成后,接下来就是安装配置服务器上的项目环境了,因为我部署的这个项目是基于Java+Tomcat+MySQL的,所以需要安装上面那几个。

    在进行下面的步骤之前,先更新源

    sudo apt-get update

    • 云服务器安装jdk

      在网上搜了好久,很多都很麻烦,其实可直接一条命令搞定,直接在PuTTY终端里面输入

      sudo apt-get install openjdk-8-jdk

      (我安装的是jdk8,你也可以安装别的版本,和你本地项目用的版本一样就行),之后也不用配置环境变量(虽然我看到有的博客里写要配置环境变量),之后通过

      java

      javac

      这两个命令来测试是否安装成功了即可:

      如果下面出现一大堆选项,就说明成功了。

      其他一些参考:Ubuntu下安装最新OpenJdk1.8Ubuntu16.04 安装openjdk-7-jdk

    • 云服务器安装Tomcat

      安装Tomcat有好多种方式,可以在本地去Tomcat官网下载再用WinSCP上传到云服务器上,也可以直接在云服务器上命令行下载,本地下载再上传比较简单,就不多说了,说说用命令行操作。我是通过wget命令来下载的,在终端输入

      wget https://www.apache.org/dist/tomcat/tomcat-8/v8.5.35/bin/apache-tomcat-8.5.35.tar.gz

      然而由于众所周知的原因,在国内直接从官网下载速度很慢,推荐用国内镜像,国内有很多镜像(例如,清华镜像站华科镜像站),我用的是清华的镜像,所以命令变为

      wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.35/bin/apache-tomcat-8.5.35.tar.gz

      下载完之后你就可以在你输入命令时所在的路径下找到下载好的压缩包,你可以使用pwd命令来查看当前的路径,

      执行解压命令:

      sudo tar -xvzf apache-tomcat-8.5.35.tar.gz

      解压之后是个文件夹,可以将这个文件夹移到其他位置,我是在usr目录下新建了个Tomcat目录,之后放了进去。

      命令行进入apache-tomcat-8.5.35目录下的bin目录,执行ls命令,可以看到下面这些文件:

      有时候进入bin目录会提示没有权限Permission denied,这时可以获取root权限,之后再进入,就可以看到里面的文件了。这里面有两个会比较经常用到,分别是“startup.sh”和“shutdown.sh”,分别用来开启Tomcat服务和关闭。 执行

      ./startup.sh

      这样就是开启Tomcat服务了,这时候你在浏览器地址栏输入http://你的公网IP:8080(比如我的就是http://123.207.64.17:8080)就可以看到Tomcat服务的初始界面:

      如果你看到了这个界面,Tomcat服务就算是成功开启了,之后想要关闭可以执行./shutdown.sh

      有的人在这里可能会遇到一些问题,就是命令行中以及显示Tomcat started,但是在浏览器中还是访问不了页面,那么可能是因为你的云服务的端口没有开放,需要去云服务器安全组中设置访问规则。

      腾讯云:进入控制台 → 选择左边侧栏的安全组 → 点击新建 → 如下图所示配置即可

      阿里云:进入控制台 → 选择左边侧栏的安全组 → 配置规则 → 快速创建规则 → 如下图所示配置即可

      其他一些参考:Linux Ubuntu 安装Tomcat

    • 云服务器安装MySQL

      Ubuntu上安装MySQL其实挺简单的,只需要下面几条命令:

      sudo apt-get install mysql-server
      

        

      sudo apt-get isntall mysql-client
      

        

      sudo apt-get install libmysqlclient-dev

      在执行完毕之后,就会安装,安装过程可能会提示让设置MySQL登录密码什么的,这个密码就是你Java Web项目里连接数据库时用到的密码,在安装完之后,可以通过下面这个命令来检查是否安装成功

      sudo netstat -tap | grep mysql

      如果出现下面的,就表示成功了,MySQL的socket处于listen状态

      这个时候MySQL服务已经启动了(如果之后需要开启或关闭的话可以用service mysql startservice mysql stop)然后你需要在命令行登录MySQL,可以用下面的命令来登录

      mysql -u root -p
      

        

      之后用 show databases; 就可以看到你的数据库了,可以看到图中,student这个数据库就是我新建的用来存放学生管理系统这个项目的数据库。之后,你需要新建你的JavaWeb项目所需的数据库。

  5. 第四步,将JavaWeb项目打包成war包

    在上面几个步骤都完成之后,就只需要把本地项目放上去就可以了,首先需要将项目打包成war包,我使用的IDE是IntelliJ IDEA,打包其实很简单,这里就不再说了(其实是打字打累了233333),给几个我当时参考的链接吧:

    Idea将javaweb项目打包成war包并部署到服务器的Tomcat上

    将javaweb项目打成war包,

    使用IneliJ IDEA 2016将Java Web项目导出为War包

    在打包完成之后,使用WinSCP服务器图形化文件管理工具,把这个war包拖拽到云服务器的tomcat/webapps/目录下,之后重启Tomcat(先./shutdown.sh./startup.sh),之后这个war包就会自动解压好了,如下图:

    有时候可能会出现访问时没有权限的问题,无法进入那个文件夹,如下图:

    这时候可以退出WinSCP,重新登录,在登录时点进去高级选项,按照下图设置即可:

  6. 第五步,在浏览器输入url访问你的Java Web项目

    如果上面几部都成功的话,现在你就可以在浏览器中访问你部署在云服务器上的项目了,在浏览器地址栏中输入http://公网IP:8080/项目路径,其中项目路径一般就是你放入tomcat/webapps/下面解压后的文件夹名,比如我的就是http://123.207.64.17:8080/StudentManager/

经过上面几个步骤,我们就成功地把基于Tomcat和MySQL的Java Web项目部署到的云服务器上。如果你按照上面的步骤来做遇到了什么问题,欢迎在下面留言交流。

在腾讯云&阿里云上部署JavaWeb项目(Tomcat+MySQL)的更多相关文章

  1. 阿里云esc服务器上部署java项目

    文章中使用centos(6和7版本).Xshell.Xftp 因为部署过程直接从操作服务器开始,如果你还没有连接好服务器请参考http://blog.csdn.net/ctrlxv/article/d ...

  2. 阿里云服务器上部署java项目(安装mysql)

    安装mysql步骤如下: 1.安装MySQL官方的yum repository: wget -i -c http://dev.mysql.com/get/mysql57-community-relea ...

  3. 基于阿里云服务器Linux系统部署JavaWeb项目

    前段时间刚完成一个JavaWeb项目,想着怎么部署到服务器上,边学边做,花了点时间终于成功部署了,这里总结记录一下过程中所遇到的问题及解决方法.之所以选择阿里云,考虑到它是使用用户最多也是最广泛的云服 ...

  4. ubuntu16.04环境下在docker上部署javaweb项目简单案例

    因为一些原因,接触到了docker,经过一番研究,总算是有了一些自己的看法,有什么不对的地方,希望多多指教. 废话不多说,首先我这里使用的虚拟机安装的是ubuntu16.04版本,其他版本应该也可以. ...

  5. centos服务器上部署javaweb项目(转)

    本文总体参照http://blog.csdn.net/u011019141(然后更据自己情况进行更改) 一.安装JDK 1.首先要查看服务器的系统版本,是32位还是64位 #getconf LONG_ ...

  6. 零基础在Linux服务器上部署javaweb项目

    本教程使用的工具下载链接:http://pan.baidu.com/s/1sl1qz2P 密码:43pj 一.安装JDK 1.首先要查看服务器的系统版本,是32位还是64位 #getconf LONG ...

  7. linux上部署javaWeb项目

    将web项目打成war包,上传到Linux操作系统tomcat安装目录下的webapps下即可!

  8. 如何在阿里云linux上部署java项目

      前2天把git练了下,敲了很多命令,也借助图形界面增强自己的理解,乘着余热把linux在熟悉下.然后想起以前婷主有让我帮忙搭建的阿里云服务器,所以就想自己试着在阿里云的linux上搭建自己的jav ...

  9. 在nginx上部署vue项目(history模式);

    在nginx上部署vue项目(history模式): vue-router 默认是hash模式,使用url的hash来模拟一个完整的url,当url改变的时候,页面不会重新加载.但是如果我们不想has ...

随机推荐

  1. 通过JSP网页连接MySQL数据库,从MySQL数据库中读出一张表并显示在JSP网页中

    1.安装所需软件 ①安装java和tomcat,建立JSP网页最基础的软件②安装MySQL数据库(下载地址:https://www.mysql.com/)③安装Navicat Premium来查看数据 ...

  2. <<Linux kernel development>> Process Management

    The Process On modern operating systems,processes provide two virtualizations:a virtualized processo ...

  3. linux简单的安全防护

    注: 1.该脚本是以centos7.4.1708做的 2.函数jia/jian是加权限/减权限 3.改过密码以后,下次使用新创建的用户登录时将提示更改密码,第一次要输入原始的密码,原始密码改脚本中定义 ...

  4. javascript-mqtt

    js client使用paho-mqtt,官网地址:http://www.eclipse.org/paho/,参考http://www.eclipse.org/paho/clients/js/官网给出 ...

  5. java线程状态和获取线程基本信息

    1. 线程状态 新生状态 用 new 关键字建立一个线程后,该线程对象就处于新生状态.处于新生状态的线程有自己的内存空间,通过调用start()方法进入就绪状态. 就绪状态 处于就绪状态线程具备了运行 ...

  6. ImageView android:scaleType="centerCrop"

    转载地址:http://www.cnblogs.com/yejiurui/archive/2013/02/25/2931767.html 在网上查了好多资料,大致都雷同,大家都是互相抄袭的,看着很费劲 ...

  7. CSS-Photoshop投影与CSS中box-shadow的转换

    box-shadow是给元素块添加周边阴影效果基本语法是: {box-shadow:[inset] x-offset y-offset blur-radius spread-radiuscolor} ...

  8. sql server2016里面的json功能 - 转

    测试一下基本的,从查询结果里面构造一个json 的格式 create table t1(ID int identity,name nvarchar(50),Chinese int ,Math int) ...

  9. SpringMVC之编程式校验

    1.编程式效验需要实现Validator接口,针对模型类进行校验2.jar包 3.项目测试结构 4.StudentModel.java(模型类) package com.wt.entity; publ ...

  10. [Spark][python]从 web log 中提取出 UserID 作为key 值,形成新的 RDD

    针对RDD, 使用 keyBy 来构筑 key-line 对: [training@localhost ~]$ cat webs.log 56.31.230.188 - 90700 "GET ...