如何部署javaweb项目到云服务器

如何在在云服务器上部署javaweb项目(阿里云为例)

一、准备一个云服务器(以阿里云为例)

1.注册阿里云账号

https://www.aliyun.com

2.进行学生认证,获取免费服务器

https://developer.aliyun.com/adc/student

 

 按照步骤来,

体验结束之后,需要进行答题获取服务器资格

 

测试完成之后就可以获取2个月的服务器(可以到网上查答案)

这里选择服务器的系统镜像,以centos7.3为例

 

如果不想通过以上方式获取服务器,可以购买一个轻量级服务器

https://developer.aliyun.com/plan/grow-up

3.登录到控制台

 

 点击实例

 点击重置实例密码,这个实例密码是外部登录你服务器需要的密码,一定要牢记

二、准备远程连接服务器的工具

这里推荐使用xftp和xshell

https://www.netsarang.com/zh/free-for-home-school/

 

 这里填入你的姓名和邮箱,并且勾选两者,之后下载地址会以邮件形式发送你的邮箱

下载完成之后,打开xshell

点击文件——>新建,在弹出对话框的主机一栏填入服务器的公网地址

 

 在身份验证界面填入服务器的实例密码(之前修改的密码)

 成功连接之后,如图

 xftp也是同样的流程,点击文件——>新建

 

 填入服务器外网ip,用户名(linux系统默认用户名为root),密码(实例密码)

 进行身份验证(输入实例密码)

 成功连接

三、安装环境、数据库

1.安装jdk,并且配置环境

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

 

 这里以jdk1.8版本为例,下载需要登录Oracle账号

下载完之后,通过xftp把压缩包上传到服务器/usr/local文件夹下

打开xshell

//对Jdk进行解压:
tar -zxvf jdk-8u281-linux-x64.tar.gz

配置Java环境变量

//配置环境变量
vim /etc/profile

//按i进入编辑模式,在文件末尾添加如下参数
export JAVA_HOME=/usr/local/jdk1.8.0_281 #你的jdk安装根目录路径
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
//输入完后,按esc键退出编辑模式
//键盘输入:wq,按回车保存并且退出

 输入java -version 如果成功出现jdk版本,则说明配置成功

 

如果配置文件没有生效的话,可以尝试用source命名初始化刚刚修改的配合文件

source /etc/profile

 

2.安装tomcat

下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/

这里以tomcat-7为例

注:tomcat最好保证和本地项目的tomcat版本一致,这样可以避免发生错误

 

选择tar.gz格式的压缩包下载

 

 

 下载完之后,通过xftp上传

 

 通过xshell,解压

cd /usr/local
tar -zxvf apache-tomcat-7.0.108.tar.gz进入

进入bin目录下,启动tomcat

//进入bin目录
cd apache-tomcat-7.0.108 #进入tomcat的根目录
cd bin #进入bin目录
./startup.sh #启动tomcat服务  

进入阿里云控制台

 进入安全组配置

 点击配置规则

 

 

 手动添加,打开8080端口的访问权限,配置如图

 

 通过服务器公网ip访问8080端口,如果出现tomcat页面,则说明配置成功,地址:公网ip + :+ 8080

3.安装mysql

mysql的下载地址:https://dev.mysql.com/downloads/mysql/

选择服务器的mysql版本,我这里以centos7.3为例,用的是mysql8版本

 

 下载mysql8的rpm包

 

 注意:一定要保证mysql版本和本地项目使用的mysql版本相同!我之前就因为版本不同,出现了各种问题。

通过xshell,在/usr/local下新建mysql文件夹

cd /usr/local
mkdir mysql  

通过xftp上传下载好的mysql压缩包到/usr/loacl/mysql目录下

 

在xshell中进入mysql文件夹

cd /usr/local/mysql

通过 rpm -qa | grep mariadb 命令查看是否安装 mariadb 的安装包

rpm -qa | grep mariadb

如果有显示的话,执行安装命令

rpm -e mariadb-libs-5.5.52-1.el7.x86_64 --nodeps

再次查看mariadb安装包

 

 解压mysql

解压mysql压缩包
tar -xvf mysql-8.0.23-1.el7.x86_64.rpm-bundle.tar

安装common

安装common
rpm -ivh mysql-community-common-8.0.23-1.el7.x86_64.rpm --nodeps --force

安装client

