前段时间刚完成一个JavaWeb项目,想着怎么部署到服务器上,边学边做,花了点时间终于成功部署了,这里总结记录一下过程中所遇到的问题及解决方法。之所以选择阿里云,考虑到它是使用用户最多也是最广泛的云服务器。学生可以选择学生机,价格非常优惠。本人选择的是系统镜像:CentOS 7.3 64位。

根据需要部署了以下环境:

1、配置Java环境

2、安装Tomcat及配置、war包部署

3、安装MySql及配置、运行sql文件

准备工作:

1、首先需要开通项目用到的端口,例如8080端口,下图为本人开通的端口(授权对象ip就是被允许访问端口的主机ip,也就是阿里云公网ip,可以是其它云服务ip),仅供参考。详情点击打开连接

2、网上很多教程是通过Xshell终端模拟器访问远端不同系统下的服务器,以及配合Xftp文件传输客户端来上传文件(如Java、Tomcat安装包)。这里推荐使用MobaXterm,有SSH链接功能,也有FTP功能,还可以包括VNC远程桌面连接功能。MobaXterm官网。

3、下载Linux版本的jdk,选择后缀是.tar.gz的,如下图所示。点击打开链接。

4、下载Tomcat安装包,本人下载的是Tomcat 8.5.33版本。点击打开链接。

5、打开MobaXterm,连接系统。将上述两个安装包上传至指定目录下。操作步骤如下。

a.点击Session,选中SSH协议,输入阿里云公网IP地址,点击OK。

   b.打开之后初始目录是root,返回上一级再打开home目录,将安装包均上传至该目录。

  

    c.在usr目录下创建java,再在java下创建以下两个目录。

    

1、配置Java环境

a.运行解压命令:tar -xzf /home/jdk-8u181-linux-x64.tar.gz -C /usr/java/jdk

b.配置环境变量(或者直接打开etc目录下的profile文件):vi /etc/profile

在文件末尾处添加以下内容并保存:

 #set java environment
export JAVA_HOME=/usr/java/jdk/jdk1..0_181
export JRE_HOME=/usr/java/jdk/jdk1..0_181/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH

保存命令:source /etc/profile

c.验证安装,如下所示表示成功:

2、安装Tomcat及配置、war包部署

a.运行解压命令:tar -xzf /home/apache-tomcat-8.5.33.tar.gz -C /usr/java/tomcat

b.配置环境,如下图所示,执行命令或者点击文件均可:

在文件末尾处添加以下内容并保存:

 export JAVA_HOME=/usr/java/jdk/jdk1..0_181
export JRE_HOME=/usr/java/jdk/jdk1..0_181/jre

c.在bin目录执行如图所示命令./startup.sh,验证安装:

或者浏览器输入阿里云公网IP地址加上8080端口,页面如下图所示表示成功:

d.将JavaWeb项目的war包,上传至Tomcat的webapps目录下即可,如下图所示:

这时在8080端口后加上项目名称,即可运行此项目,如下图所示(如果有对应数据库的话,下一条继续介绍如何配置数据库):

3、安装MySql及配置、运行sql文件

a.安装MySQL官方的yum repository:

 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

b.下载rpm包:

 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# yum -y install mysql57-community-release-el7-.noarch.rpm

c.安装MySQL服务,最后会出现个complete!:

 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# yum -y install mysql-community-server

d.修改MySQL配置文件(或者修改etc目录下的my.cnf文件并保存),跳过密码登录:

 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# vi /etc/my.cnf

末尾处添加如下内容:

 skip-grant-tables

e.启动MySQL服务:

 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# systemctl start mysqld.service

f.登录MySQL:

 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# mysql -u root

g.修改密码:

 mysql> use mysql;
Database changed
mysql> update mysql.user set authentication_string=password('') where user='root' ;

h.退出mysql,重新在刚刚那个配置文件中去掉skip-grant-tables,然后重启MySQL:

 mysql> exit
 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# vi /etc/my.cnf
 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# systemctl restart mysqld.service

i.使用新密码登录MySql,如下图所示:

j.必须重设密码,并设置密码等级与最小长度:

 SET PASSWORD = PASSWORD('');
 mysql> set global validate_password_policy=;  //改变密码等级
 mysql> set global validate_password_length=;   //改变密码最小长度

k.再次修改密码:

 SET PASSWORD = PASSWORD('');

l.配置远程登录(root为用户名,1234为密码),以及刷新系统权限:

 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;
 mysql> flush privileges;

m.创建数据库并运行sql文件:

 mysql> create database corporate_genealogy;
 mysql> use corporate_genealogy;
 mysql> source /home/corporate_genealogy.sql;

