如何在在云服务器上部署javaweb项目(阿里云为例)
一、准备一个云服务器(以阿里云为例)
1.注册阿里云账号
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端口,项目成功启动