首页 > 其他分享 >项目部署体验

项目部署体验

时间:2023-12-22 16:55:21浏览次数:31  
标签:log 项目 部署 nginx 网桥 proxy 体验 -- docker

docker部署踩的坑

前提

你需要拥有一个远程服务器或者是本地虚拟机

安装docker

Centos安装docker Install Docker Engine on CentOS | Docker Docs

部署后端

部署mysql

docker run -d -v 数据卷名称:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --restart always --name 镜像名称 mysql:8.0

部署redis

docker run -d -p 6379:6379 -v 数据卷名称:/data --restart always --name 镜像名称 redis:7.0 redis-server --appendonly yes

部署jar

docker run -d  -v 数据卷名称:/usera/java  -p 项目端口:项目端口  --restart  always --name 镜像名称  --network 网络名称  java:openjdk-8u111 java -jar /usera/java/zl-admin-1.0-SNAPSHOT.jar "yml配置文件需要需要修改的地方--spring.datasource.url= " 

这样部署并不能正常运行jar,原因:jar无法与mysql和redis建立连接通信。

需要建立网桥,将redis和mysql,jar处于同一个网桥

创建网桥

docker network create 网络名

将镜像加入到网桥中

docker network connect 网桥名 镜像名称

查看网桥信息

docker network inspect 网桥名

部署前端

对于不知道nginx.conf配置的我极其痛苦

准备:需要将自己的前端项目打包比如vue执行(npm run build)进行打包生成dist文件,传输到自己的服务器上去,可以在本地书写nginx.conf配置文件

docker run -d -p 项目端口:80 -v  dist文件地址:/usr/share/nginx/html -v nginx.conf地址:/etc/nginx/nginx.conf  --restart always --name vue-admin  nginx:latest

天真的我以为这就结束战斗了,当我进行测试发现访问后端接口404.404表示地址不存在的状态码。问题直接锁定nginx转发地址错误。

经过了解nginx,知道nginx反向代理

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

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

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
    server {
        listen 80;
        server_name 你的服务器地址;
        charset utf-8; 

         location / {
          root /usr/share/nginx/html;
          index index.html index.htm;
          try_files $uri $uri/ /index.html; 
         }
         #请求地址中含有/prod-api/的url将其转发
        location /prod-api/ {
            proxy_pass http://你的服务器地址和端口/;  #注意端口后面这个斜杠,作用将/prod-api/代替(即去除前缀)
            add_header backendCode $upstream_status; 
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Istoken $http_Istoken;
            proxy_set_header Token $http_Token;
        }
    }
}

注意:修改nginx.conf一定要重新加载nginx.

docker exec -it nginx镜像名称 nginx -s reload 

进阶:dockerFile

标签:log,项目,部署,nginx,网桥,proxy,体验,--,docker
From: https://www.cnblogs.com/wzl66/p/17921966.html

相关文章

  • HarmonyOS 初体验 (七)了解包结构
    上一篇HarmonyOS初体验(五)了解UI、应用模型应用结构结构图Module描述:一个应用包含一个或者多个Module,可以在DevEcoStudio工程中创建一个或者多个Module。Module是HarmonyOS应用/服务的基本功能单元,包含了源代码、资源文件、第三方库及应用/服务配置文件,每一个Module都......
  • HarmonyOS 初体验 (五)了解UI、应用模型
    上一篇HarmonyOS初体验(四)项目运行UI设计:ArkUI框架地址HarmonyOS提供了一套UI开发框架,即方舟开发框架(ArkUI框架)https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/start-overview-0000001478061421-V2基本概念UI:即用户界面。开发者可以将应用的用......
  • vue项目中使用的移动端的签名组件,纯 js 写的
    <template><section><divclass="sign-wrap"><divclass="main"><divclass="box"style="width:100%;height:100%"><!--<vue-esignref="esign&qu......
  • 前端 - 前端项目引入外部字体
    最近前端小朋友又遇到了一个问题,就是很多时候UI设计师设计出来的效果图都包含一些特殊字体,而众所周知,显示字体的前提条件是安装字体,可我们怎么能保证用户每个人本地都安装了我们需要的字体呢?答案是把字体文件放到前端项目中。我以当前遇到的字体为例说明一下步骤。注意:我们因为......
  • 项目里出现两个配置类继承WebMvcConfigurationSupport时,为什么只有一个会生效(源码分析
    为什么我们的项目里出现两个配置类继承WebMvcConfigurationSupport时,只有一个会生效。我在网上找了半天都是说结果的,没有人分析源码到底是为啥,博主准备讲解一下,希望可以帮到大家!大家基本遇到过一种情况,就是我配置类中已经配置了,为什么就是没有生效呢?其中一种原因就是,自己写的......
  • 经纬恒润参建龙拱港项目荣获5G“绽放杯”全国赛一等奖
        近日,第六届“绽放杯”5G应用征集大赛全国总决赛在上海落幕。济宁港航龙拱港联合经纬恒润、济宁移动、中兴通讯共同打造的“5G专网赋能江北内河最大的集装箱示范港建设”项目,从全国4万多个优秀项目案例中脱颖而出,荣获全国赛区一等奖!此项目也是本届绽放杯全国赛港口行业......
  • rebar3 erlang 项目管理工具
    rebar3是erlang提供的构建,测试以及发布工具安装下载wgethttps://s3.amazonaws.com/rebar3/rebar3&&chmod+xrebar3安装./rebar3localinstall之后配置环境变量使用提供的命令asHigherorder......
  • 2024年12月西安/深圳软考系统集成项目管理工程师认证招生
    系统集成项目管理工程师是全国计算机技术与软件专业技术资格(水平)考试(简称软考)项目之一,是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试,既属于国家职业资格考试,又是职称资格考试。 系统集成项目管理工程师,属于软考三个级别中的“中级”。  【报考资格】 不设......
  • 前端 vue项目启动报错 spawn cmd ENOENT 的原因以及解决方案
    前端项目启动到一半的时候卡在跳转浏览器出现了这个问题 那么问题大概率就是你环境刚配置或者配置错了的问题,这个时候只需要找到我的电脑=>属性=>高级系统设置=>环境变量=>系统变量=>PATH环境=>双击进去=>添加环境变量=> 添加这俩个 C:\Windows\System......
  • 一些关于Python的简单项目1
    随机投掷骰子#掷骰子游戏#importrandom##print("欢迎来到掷骰子游戏")#a=1#b=2#f=False#ans1=0#ans2=0#whileans1<=20andans2<=20:#iff==False:#print(f'请玩家{a}按Enter键投掷骰子')#ifi......