基于springboot+vue 的前后端分离项目
工具:docker
注意:相关映射端口需在云服务器安全组开放
思路:前端通过nginx反向代理进行部署,后端直接启动jar包
jdk的安装
- 官网下载linux对应版本压缩包 Oracle_java使用xftp将压缩包上传到云服务器上解压缩
[root@localhost local]# tar -zxvf jdk-8u181-linux-x64.tar.gz和windows下的一样,需要配置环境变量,进入相关文件
[root@localhost local]# vim /etc/profile按i进行修改,添加如下代码
export JAVA_HOME=/usr/local/jdk1.8.0_181 #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 进行保存并退出通过命令,让刚才配置的文件生效
[root@localhost local]# source /etc/profile测试是否成功 java -version
安装docker
//首先删除原本的docker,没有的话就不删除 yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine //安装依赖源 yum install -y yum-utils //配置镜像源,这里使用的是国外的,也可用阿里云等等 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo //安装docker yum install docker-ce docker-ce-cli containerd.io (默认最新版) //启动docker systemctl start docker //测试是否安装成功 docker version
接下来根据项目需求,拉取相关镜像进行部署
这里根据我本次所需的环境进行部署
所需 redis,mysql,nacos,nginx
redis安装
# 创建挂载文件夹 [root@ecs-2e99-0104593 redis]# clear [root@ecs-2e99-0104593 redis]# cd ./redis [root@ecs-2e99-0104593 redis]# mkdir conf [root@ecs-2e99-0104593 redis]# mkdir data [root@ecs-2e99-0104593 redis]# ls conf data [root@ecs-2e99-0104593 redis]# # 新建redis.conf文件 [root@ecs-2e99-0104593 conf]# touch redis.conf # 安装并运行redis docker pull redis # 对于/usr/local/mydata/redis/data代表外部挂载的目录,需要使用pwd查看你自己的路径,然后替 换为你自己的data、conf目录路径 docker run -p 6379:6379 --name redis -v /usr/local/mydata/redis/data:/data -v /usr/local/mydata/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
nginx的安装
# 创建挂载文件夹 [root@ecs-2e99-0104593 mydata]# ls jdk mongo redis [root@ecs-2e99-0104593 mydata]# mkdir nginx [root@ecs-2e99-0104593 mydata]# cd ./nginx/ [root@ecs-2e99-0104593 nginx]# ls [root@ecs-2e99-0104593 nginx]# mkdir html [root@ecs-2e99-0104593 nginx]# mkdir conf [root@ecs-2e99-0104593 nginx]# mkdir logs [root@ecs-2e99-0104593 nginx]# # 下载并启动Nginx docker run --name nginx -p 80:80 -v /usr/local/mydata/nginx/html:/usr/share/nginx/html -v /usr/local/mydata/nginx/logs:/var/log/nginx -v /usr/local/mydata/nginx/conf:/etc/nginx -d nginx # 之后vue打包的文件直接放到html目录下即可
nginx的启动过程中可能会遇到挂载问题,主要是关于配置文件.conf的问题
docker logs nginx 查看日志解决具体问题,不行删除,重新拉取镜像
nacos的安装
nacos占用内存过大,服务器跑不起来或着卡死,所以通过-e 来进行配置,限制内存
# 拉取镜像 docker pull nacos/nacos-server:2.0.2 # 单机Nacos配置 docker run -d -e JVM_XMS=128m -e JVM_XMX=128m --name nacos-2.0.2-limit -p 8848:8848 --env MODE=standalone --env NACOS_SERVER_IP=127.0.0.1 -v /mydata/nacos/logs:/home/nacos/logs --restart=always nacos/nacos-server:2.0.2
mysql的安装
#同样采用挂载卷的方式启动容器,不然会删除容器造成数据丢失 #可参考dockerhub官网 #第一步,先拉取镜像 docker pull mysql:tag (自己选择所需版本) #启动容器 docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql #-d:后台启动 #-p:映射端口 #-v:挂载卷 #-e:相关配置环境,这里设置密码
前端项目打包
//打包项目 npm run build //生成dist目录,将该目录文件全部放到nginx外部挂载的html目录 //启动nginx docker start nginx //重启nginx docker restart nginx //外网访问测试 ip:映射端口/dist
后端项目打包,上传到服务器
//使用docker开启相关容器,如redis,mysql,nacos //将jar包上传至服务器,放在自己的目录下就行 //后台方式运行jar包 nohup java -jar admin.jar -Xmx256M > ADMIN_LOG.log & nohup java -jar gateway-0.0.1-SNAPSHOT.jar -Xmx128M >GATE_WAY.log & //查看是否运行成功 ps -ef | grep java //查看运行日志,在当前目录下的nohup.out文件 cat nohup.out
至此,部署完成,访问外网进行测试。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)