部署springboot项目到公网上
1.1基本的环境搭建需要
①mysql环境
②jdk环境
③maven的下载
④可选的docker(更加方便版本控制,解决兼容性问题)
1.1.1mysql的安装下载(相对复杂)推荐使用docker进行下载
-
原版下载(不借用docker)
可参考文章:
-
通过docker进行安装
- 第一步安装docker
1.首先查看服务器系统的版本及内核版本来确定将要安装的docker
cat /etc/redhat-release
2.查看服务器内核版本
uname -r
以上两步其实对docker安装用处不大,不过可以让我们更了解自身服务器版本,为安装之后的各种软件打下基础,也更好的找到相关教程。
3.安装下载器用来下载docker包
yum install -y yum-utils device-mapper-persistent-data lvm2
4.设置阿里云镜像,下载更快
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5.重要一步,安装docker
yum install -y docker-ce
6.设置docker开机自启动
systemctl start docker #打开docker
systemctl enable docker #设置开机自启动
7.查看docker版本等信息
docker version
想要详细了解docker使用及原理的家人们可以参考如下
--------------------------进入正题---------------------------------------------------
使用docker安装mysql
- 安装MySQL的多级安装目录
- 使用 -p 创建多级目录,即 mydata 目录下创建 mysql 目录, mysql 目录下又创建 log 、data 、conf 三个目录:
mkdir -p /mydata/mysql/log
mkdir -p /mydata/mysql/data
mkdir -p /mydata/mysql/conf
-
拉取镜像
docker pull mysql:5.7
拉取镜像时候版本可以根据自己的需要进行版本调整
-
查看镜像
docker images
2.创建容器
:使用自定义的 custom.cnf 配置文件。
(1)在 /mydata/mysql/conf/
目录下创建自定义的 custom.cnf
配置文件。文件名随意,文件格式必须为 .cnf
。
vim /mydata/mysql/conf/custom.cnf
(2)添加容器运行的配置参数。使用的是 utf8mb4
编码而不是 utf8 编码。
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
init_connect="SET collation_connection = utf8mb4_unicode_ci"
init_connect="SET NAMES utf8mb4"
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
(3)创建容器并运行。
docker run --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql/conf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
(4) 进入容器既进入mysql数据库库
docker exec -it mysql bash
(5) 进入数据库
mysql -u root -p123456
此时已经基本完成, 但是连接会出现问题,那就是要进行远程连接的授权。
use mysql;
GRANT ALL PRIVILEGES ON *.* TO root@'%' WITH GRANT OPTION; #给用户分配远程权限
FLUSH PRIVILEGES;强制刷新权限,此时就可以使用root用户进行远程登陆了
最后再服务器中安全组或者防火墙中添加3306端头即可进行远程连接。
以上如果是新手推荐再腾讯元上领取一个月的免费试用服务器,之后选择cenos-docker这个,这样docker就内置了,省去了docker的安装
建议使用xshell xftp等软件进行操作服务器。个人比较喜欢这两个软件。
1.1.2对jdk进行下载。
这里推荐用jdk1.8
这里不再建议使用docker安装jdk,环境变量配置起来相对麻烦(个人简介,如果有家人知道更简便的方法,欢迎分享评论区,一起交流学习。)
#进入安装包目录,解压
cd /data/tmp
tar -zxvf jdk-8u301-linux-x64.tar.gz
#把解压出来的文件夹转移到统一的地方
mv /data/tmp/jdk1.8.0_301 /data/service/jdk1.8.0_301
#修改环境变量/etc/profile,JAVA_HOME修改为自己的jdk路径。
vim /etc/profile
export JAVA_HOME=/data/service/jdk1.8.0_301
export PATH=$PATH:$JAVA_HOME/bin
#使环境变量生效
source /etc/profile
#检查是否配置成功
java -version
1.1.3下载maven
从Maven官方网站上下载最新版的压缩包。下载完成后,进行解压和配置环境变量。
下载地址:https://maven.apache.org/download.cgi
#进入安装包目录,解压
cd /data/tmp
tar -zxvf apache-maven-3.6.3-bin.tar.gz
mv apache-maven-3.6.3 /data/service/
#修改环境变量/etc/profile,MAVEN_HOME修改为自己的路径。
export MAVEN_HOME=/data/service/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
#使环境变量生效
source /etc/profile
#检查是否配置成功
mvn -v
1.2操作中的细节要求
所有准备工作已经准备好了,剩下的是将项目导出成jar包
这里再windows中idea中进行操作,maven可以自带打包功能
需要注意以下几点
最后会生成target文件夹
其中.jar文件就是生成的文件
在生成之前我们需要再项目源文件中调整一处地方
- 数据库修改一下(改成公网上的数据库)
- 将本地数据库上的数据导入到服务器上(这里就不再介绍了,简单来说就是导出sql文件,再运行sql文件。)会用到navicat可视化界面进行。当然其他的数据库连接工具也可以。
在这个文件夹中对数据库进行修改,如果你的数据库连接操作在其他yml文件中,一样的,将数据库连接修改为公网ip对应的
1.3运行
进入到jar包所存放的位置执行下方代码
java -jar jar包名
出现图片中的就运行成功了,然后,手机电脑访问一下试试吧!
如果访问不了,将服务器的防火墙关闭,同时再安全组中添加8080端口,如果你的端口是其他的一样的,添加到安全组即可。
(1)service iptables stop关闭防火墙;
(2)service iptables start开启防火墙;
(3)service iptables reload重新加载防火墙;
(4)service iptables restart重启防火墙;
代码
java -jar jar包名
出现图片中的就运行成功了,然后,手机电脑访问一下试试吧!
如果访问不了,将服务器的防火墙关闭,同时再安全组中添加8080端口,如果你的端口是其他的一样的,添加到安全组即可。
(1)service iptables stop关闭防火墙;
(2)service iptables start开启防火墙;
(3)service iptables reload重新加载防火墙;
(4)service iptables restart重启防火墙;
搞定!!!!!(只是基础版本,不喜轻喷)欢迎大家指点,一起交流讨论!!!!