【ubuntu】ubuntu 20.04安装docker,使用nginx部署前端项目,nginx.conf文件配置

docker 官网:Install Docker Engine on Ubuntu

一、安装docker

1.将apt升级到最新

sudo apt update

在这里插入图片描述

2.使用apt安装 docker 和 docker-compose (遇到提示输入y

sudo apt install docker.io docker-compose

在这里插入图片描述

3.将当前用户添加到docker用户组

sudo usermod -aG docker ${USER}

在这里插入图片描述

4.运行hello-world

sudo docker run hello-world

在这里插入图片描述
运行成功

在这里插入图片描述

二、安装nginx

#1.在宿主机创建挂在容器的目录映射,创建目录用于存储数据信息
cd /usr/local/develop
sudo mkdir docker-app
cd docker-app
sudo mkdir nginx
cd nginx#2.搜索nginx镜像
sudo docker search nginx#3.拉取nginx镜像
sudo docker pull nginx#4.创建简单容器,设置端口映射    (本机:容器)
sudo docker run -id --name nginx -p 80:80 nginx#5.执行复制命令(复制容器里的配置文件到本地目录)
sudo mkdir -p conf logs html 
sudo docker cp nginx:/etc/nginx/nginx.conf /usr/local/develop/docker-app/nginx/conf/nginx.conf
sudo docker cp nginx:/var/log/nginx /usr/local/develop/docker-app/nginx/logs
sudo docker cp nginx:/usr/share/nginx/html /usr/local/develop/docker-app/nginx/html#6.删除容器
sudo docker stop <容器名或者容器id>
sudo docker rm <容器名或者容器id>#7.修改配置文件
sudo docker gedit conf/nginx.conf#或者
sudo vim conf/nginx.conf#7.创建最终容器并挂载
sudo docker run -id --name nginx -p 80:80 -v /usr/local/develop/docker-app/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/develop/docker-app/nginx/logs:/var/log/nginx -v /usr/local/develop/docker-app/nginx/html:/usr/share/nginx/html nginx

三、nginx.conf 文件配置


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;       # 配置监听的端口listen  [::]:80;server_name  localhost;    # 配置的域名# location段配置信息location / {root   /usr/share/nginx/html;  # 网站根目录index  index.html index.htm;   # 默认首页文件# 前端加载404问题try_files $uri $uri/ /index.html;}location ^~/prod-api/{proxy_pass http://xxx.xxx.xx.xx:xxxx/;}}
}

四、配置多个项目、映射多个端口

1.修改配置文件

修改conf/nginx.conf

2.重新挂载

sudo docker run -id --name nginx -p 80:80 -p 81:81 -v /usr/local/develop/docker-app/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/develop/docker-app/nginx/logs:/var/log/nginx -v /usr/local/develop/docker-app/nginx/html:/usr/share/nginx/html nginx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/417176.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

创建SERVLET

创建SERVLET 要创建servlet,需要执行以下任务: 编写servlet。编译并封装servlet。将servlet部署为Java EE应用程序。通过浏览器访问servlet。编写servlet 要编写servlet,需要扩展HttpServlet接口的类。编写servlet是,需要合并读取客户机请求和返回响应的功能。 读取和处…

逆向分析C++类的本质

面向对象的语言中&#xff0c;类这种语言特性是最基本也是最重要的东西。这篇博客记录下从汇编角度去理解类的本质是什么。创建一个对象的本质又是什么。 一.C语言中的结构体和C的类有啥区别 我们知道在C语言中&#xff0c;有语言本身自带的一些内置类型。比如int&#xff0c…

SpringBoot 项目中后端实现跨域的5种方式!!!

文章目录 SpringBoot 项目中后端实现跨域的5种方式&#xff01;&#xff01;&#xff01;一、为什么会出现跨域问题二、什么是跨域三、非同源限制四、Java后端 实现 CORS 跨域请求的方式1、返回新的 CorsFilter(全局跨域)2、重写 WebMvcConfigurer(全局跨域)3、使用注解 (局部跨…

用Photoshop来制作GIF动画

录了个GIF格式的录屏文件&#xff0c;领导让再剪辑下&#xff0c;于是用Photoshop2023&#xff08;PS版本低至CS6操作方式一样&#xff09;进行剪辑&#xff0c;录屏文件有约1400帧&#xff0c;由于我处理的帧数太多&#xff0c;PS保存为GIF格式时&#xff0c;还是挺耗时的&…

基于Redisson的RAtomicLong实现全局唯一工单号生成器

最近几年&#xff0c;我一直从事的是运营平台业务开发。每天&#xff0c;我们都需要处理大量的工单配置工作。为了生成工单号&#xff0c;我们建立了一张专用的数据库表&#xff0c;用于记录和生成工单号。每次创建工单时&#xff0c;我们会查询这张表&#xff0c;根据年份字段…

视频图像的color range简介

介绍 研究FFmpeg发现&#xff0c;在avcodec.h中有关于color的解释&#xff0c;主要有四个属性&#xff0c;primaries、transfer、space和range。 color primaries&#xff1a; 基于RGB空间对应的绝对颜色XYZ的变换&#xff0c;决定了最终三原色RGB分别是什么颜色&#xff1b;…

Linux上软件安装

软件安装常见方式 二进制发布包 软件已经针对具体平台编译打包发布&#xff0c;只要解压&#xff0c;修改配置即可。 RPM包 软件已经按照redhat的包管理工具规范RPM进行打包发布&#xff0c;需要获取到相应的软件RPM发布包&#xff0c;然后用RPM命令进行安装&#xff0c;但…

开源模型应用落地-qwen模型小试-入门篇(五)

一、前言 这是关于qwen模型入门的最后一篇文章。主要介绍如何使用魔搭的API在本地调用qwen模型。此外&#xff0c;通过阅读这一系列的文章&#xff0c;如果您真的亲自动手实践过&#xff0c;我相信您已经掌握了qwen模型的基本使用方法。 二、术语 2.1. ModelScope社区 打造下一…

【运维】安装双系统之后,如何删除主硬盘的Linux的引导,图文教程

前置条件&#xff1a;已经安装了windows10系统和Linux系统&#xff0c;而且windows10系统是C盘主要盘&#xff0c;Linux系统是安装在别的硬盘上&#xff0c;这个时候C盘主要盘里面的引导分区里是由Linux的引导的&#xff0c;所以打开电脑之后才能让你选是使用windows系统还是使…

pyqt5+python子域名扫描程序

import sysfrom PyQt5 import uic from PyQt5.QtWidgets import * #requests库内置了不同的方法来发送不同类型的http请求 import requests#BS主要功能是从网页抓取数据&#xff0c;提供一些简单的、python 式的函数用来处理导航、搜索、修改分析树等功能 from bs4 import Beau…

ValueError: Unable to read workbook: could not read strings from data.xlsx解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

flutter在windows系统上实现左右水平滑动问题

在个问题在github也有记录&#xff1a;https://github.com/flutter/flutter/issues/105095 就是flutter使用listview等可以滑动的组件来左右滚动的时候&#xff0c;不能正常工作&#xff0c;也就是无效&#xff0c;所以下面大家开始讨论这个问题。 翻阅大家讨论的内容&#x…