14.项目部署

1.后端指令部署

        分为war包部署与jar包部署

1.1 war包部署*

        直接将war包放到Tomcat的webapps文件夹下,再启动Tomcat就完成部署了

1.2 jar包部署

        分为两种部署方式:通过指令方式,通过IDEA配置

1.2.1 通过指令方式部署jar包

        首先项目clean-package打包为jar包,将包上传到linux

        nohup就是后台运行,> mall.out就是将日志信息存到这个文件中,-D是修改配置

nohup java -jar -Dserver.ip=192.168.137.129 -Dspring.datasource.password=root -Dfile.dir=/home/luobei/images  mall100-0.0.1-SNAPSHOT.jar > mall.out 2>&1 

        关闭进程

kill -9 进程id 

1.2.2 通过IDEA部署jar包

        IDEA就是将指令方式的步骤配置好,由IDEA来执行这些操作

2.前端部署

        项目打包(注意前端项目连接后端的url需要在后面加/app/作为标识)

npm run build

        创建nginx.conf配置文件

# 使用root用户权限运行
user  root;
# 运行程序进程数
worker_processes  1;

events {
    # 每个进程最大连接数
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        # nginx服务器ip地址
        server_name  192.168.174.129;
        
        # 静态资源配置
        location / {
            index  index.html index.htm;
            # 注意:此处的路径/usr/local/nginx/static指的是nginx容器内的路径,不是宿主机Linux的路径
            root /usr/local/nginx/static;
            try_files $uri $uri/ @router;
        }
        # 解决浏览器地址栏直接输入路由、刷新按钮报404的问题
        location @router {
            rewrite ^.*$ /index.html last;
        }
        # 动态资源配置,所有动态资源以/app开头,非/app开头的都是静态资源
        location ^~/app {
            # 将/app/删除,然后再转发请求给后端服务器
            rewrite ^/app/(.*) /$1 break;
            
            # nginx跨域配置  [可选]
            proxy_set_header Host $http_host;
            proxy_set_header x-Rea7-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header x-Forwarded-For $proxy_add_x_forwarded_for;
            
            # 后端服务器配置
            proxy_pass http://balance;
        } 
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    # 后端服务器列表
    upstream balance{
        server 192.168.7.131:8080; # 后台程序如果是docker运行的,此处的ip应为容器ip
        #server 127.0.0.1:8082;
    }
}

        将生成的dist文件压缩为zip并上传到主机上 

        创建nginx容器,并挂载目录

docker run -d --name nginx-mall -p 80:80 -v /home/luobei/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/luobei/nginx/mall/:/usr/local/nginx/static nginx

3.Docker

docker常用指令
docker images 查看有哪些镜像
docker serach  xxx 搜索镜像
docker pull xxx:xxx 拉取对应版本的镜像
docker save -o xxx.tar xxx 将镜像导出为一个tar文件
docker load -i xxx.tar 加载镜像
docker rmi 镜像/id 删除镜像
docker exec -it 容器id bash 进入容器内部
docker rm 容器名/id 删除容器
docker stop 容器名/id 停止容器
docker start 容器名/id 启动容器
docker run -d -p --name 镜像名 运行镜像生成容器,--name指定容器名,-p端口,-d后台
docker logs  容器名/id 查看容器的日志
docker inspect 容器名 查看容器详细信息(ip地址)
docker build -t 镜像名:版本 . 根据Dockerfile构建镜像

3.1 IDEA使用Docker

安装docker插件

先确定是否安装docker插件:File → Settings... 找到plugins,在中间栏搜索“docker”,如果没安装则安装,如果已经安装了就不用再次安装

image-20221212162009116

服务器上开启docker远程访问

编辑docker配置文件

vi /lib/systemd/system/docker.service

添加以下内容

ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H 0.0.0.0:2375

image-20221212163326877

重启docker服务

systemctl daemon-reload

systemctl restart docker

开启2375端口

firewall-cmd --zone=public --add-port=2375/tcp --permanent systemctl restart firewalld.service 

新建连接

IDEA中 File → Settings...

image-20221212163552622

指定docker的URL

image-20221212163956347

点击“OK”完成创建,创建完毕之后会在IDEA的Services选项卡中出现docker信息

image-20221212164106308

在Docker上右键 → Connect连接Docker

image-20221212164341450

猜你喜欢

转载自blog.csdn.net/LB_bei/article/details/132532494