n.使用Navicat数据库管理工具连接阿里云数据库,如下图所示:

最后附上Linux系统下MySql数据库的常用操作(数据库操作必须以   ';'  号结尾):    点击打开链接

本文部分参考学习了:https://www.cnblogs.com/shanheyongmu/p/6070618.html

          http://www.cnblogs.com/wangshen31/p/9556804.html

至此是对JavaWeb项目部署部分功能的一个简单介绍,后续会继续说明其它部分功能所遇到的问题以及解决方法。

如有疏漏错误之处,还请不吝赐教!

基于阿里云服务器Linux系统部署JavaWeb项目的更多相关文章

  1. Linux系统部署JavaWeb项目(超详细tomcat,nginx,mysql)

    转载自:Linux系统部署JavaWeb项目(超详细tomcat,nginx,mysql) 我的系统是阿里云的,香港的系统,本人选择的是系统镜像:CentOS 7.3 64位. 具体步骤: 配置Jav ...

  2. 阿里云服务器linux系统上 安装node环境

    今天将阿里云服务器重windows系统重置成了linux系统, 点击上面的实例名称,进入到 点击  更换系统盘   选择linux 的centos版本(操作前需要  停止实例) 弄好后,启动实例 下面 ...

  3. 基于阿里云服务器Linux系统安装配置Redis

    一.Redis简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(有 ...

  4. 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署

    阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...

  5. 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署

    阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...

  6. 阿里云服务器Linux CentOS安装配置(五)jetty配置、部署

    阿里云服务器Linux CentOS安装配置(五)jetty配置.部署 1.官网下载jetty:wget http://repo1.maven.org/maven2/org/eclipse/jetty ...

  7. 阿里云服务器Linux系统安装配置ElasticSearch搜索引擎

    近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...

  8. 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器

    阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 我在阿里云购买的服务器配置 CPU:1核 内存:2G 系统盘:40G 公共镜像:CentOS 6.5 64位 公网带宽:1Mbps ...

  9. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

随机推荐

  1. Ajax综合应用大全(全面解析)

      AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 JavaScrip ...

  2. C++工程文件夹中的bin和obj文件夹有何用处?(补充多文件结构)

    博主在使用Code::Blocks创建一个工程之后,正准备新建一个头文件,细心的博主发现,在工程文件夹中有两个子文件夹,分别是bin和obj.好奇心驱使下,想知道这两个文件夹用来干嘛的,网上搜了下,整 ...

  3. C# Pascal 命名规则

    在以前版本的Visual Studio中,微软曾建议使用匈牙利命名法来写代码,并鼓励开发这位写出统一格式的代码而使用相同的法则.在最近发布的.NET和它的编程语言中,微软更换了他的这一法则.如果你用过 ...

  4. linux dentry cache 转自:http://blog.csdn.net/denzilxu/article/details/9188003

    Linux dentry cache学习 每个dentry对象都属于下列几种状态之一: (1)未使用(unused)状态:该dentry对象的引用计数d_count的值为0,但其d_inode指针仍然 ...

  5. python学习笔记--变量和运算符

    一.变量命名规则 1.字母.数字.下划线组成 2.不以数字开头 3.关键字(也叫保留字),不能用作变量名 4.遵循PEP8命名规范 二.变量赋值 1.赋值符号 = 2.多重赋值 x=y=123 3.多 ...

  6. Web前端几种常见的实现水平垂直居中的方法

    第一种: 父容器不设置宽度,用定位实现水平垂直居中. <!DOCTYPE html> <html lang="en"> <head> <m ...

  7. Excel导入功能(Ajaxfileupload)

    前言: 前端采用Easyui+Ajaxfileupload实现 后端采用springmvc框架,其中把解析xml封装成了一个jar包,直接调用即可 准备: 前端需要导入(easyui导入js省略,自行 ...

  8. 小B的询问(莫队)

    题目描述 小B有一个序列,包含N个1~K之间的整数.他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重 ...

  9. 6.19noip模拟赛总结

    昨天进行了noip的模拟赛,我这个蒟蒻又是垫底.... T1 第一感觉就是贪心,从高到低排序,然后每次都将恰好满足当前条件的人数分成一组,然后移动到下一个未分组的单位上,贴代码 #include< ...

  10. Java常用的正则校验

    1.非负整数: (^[1-9]+[0-9]*$)|(^[0]{1}$) 或 (^[1-9]+[0-9]*$)|0 2.非正整数: (^-[1-9]+[0-9]*$)|(^[0]{1}$) 或 (^-[ ...