首页 > 系统相关 >Docker中使用Nginx部署Web项目

Docker中使用Nginx部署Web项目

时间:2023-04-14 23:04:13浏览次数:42  
标签:Web 配置文件 Nginx default nginx html proxy conf Docker

环境

Ubuntu 22.04.2 LTS

docker

安装

官网教程

  1. Set up [Docker’s package repository] (https://docs.docker.com/engine/install/ubuntu/#set-up-the-repository). 只需要前三步,后面的步骤是安装 Docker Engine
  2. Download latest DEB package.

Nginx

使用镜像创建一个容器

配置文件

有两个配置文件:

  1. /etc/nginx/conf.d/default.conf
  2. /etc/nginx/nginx.conf

nginx.conf是配置文件,该文件最后引用了default.conf,可以通过修改default.conf达到配置目的。

default.conf配置文件

server {
    listen       80; # 默认监听80端口,这是容器里的默认端口,真实的端口要看docker的端口映射。
    listen  [::]:80; # IPv6的端口
    server_name  localhost;

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

    location / {
        root   /usr/share/nginx/html/myhtml; # 我们的html页面
        index  index.html index.htm;
    }
    
    upstream backend {
        server 172.27.111:8081 max_fails=5 fail_timeout=10s weight=1;
        #server 172.27.111:8082 max_fails=5 fail_timeout=10s weight=1;
    } 

    # 通过将前端的请求修改后发送到后端
    location /api {  
        default_type  application/json;
        #internal;  
        keepalive_timeout   30s;  
        keepalive_requests  1000;  
        #支持keep-alive  
        proxy_http_version 1.1;  
        rewrite /api(/.*) $1 break;  # 去掉“api”
        proxy_pass_request_headers on;
        proxy_next_upstream error timeout;  
        proxy_pass http://172.27.111.128:8081; # 后端地址,在容器中不能使用127.0.0.1
        #proxy_pass http://backend; # 可以替换上面一行,实现负载均衡
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
  
}

标签:Web,配置文件,Nginx,default,nginx,html,proxy,conf,Docker
From: https://www.cnblogs.com/gz-j/p/17320189.html

相关文章

  • JAVAWEB-项目-实现登录功能步骤-2023-04-14
    第一步:编写前端页面第二步:设置首页第三步:编写dao层用户dao接口第四步:编写Servic层用户Service接口实现类第五步:编写Servic层用户Service接口第六步:编写Servic层用户Service接口实现类(用@Test测试一下是否可行)第七步:编写LoginServlet类第八步:web.xml注册LoginServlet第九......
  • Ununtu服务器安装Nginx与PHP
    Ununtu服务器安装Nginx与PHP1.安装Nginx:1.1sudoaptupdatesudoaptinstallnginx验证结果,使用命令:sudosystemctlstatusnginx若有结果如下则说明成功:但注意,此时只是在服务器上配置好了nginx,执行nginx-v应当可以看到版本号。此外,如果对nginx更新了配置,如增加了PH......
  • Ubuntu20.04 Docker搭建远程xfce桌面以及ssh教程
    简介:本文主要介绍ubuntu20.04容器中搭建xfce远程桌面、C++、Go环境、容器内docker操作配置、zsh配置  一、创建容器1、创建容器dockerpull ubuntu:20.04dockerrun-itd--privileged--name=my-desktop--ulimitmemlock=-1:-1--network="network-local"-p22666:22-p......
  • Go For Web:Golang http 包详解(源码剖析)
    前言:本文作为解决如何通过Golang来编写Web应用这个问题的前瞻,对Golang中的Web基础部分进行一个简单的介绍。目前Go拥有成熟的Http处理包,所以我们去编写一个做任何事情的动态Web程序应该是很轻松的,接下来我们就去学习了解一些关于Web的相关基础,了解一些概念,以及......
  • docker_day04:Dockerfile docker私有仓库 dockercompose介绍 dockercompose部署 一件部
    目录回顾Dokerfile常用和不常用命令dockerfile构建一个djagno项目公司中,使用Docker开发的工作流程docker私有仓库镜像传到官方仓库镜像分层私有仓库搭建dockercompose介绍dockercompose部署flask+redis项目新建flask项目app.py编写Dockerfile--->>>用于构建flask项目的镜像编写......
  • Linux离线安装nginx详细教程
    本文安装环境centos7.9一、什么是离线安装?使用离线安装包进行软件安装的方式就叫离线安装。离线安装包又叫做完整安装包,包含所有的安装文件。与其相对的是在线安装,即在条件允许且网络良好的条件下采用网络安装的方式。在线安装方式的缺点是在不太好的网络状况下容易出现长时......
  • nginx、PHP安装配置
    1、安装nginxsudoapt-getinstallnginx2、配置nginxsudovim/etc/nginx/sites-available/defaultserver{ listen80; #443是https的端口,如果你用的是http就用‘80’代替‘443ssl’ #server_namewebofhu.......
  • repository does not exist or may require 'docker login'
    理论上从docker hub拉取镜像时是不需要的登录,所以就只有一个原因: repositorydoesnotexist仓库类型将私有改成公开 ......
  • web空指针报500错误
     循环遍历数据遇到空指针,调试,发现转发没错,取出现问题。  后想起,需要先将数据查询,使得先进行转发再取,之前是直接取,所以为空。 将web配置后可行。 ......
  • Docker CLI docker compose create常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍DockerCLI中d......