赞
踩
学了java相关的项目后,想着如何让其他人也能访问我的项目,于是就用阿里云服务器部署springboot项目,按着网上教程也部署成功了,但是有些部分不够清楚,耗费了些时间,所有自己写一篇文档,尽可能把每一步都写清楚
链接:https://www.aliyun.com
点击云服务器ECS
这里有两个选项,购买和免费试用,新用户可以免费试用三个月,我这里选择的是免费使用
跳转后可以看到这有免费试用版,点击立即试用(右边还有1个也是免费的,但是好像是小程序相关的,感兴趣可以点击试用教程看看)
自行选择合适的配置
下面预装应用这里可以不选
点击立即试用
回到主页,点击控制台
再点这个“菜单(三条杠)”
点击云服务器ECS
服务器购买后默认启动,点击实例查看详细信息
如果忘记密码可以点击重置密码,也可以先点击远程连接体验一下
点击远程连接后,点立即登录
输入用户名默认(root)和自定义密码
进入到如下界面就表示服务器创建成功
服务器默认是没有开启防火墙,但是阿里云好像是自带防火墙,所有得通过设置安全组来开放端口号,让其他人通过公关IP+端口号来访问springboot项目
如果没有安装Xshell软件可以先去安装一下
填写名称和主机IP,这里的主机IP就是前面服务器的公网IP
再次填写用户名和密码
先在根目录下创建mysql文件夹,用于存放下载的mysql
[root@iZ2zegw3mkls9olizhdg74Z ~]# cd ..
[root@iZ2zegw3mkls9olizhdg74Z /]# ls
bin dev home lib64 media opt root sbin sys usr
boot etc lib lost+found mnt proc run srv tmp var
[root@iZ2zegw3mkls9olizhdg74Z /]# mkdir mysql
[root@iZ2zegw3mkls9olizhdg74Z /]# cd mysql/
[root@iZ2zegw3mkls9olizhdg74Z mysql]# wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install -y mysql-server
systemctl start mysqld
systemctl status mysqld
mysql在初始化的时候会生成一个自定义的密码,找到这个密码,在登录的时候输入
grep 'temporary password' /var/log/mysqld.log
记下这里的密码
登录mysql数据库
mysql -u root -p
通过以下命令设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW,并将密码长度设置为你想要的长度:
set global validate_password_policy=LOW;
set global validate_password_length=6;
执行以下命令修改密码和登录权限:
UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE User='root';
use mysql;
UPDATE user SET host = '%' WHERE user='root';
如果报错就换成:
ALTER USER USER() IDENTIFIED BY '123456';
use mysql;
UPDATE user SET host = '%' WHERE user='root';
最后执行刷新MySQL的系统权限命令:
FLUSH PRIVILEGES;
到这里密码修改完成,如果开启了防火墙记得在安全组中加入mysql的端口–3306(最好是配置一下)
使用mysql的可视化工具Navicat连接云服务器上的mysql数据库
新建连接
填写信息
导入自己项目需要用到的数据即可
官网下载地:https://www.oracle.com/java/technologies/downloads/#java8
我这里使用的是jdk-8u333-linux-x64.tar.gz,如果官网慢可以使用我分享的网盘
链接:https://pan.baidu.com/s/1hEtMFGIGSDsBo02Wr7uOuA?pwd=1111
提取码:1111
先在云服务器上安装lrzsz,再通过Xshell上传jdk文件
yum install lrzsz
再cd到root下,这边建议先直接将jdk压缩包往xshell里面托,应该是可以上传的
如果不行可以点击上面那个绿色图表,可以实现文件传输(我这里通过拖过去就成功了)
通过如下命令将文件解压到usr下
tar -zxvf /root/jdk-8u333-linux-x64.tar.gz -C /usr
cd到usr下查看下,发现已经解压成功
cd进目录 /etc ,再使用 vim命令编辑文件profile
cd /etc
vim profile
profile文件中,打开大写模式,双击G键,光标会跳到最底下;再按一下i键,进入编辑模式,将光标移到最后回车,增加一行;
在文件末尾加上以下几行(请注意JAVA_HOME文件路径);添加完毕后按Esc,退出编辑模式,输入 :wq 回车
Linux中vim的基础,不清楚的话可以自行了解一下
export JAVA_HOME=/usr/jdk1.8.0_333
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
export PATHJAVA_HOME CLASSPATH
使用source命令执行profile文件,使之生效
source /etc/profile
到这一步,jdk的安装就全部完成了。
可以使用java -version命令查看java的版本信息
声明:如果想要部署的项目中没有使用到Redis缓存,可以跳过这一步,直接看第五步
Redis是C语言开发的,安装redis需要先下载源码进行编译,编译需要依赖于GCC编译环境,如果 CentOS上没有安装gcc编译环境,需要提前安装,安装命令如下:
yum install gcc-c++
如果提示是否下载,选择:y
我这里使用的是redis-5.0.5.tar.gz,和前面JDK压缩包一起放到网盘里面了,还有redis图形化工具也在里面,需要可自行下载
redis图形化工具是在window下使用,方便管理服务器上的Redis,类似mysql的Navicat
接下来先cd到root用户下上传redis-5.0.5.tar.gz压缩包
接着将其解压到根目录(/)下(存放路径也可以按自己的来)
tar -zxvf redis-5.0.5.tar.gz -C /
查看/下,有redis-5.0.5就说明解压成功
编译Redis,将.c文件编译为.o文件
进入redis-5.0.5文件夹,执行make
cd /redis-5.0.5
make
编译成功!如果编译过程中出错,先删除安装文件目录,后解压重新编译。
执行如下命令安装Redis
make PREFIX=/redis install
说明:这里的/redis 是自定义的redis安装路径
安装好之后可以cd到/redis/bin下查看相关命令
Redis启动需要一个配置文件,可以修改端口号信息。将redis解压的文件夹(/redis-5.0.5)中的redis.conf文件复制到安装目录(/redis)
cp redis.conf /redis
redis有两种启动方式:前端启动和后端启动。由于前端模式启动后,不能再进行其他操作,所有这里就只介绍后端启动
修改redis.conf配置文件,设置:daemonize yes,然后可以使用后端模式启动
cd /redis
vim redis.conf
这里输入/daemonize回车后跳转到对应位置,在将no改为yes
改好后Esc退出编辑模式,输入:wq回车,保存退出
输入如下指令启动Redis,然后ps查看下进程
./bin/redis-server ./redis.conf
ps -ef | grep -i redis
如果需要进入redis,可以输入如下指令进入
./bin/redis-cli
在bin文件夹下运行redis-cli,该指令默认连接的127.0.0.1 ,端口号是6379,输入ping命令会返回pong,表示redis安装成功
注意:redis刚安装是没有设置密码的,即不需要密码,如果想要设置密码可以执行如下命令:
config set requirepass 123456
设置之后,可以通过指令查看密码
config get requirepass
这里可以看到设置密码后再执行命令会error,因为需要登录密码了,通过auth 123456登录一下
auth 123456
到这redis就设置完成了
目前linux云服务器上的环境已经配置好了,由于SpringBoot内置了tomcat,所以在Idea中将本地项目打包成jar包就可以免去tomcat的配置了(如果是打包成war包,那还是要配置tomcat的)
回到本地windows的 SpringBoot项目,对我们的项目做一些设置,到IDEA中,打开pom.xml,添加如下语句,将项目的打包形式设置好
<!-- 打包成jar包 -->
<packaging>jar</packaging>
打开application-dev.yml,设置项目运行端口(我用的是8091,默认是8080,如果你用的是别的端口,记得把端口加入到安全组中去)如果用的是properties文件,同样修改端口号就可以了
这里对mysql数据和redis缓存进行了配置,mysql端口号是3306,redis是6379,记得加入安全组
注意:如果测试失败先去检查是否将这些端口号加入到安全组,虽然默认防火墙没有开,但是阿里云服务器用的好像是自带(这里我也不太清楚)
点击maven
双击package开始打包
显示如下图所示,表示打包成功
右键target,在文件夹中打开
进入target文件夹,可以找到jar包webchat-0.0.1-SNAPSHOT.jar
接下来通过xshell将其上传到阿里云服务器,先cd到/root下,创建springboot文件夹,专门用来存放springboot项目,再将项目jar包webchat-0.0.1-SNAPSHOT.jar传过去
输入ls命令查看一下
使用java指令运行项目jar包,进行项目部署
方式一:一次启动
java -jar ***.jar //***为你的jar包名
这种启动方式是一次启动,当我们关掉Xshell的时候,我们的网站又访问不上了,又得重新打开Xshell,再次执行该命令
方式二:永久启动
nohup java -jar ***.jar & //***为你的jar包名
永久启动后即便关闭Xshell软件,仍能访问网站
部署号后随便找个浏览器,搜索栏输入http://公网ip:端口号
如果可以搜索到你的网站了,就说明项目成功部署到阿里云服务器上了
http://公网ip:端口号
注意:如果配置没问题还是访问不了就去检查安全组是否加进去了,项目中用到的端口号都要加进去,mysql:3306,redis:6379,tomcat:默认8080(我设置为8091)
关闭java项目:kill -9 进程号
前面说到别人也可以通过公网IP+端口号访问springboot项目,但是直接将服务器的IP暴露出来是不安全的,所有就需要使用域名
点击域名注册
这里也可以自行选择
这里有很多,新用户有优惠,选一个
搜索想要的域名,选择1元的就好,没有就换个域名
选择后进入如下页面,然后点击创建信息模板(实名认证)
接下来填写个人信息,提交后记得如果没有看到信息模板就刷新下页面
点击查看
填写个人信息
填写完后点击提交
然后点击立即购买
这里可以看到域名还没实名认证,因为之前提交的认证需要2-3天审核
点击域名解析
填好信息后确认
在域名列表中点击未实名认证
这里说模板认证成功不代表域名认证成功,那只能接着继续
提交认证后,这里就变成正常了
按理来说应该是没问题了,一般过会应该就可以访问了,访问地址如下:
http://域名:端口号
http://webchat.ltd:8091 # 我的网站
注意:这里刚开始可以通过链接访问,但是过会可能就访问不了,原因是没有备案,有需要可以自行备案
注意:如果没有备案就无法进行下面步骤,嗯,我没有备案,所有就简单介绍下(底下参考博文中有详细介绍)
前面是通过域名+端口号访问网站,但是这样和平常用的不一样,要想去掉端口号,还需要再配置一条域名解析
点击添加记录
到这整个部署接结束了,可以通过网页地址访问,网页地址:http://域名
链接:保姆级教程——将springboot项目部署到阿里云服务器(小白包会)_怎么把框架项目放到阿里云公网上-CSDN博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。