安装client
rpm -ivh mysql-community-client-8.0.23-1.el7.x86_64.rpm --nodeps --force  

安装server

安装server
rpm -ivh mysql-community-server-8.0.23-1.el7.x86_64.rpm --nodeps --force

安装libs

安装libs
rpm -ivh mysql-community-libs-8.0.23-1.el7.x86_64.rpm --nodeps --force

查看mysql安装包

rpm -qa | grep mysql

 

依次执行以下命令, 对mysql初始化和配置

依此执行一下命令,对mysql初始化和配置
mysqld --initialize
chown mysql:mysql /var/lib/mysql -R
systemctl start mysqld.service
systemctl enable mysqld

如果出现这个错误:mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

执行以下命令:
yum install -y libaio

查看数据库的密码

查看数据库密码:
cat /var/log/mysqld.log | grep password

进入数据库:
mysql -u root -p
输入刚才的密码

 

 这个密码是不可见的,直接输入后回车确认

修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';
这是把密码修改为'123'

 

 打开你本地项目的数据库,生成sql文件

通过xftp把sql文件上传

 通过xshell创建数据,登录mysql

create database book_system default character set utf8;
创建名字为book_system默认编码集为utf8的数据库,名字和编码集安装本地项目来配置

  

进入数据库并执行sql文件:
use book_system;
source /usr/local/book_system.sql;

通过show database;命令查询所有的数据库

show databases;

  

 

 

 成功创建,查询admin表内容

use book_system;
select * from user

  

 

 可以通过图形化工具navicat来管理云端数据库

打开阿里云控制台

在配置规则中打开3306端口(mysql默认端口)

navicat下载地址:http://www.downcc.com/soft/322714.html

按照步骤安装后破解。

 

 

 

 主机填服务器外网ip,用户名不用改,密码输入MySQL数据库设置好的密码

如果出现了is not allowed to connect to this MySql server的错误,应该是远程数据库设置了只接受本地连接,拒绝了远程连接

可以通过xshell修改mysql表来解决

依次执行
use mysql;
update user set host = '%' where user = 'root';
select host, user from user;

 如果没有马上生效的话,使用以下sql语句刷新

 

mysql:flush privileges; 

 

 

这样就算修改成功了

再次用navicat pre连接,就能成功连接了

 

 

四、部署ssm项目

1.打开IDE编译工具,以idea为例

 

 打开项目配置

 

 

 

 

 

 选择项目根目录下out目录下artifacts文件夹

 

 

 

 

 

 进行build

在项目的out目录下可以找到打包好的war文件

 

2.配置好服务器数据库

配置服务器数据库方法上面说过了,运行相应的sql文件创建数据库即可

3.上传war包到服务器

 用xftp把war包放进服务器tomcat目录下的webapps文件夹,Tomcat会自己进行解压

 

 用xshell进入tomcat的bin文件夹,重启tomcat

cd apache-tomcat-7.0.108
cd bin
./startup.sh  

重启完成后,通过浏览器访问项目接口进行测试

4.访问项目测试

url:外网ip + : + 8080 + / + 项目名 + / + 接口名

 

 访问成功

五、部署springboot项目

1.通过maven打包项目

首先,要确保pom.xml配置中有如下代码

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
</build>  

没有这个插件的话,springboot项目部署之后将会无法运行

配置好application.yml文件,由于springboot项目是由自带的tomcat运行,所以要为该项目设置一个新端口防止冲突

 

 我这里设置的是8081端口

 

 在服务器控制台打开8081端口访问权限

打开idea右侧的maven选项卡,选择clean

 

 然后,点击package打包

 

 在项目根目录的target文件下会生成项目的相应jar包

 

2.配置好服务器数据库

配置服务器数据库方法上面说过了,运行相应的sql文件创建数据库即可

3.上传项目到服务器

进入/usr/local

创建app文件夹

cd /usr/loacl
mkdir app

用xftp将项目jar包上传到app文件夹下

 

 

启动项目,将信息写入.txt并挂载在后台:
nohup java -jar novel-system-1.0-SNAPSHOT.jar > novel-system &

 

 可在app下生成的txt中查看项目运行情况

 

 

4.访问项目测试

这次设置端口是8081,所以访问8081端口,项目成功启动

 

posted @ 2021-03-06 16:44  TidalCoast  阅读(1151)  评论(0编辑  收藏  举报