前往阿里云官网购买服务器
前往阿里云或者腾讯云购买服务器,有秒杀或者新人优惠,一般80多即可购买一个一年左右的。
镜像选择CentOS7.6,我购买的阿里云的轻量应用服务器,购买之后前往控制台查看,则会看见如下图所示:
重置服务器密码,密码重启服务器后生效。
点击远程连接,输入root密码即可进入服务器页面,在该页面我们将下载对应软件
由于本人比较菜,需要配合宝塔面板使用哈哈哈哈
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
直接在服务器中输入上述命令即可,遇见询问点击yes则可。
安装好之后需在阿里云服务器上面的防火墙中放行12271端口。
点击实例id即可进入服务器相关设置
宝塔面板安装成功之后给给你内外网登录地址以及初始的默认密码,并且也会提示放行端口。
服务器输入命令:bt,即可进行对应操作,包括修改Miami等等。
直接点击面板中的终端即可远程连接服务器,但是第一次连接提示需要输入密码,你正常输入密码即可。即便你输入的密码正确也可能会出现如下图的情况:
解决方法:点击面板中的“安全”— “SSH管理”—打开SSH密钥登录即可
可以通过面板下载相关软件、以及远程连接服务器、对服务器进行简单的监控,更好的对数据进行管理等。
后续一切软件都将基于Docker服务运行
直接在宝塔面板中安装或者自己在网上找一下docker镜像地址。
直接在面板中的软件商店搜索docker进行安装即可
输入docker -v或者docker Info命令能正常显示信息即可
docker run -d --name nacos -p 8848:8848 -e PREFER_HOST_MODE=hostname -e MODE=standalone nacos/nacos-server
首先你可以通过docker images nacos和docker ps 查看Nacos服务是否安装成功,并且通过docker logs nacos查看Nacos的启动日志
其次访问地址:http://127.0.0.1:8848/nacos,这儿写你自己服务器的地址,如果访问不成功,则大概率是8848端口没有开放
该功能同样适用于其他软件.提供两种方式:命令行和宝塔面板。
以宝塔面板或者服务器的形式开放端口
用户可在宝塔面板中或者服务器中的防火墙中将8848端口放行即可,如下图所示:
以命令行的方式开启8848端口
systemctl status firewalld 查看防火墙
systemctl start firewalld 开启防火墙 (service firewalld start)
systemctl stop firewalld 关闭防火墙
systemctl disable firewalld.service 禁止开机启动防火墙
netstat -anp (查看已经对外开放端口)
firewall-cmd --query-port=8848/tcp(查询指定端口是否对外开放)
firewall-cmd --add-port=8848/tcp --permanent
firewall-cmd --reload
firewall-cmd --query-port=8848/tcp
docker pull redis (拉取最新的镜像)
docker run --restart=always -p 6379:6379 --name redis -v /mydata/redis/data:/data
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf
-d redis redis-server /etc/redis/redis.conf --requirepass redis
总结一下,这个命令在Docker容器中以持久化方式运行Redis服务器,并将主机的6379端口映射到容器的6379端口,以便通过主机的6379端口访问Redis服务器。它还将主机的/mydata/redis/data目录用作Redis的数据文件存储,并将主机的/mydata/redis/conf/redis.conf文件用作Redis的配置文件。最后,它设置Redis服务器的密码为“redis”
直接通过RDM工具测试连接Redis即可,若不能访问则可能需要放开6379端口,其实Redis7.0之后设置密码之后用户默认是:default,而非root
docker search mysql
docker pull mysql
docker run --restart=always -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
总结起来,这个命令的作用是在Docker中启动一个MySQL容器,将其命名为mysql,将容器的3306端口映射到主机的3306端口,设置MySQL的root用户密码为123456,并配置容器在退出时总是自动重启
通过navicat工具远程访问即可,若提示访问不成功,则需在要服务器上放行3306端口。
docker search rabbitmq (查找镜像)
docker pull rabbitmq(拉取镜像)
docker run --restart=always -d --hostname rabbitmq --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq
所以,这个命令的总体作用是创建一个名为"rabbitmq"的Docker容器,该容器会自动重启,并且在主机上使用指定的端口映射运行RabbitMQ服务。
成功访问改地址即可http:/你的ip:15672/,出现登录管理页面即可成功。
但是仍存在访问不了的情况,需要开放15672和5672端口。但是仍存在放开端口之后还是访问不了,这是因为没有开启插件。以下为开启插件命令:
docker exec -it rabbitmq bash (首先进入容器)
rabbitmq-plugins enable rabbitmq_management(开启插件)
最终,则可进入登录页面,默认账号和密码均是guest!
docker pull xuxueli/xxl-job-admin:2.4.0 (拉取镜像)
docker run -di -e PARAMS=“–spring.datasource.url=jdbc:mysql://ip地址:3306/xxl_job? Unicode=true&characterEncoding=UTF-8&useSSL=false --spring.datasource.username=root --spring.datasource.password=123456 --xxl.job.accessToken=test”
-p 8081:8080
-v /usr/local/src/docker/xxl-job:/data/applogs
–name xxl-job
–privileged=true
xuxueli/xxl-job-admin:2.4.0
这个命令的主要目的是在Docker中启动一个名为xxl-job的容器,该容器运行一个应用,并使用特定的环境变量、端口映射、卷挂载和权限设置。
输入ip地址:http://127.0.0.1:8081/xxl-job-admin/,出现登录页面即可,记得放行端口哦。
直接在idea中点击:clean-package-install命令,即可将项目的jar下载至本地
首先我们在服务器上面创建一个目录:/ javaweb/push(也可以直接在面板的文件中创建文件和上传)
上传项目jar至push文件夹下,直接使用面板的上传功能。
在push的文件夹中输入命令:vim DockerFile,再将以下参数输入进文件,按一下esc,再输入保存退出命令(:wq)即可(也可以直接使用面板中的创建,超级方便!)
在这儿,为什么还有app文件夹呢?(所以你还需要再push下在创建一个app文件夹哦)
这儿是因为到时候创建一个可以复用的jar,比如到时候你需要更新项目的时候,只需要替换app目录下的push.jar,然后使用docker restart 容器id的命令重启一下就可以实现项目的更新了
既然刚刚说了需要替换,那么我们也需要将push-0.0.1-SNAPSHOT.jar复制一份在app下,并修改名称为push.jar,如果不复制,则容器会失败,找不到该jar。
打包镜像:
docker build -t user .
这个时候会报错,拉取Java8环境错误:
解决方法:修改dockerfile中的java:8为openjdk:8,修改之后如下图:
创建容器并且运行命令如下:
docker run -d --name push -p 8008:8008 -v /root/javaweb/push/app:/app -e TZ=Asia/Shanghai --restart=always push(创建容器并运行)
可以使用docker images 和docker ps 验证是否成功
我现在项目启动是这样的,待会儿删除几行更新一下。(替换app下的push.jar,你也可以将原jar更换一个名字保留或者直接删除掉)
上传最新jar,修改原jar名。
使用docker restart push命令重启,验证是否成功。
重启成功,至此,整个流程结束!!!
为什么会安装这些软件呢,因为我的项目都使用到了,所以就安装了。
整个过程还是摸索了很久,网上找了很多人的资料,借鉴了许多地方,整理出来,与君共享。