前后端分离项目的部署

前后端分离项目的部署,第1张

前后端分离项目的部署

 基于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

至此,部署完成,访问外网进行测试。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5704544.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存