javaweb部署到阿里云linux云服务器上

javaweb项目部署到阿里云Linux云服务器上

1.获取阿里云服务器ECS

网页登陆阿里云,注册或者登录一个账户,然后点击下面的云服务器ECS:

阿里云1

选择它的原因:1.其他教程说的 2.有免费体验七天的服务

这个链接里有阿里云高校计划,学生认证并完成测试后可以获得两个月的云服务器ESC使用权。支付成功后可在左栏中查看自己的实例。

2.服务器实例的配置

我的云服务器操作系统为Centos 7.3 64位。
开通项目用到的端口,我用到的是mysql的3306端口和Tomcat要用到的8080端口,因此需要在安全组中的配置规则中添加相应端口的安全组:具体操作可见百度经验

(阿里云2.png)

3.通过软件访问云服务器操作系统

可以用Xshell+Xftp,一个用来访问服务器系统,一个用来传输文件。实际上阿里云自己也有服务器系统的工作区,不过我看的教程一般都没用过,有兴趣自己可以试试。

我使用的是MobaXterm,这一个软件包含了操作系统连接,FTP等功能。官网可以免费下载使用。

下载完成后打开MobalXterm,连接对应云服务器的操作系统:

MobaXterm1

点击ok后进入云服务器操作系统,初始位置为root,返回上一级后进入home

M1

4.下载自己在本地的javaweb工程对应环境的jdk以及mysql

最重要的JDK要和本地的javaweb的JDK一样,查看并修改本地javaweb的方法为:(eclipse)

jdk修改

jdk官网下载地址:jdk官网下载,应该还得注册一个账号才给下载。由于我的系统是Centos 7.3 64位,因此下载X64.tar.gz。

Tomcat官网下载地址:Tomcat官网下载,我的javaweb中的版本为Tomcat7,我下载的为7.0.107的Core中的tar.gz。

在本机下载好后上传到虚拟云操作系统的home下:

M2

5.解压配置jdk以及Tomcat

在usr目录下创建java,再在java下创建以下两个目录,一个名为jdk,一个名为tomcat,如下:

m3

安装jdk

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

注意加粗的部分为你自己的压缩包名字,将压缩包解压到刚刚创建的jdk文件中

**2.**配置环境变量:直接打开etc目录下的profile文件或者利用vi /etc/profile

在文档末尾添加**(注意后面的jdk文件为你自己的文件名)**

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

jdk环境

之后利用source /etc/profile,对profile文件进行保存更新。

3.验证安装,如下图表示成功:

M4

安装Tomcat

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

注意加粗部分为你自己的解压包名称

2.配置环境

M5

右键选择文本编辑器打开,在文档末尾保存如下内容:(其中的jdk为你自己刚刚安装的jdk目录)

export JAVA_HOME=/usr/java/jdk/jdk1.8.0_271 
export JRE_HOME=/usr/java/jdk/jdk1.8.0_271/jre

3.验证安装,cd /usr/java/tomcat/apache-tomcat-7.0.107/bin/ 到刚刚bin目录,在刚刚的bin目录下运行startup.sh,也就是在终端输入./startup.sh,如果出现如下图,证明已启动:

M6

在本机浏览器中输入 公网ip:8080 若出现下图,则安装完成。
(这里可能会出现访问失败的问题,可以试试将云服务端的防火墙打开,开放8080端口,然后重启防火墙。有关防火墙操作可以点击这里或者阅读后面内容。)

M7

至此 jdk与tomcat安装完成。

6.Mysql安装

首先注意Mysql的使用时最好打开防火墙,一是保护数据安全,二是我暂时还没试过不开防火墙的情况。
Mysql一般需要开放端口3306,Tomcat一般需要开放8080,如果你有域名可能还需要开放80端口。
Centos的防火墙相关操作:

#查看防火墙状态(主要看是否开启)
systemctl status firewalld 

#开启、重启、关闭、firewalld服务
# 开启
service firewalld start
# 重启(修改配置后要重启防火墙)
service firewalld restart
# 关闭
service firewalld stop

#查看当前防火墙的已开发端口等信息
firewall-cmd --list-all
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放8080端口(其他的以此类推)
firewall-cmd --permanent --add-port=8080/tcp
# 移除8080端口(其他以此类推)
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙,有两条,我一般用这条指令)
firewall-cmd --reload
# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;

我弄的时候打开了防火墙,并且开通了8080端口、80端口以及3306端口
结果如下:
防火墙设置

Mysql的安装可以通过去官网下载新版本,然后上传到MobaXterm,然后解压安装。这里我直接找了个教程在MobaXterm安装Mysql,版本有点老,不过安装挺快。如果从本机下载在上传,上传还是比较费时间。

1.安装Mysql官方的yum repository:

# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2.下载rpm包:

# yum -y install mysql57-community-release-el7-10.noarch.rpm

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

# yum -y install mysql-community-server

4.修改MySQL配置文件(如果vi或者vim用的不熟,可以修改etc目录下的my.cnf文件并保存),跳过密码登录:

# vi /etc/my.cnf

在文档末尾加上:

skip-grant-tables

5.启动MySQL服务:

# systemctl start mysqld.service

6.登录MySQL:

# mysql -u root

7.修改密码:这里密码后面会改

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

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

systemctl restart mysqld.service

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

M8

10.必须重设密码,否则开启Mysql会报错。顺便设置密码等级与最小长度:(这里1234可以改为其他,最小长度注意设定好)

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

11.再次修改密码:

SET PASSWORD = PASSWORD('1234');

12.配置远程登录(root为用户名,1234为密码),以及刷新系统权限:(用户名和密码可以按照自己要求改)

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

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

 mysql> create database 你想要的数据库名;
 mysql> use 你的数据库;

可以从其他地方将sql导入到数据库(我暂时没试过)例如home下的xxx.sql

mysql> source /home/xxxx.sql;

至此javaweb在服务器上的环境安装完毕。

7.上传javaweb工程包

首先到处javaweb工程,这里我用的是eclipse

M1..

右键选择web文件名,然后export,选择WAR file。

导出WAR包

然后将导出的文件放在云服务端的Tomcat的webapps下:

M10

然后通过 公网ip+:端口号+javaweb名访问即可。

M11

8.可能出现的错误

JDK错误

java.lang.UnsupportedClassVersionError:

servlets/Selectable has been compiled by a more recent version of the Java Runtime (class file version 58.0), this version of the Java Runtime only recognizes class file versions up to 52.0 (unable to load class [servlets.Selectable])

servlets/Selectable是由最新版本的Java运行时(类文件版本58.0)编译的,这个版本的Java运行时只能识别52.0以下的类文件版本(无法加载类[servlet .Selectable])

我这个出现的原因是本机的javaweb用的不是JDK1.8,而云服务的用的是JDK1.8,在本地修改后打包发出即可。

本文参考学习:
1.阿里云服务器Linux系统如何部署JavaWeb项目?
2.阿里云部署Java web项目初体验(转)/linux 上配置jdk和安装tomcat
3.记录下在阿里云linux上安装与配置Mysql
4.linux(Centos7.3)防火墙配置相关命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值