【Docker】在centos中安装nginx

                                      🎉🎉欢迎来到我的CSDN主页!🎉🎉

                            🏅我是平顶山大师,一个在CSDN分享笔记的博主。📚📚

            🌟推荐给大家我的博客专栏《【Docker】安装nginx》。🎯🎯

                        🎁如果感觉还不错的话请给我关注加三连吧!🎁

目录

一,nginx介绍

二,安装nginx

三,Docker集成tomcat,jdk,nginx


一,nginx介绍

【反向代理和负载均衡器】

Nginx(发音为"engine x")是一款高性能的开源Web服务器,也可以用作反向代理、负载均衡器和HTTP缓存。

Nginx 的主要特点包括:

  1. 高性能:Nginx 可以处理大量的并发连接,而且在高负载情况下表现良好。

  2. 可扩展性:Nginx 可以作为反向代理和负载均衡器,可以轻松地扩展到多台服务器上。

  3. 低内存消耗:Nginx 采用事件驱动的模型,不需要为每个连接创建一个线程或进程,因此内存消耗比传统的 Web 服务器更低。

  4. 热部署:Nginx 支持热部署,可以在运行时重新加载配置文件和模块,无需重启服务器。

  5. 可靠性:Nginx 可以处理各种异常情况,如网络故障、后端服务器故障等。

二,安装nginx

docker pull nginx
docker run -itd --name nginx -p 80:80 nginx:latest

访问:404是因为容器中没有内容

输入ip访问:

这里我们要修改nginx的配置文件:

在soft下面创建:

mkdir -p /soft/nginx/conf.d

default.conf

#服务器的集群
upstream tomcatList {  server 172.20.0.101:8080 weight=1; server 172.20.0.102:8080 weight=1; server 172.20.0.103:8080 weight=1; 
} server {listen  80;server_name  www.zkingedu.com;location / {root   /etc/nginx/html/;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}location ~^/api/ {rewrite ^/api/(.*)$ /$1 break;proxy_pass  http://tomcatList;proxy_redirect default;}}

将html资源放入:

这时候没有后台数据:

这里访问没有数据有两个原因:

1.mysql连接有问题

2.没有设置域名

C:\Windows\System32\drivers\etc

三,Docker集成mysql,jdk,nginx(部署一个前后分离项目)

查看安装的镜像:

安装mysql镜像

docker pull mysql/mysql-server

在root中创建一个存放MySQL的文件夹:mode

mysql有conf存放配置文件,data存放数据的。

mkdir -p /mode/mysql/{conf,data}  

构建一个mysql,使用目录挂载的方式将外面的数据库挂载到容器中去

docker run \
--name m1 \
-v /mode/mysql/conf/my.cnf:/etc/my.cnf \
-v /mode/mysql/data:/var/lib/mysql \
--privileged=true \
-e MYSQL_ROOT_PASSWORD=123456 \
--net mynet \
--ip 172.20.0.200 \
-d mysql/mysql-server:5.7

进入mysql给root授予权限:

docker exec -it m1 bash

m1 是需要进入哪个数据库容器


grant all on *.* to root@'%' identified by '123456';

 报错:查看报错信息:

docker logs -f s1

创建数据库:

create database shop;  

使用创建号的数据库:

use shop;

执行:

source  /var/lib/mysql/book.sql;

show tables;

退出:

exit;

一定要重启:

docker restart m1

ip:8080/book/list        访问查看数据

编辑并且创建Dockerfile文件,用于创建镜像的配置命令:

vim Dockerfile
#1.指定基础镜像,并且必须是第一条指令
FROM  openjdk
#3.在构建镜像时,指定镜像的工作目录,之后的命令都是基于此工作目录,如果不存在,则会创建目录
WORKDIR  /project
#4.将文件从Docker主机将jdk及jar包复制到Docker镜像中
COPY  spring.jar /project
#5.容器启动时,需要执行的命令(执行jar包)
CMD java -jar spring.jar --mysql.addr=m1

i 进行编辑 ,编辑完成按Esc,并且输入:wq进行保存并且退出。

docker  build  -t spring:v1 .

删除镜像:

docker rmi spring:v1

这里要切换到我们spring.jar的所在目录:不然会出现一个找不到的报错

创建3个容器:这里注意自定义网络,ip要遵循自定义网络规则。为负载均衡做准备。

docker run -itd --name s1 --net mynet -p 8080:8080 --ip 172.20.0.101 spring:v1
docker run -itd --name s2 --net mynet --ip 172.20.0.102 spring:v1
docker run -itd --name s3 --net mynet --ip 172.20.0.103 spring:v1

将上一个nginx删掉:

docker rm -f nginx
 

重新布置一个nginx容器

 docker run -itd --name n1 -v /soft/nginx/conf.d:/etc/nginx/conf.d -v /soft/nginx/html:/etc/nginx/html/ -p 80:80 --net mynet --ip 172.20.0.104 nginx

访问查看:刷新部署成功

域名已经代理掉了:

                认真写博客的人,见一个少一个🤩🤩🤩🤩🤩🤩🤩🤩🤩

               👍 点赞支持,⭐️ 收藏学习,❤️ 关注不迷路~💬 如有错漏请不吝指正~

                                平顶山大师-CSDN博客 平顶山大师-CSDN博客

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

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

相关文章

7+细胞焦亡+ceRNA+实验验证,如何脱离套路求创新?

导语 今天给同学们分享一篇生信文章“Dissection of pyroptosis-related prognostic signature and CASP6-mediated regulation in pancreatic adenocarcinoma: new sights to clinical decision-making”,这篇文章发表在Apoptosis期刊上,影响因子为7.2。…

【JAVA】我和我的第一个“对象”相遇

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-zAjv1fTLGQmnqncy {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

安泰ATA-2082高压放大器如何驱动超声探头进行无损检测

无损检测技术是一种在不破坏或影响被检测物体性能的前提下,通过物理或化学方法对其内部或表面的缺陷进行检测的技术。在无损检测领域,超声检测是一种广泛应用的方法,而ATA-2082高压放大器则是实现高效、精确超声检测的关键设备之一。本期内容…

HTTPS基本概念

HTTP 与 HTTPS 有哪些区别? HTTP 是超文本传输协议,信息是明文传输,存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷,在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。HTTP 连接建立相…

CVE-2024-0738 Mldong ExpressionEngine RCE漏洞分析

漏洞描述 A vulnerability, which was classified as critical, has been found in ???? mldong 1.0. This issue affects the function ExpressionEngine of the file com/mldong/modules/wf/engine/model/DecisionModel.java. The manipulation leads to code injection…

【蓝桥备赛】数组分割——组合数学?

题目链接 数组分割 个人思路 两个数组都需要和为偶数,那么就去思考一个数组如何才能和是偶数呢?? 数组里肯定要么是奇数要么是偶数,偶数无论有多少个,都不会改变一个数组的奇偶性。但是奇数个奇数的和还是奇数&…

Vue+Element(el-switch的使用)+springboot

目录 1、编写模板 2、发送请求 3、后端返数据 1.Controller类 2.interface接口(Service层接口) 3.Service(接口实现) 4.interface接口(Mapper层接口) 5.xml 6.效果 4、el-switch属性 1、编写模板 …

Linux操作系统常用指令大全(一)

一、关机与重启指令 (1)shutdown - 关机 语法:shutdown shutdown -h now 【立即关机】 shutdown -h 1 【1分钟后关机,shutdown后不填默认一分钟后关机】 shutdown -r now 【立即重启】 (3)reboot - 重启 …

数字图像处理(实践篇)二十六 使用cvlib进行人脸检测、性别检测和目标检测

目录 1 安装cvlib 2 涉及的函数 3 实践 4 其他 cvlib一个简单,高级,易于使用的开源Python计算机视觉库。 1 安装cvlib # 安装依赖pip install opencv-python tensorflow# 安装cvlibpip install cvlib</

【最新!超详细C++入门】

01_C语言基础 一、课程目标 1、掌握 C基本语法&#xff1a;变量、常量、注释、标识符命名规范 2、掌握C数据类型 3、掌握C的输入和输出 4、掌握C运算符和表达式 5、掌握条件语句 6、掌握循环语句 二、课程内容 1 C初识 1.1 第一个C程序 编写一个C程序总共分为4个步骤…

iLO 安装中文固件包

前言 安装中文版本的安装包&#xff0c;需要把对应的ilo安装到固定的版本上&#xff0c;ilo的版本是2.70。必须是这个版本&#xff1b; 如果不是这个版本就需要刷到对应的ilo版本 下载对应的固件包。 到这个界面选择文件&#xff0c;然后点击上载。 以上就是刷系统包的步骤。 …

MATLAB 和 Octave 之间的区别

MATLAB 和 Octave 之间的区别 MATLAB 和 Octave 有一些区别&#xff0c;但大多数都是相同的。你可以说 Octave 是 MATLAB 的免费版本&#xff0c;语法几乎与 MATLAB 相同。但是 MATLAB 比 Octave 具有更多功能&#xff0c;就像具有 Simulink 一样&#xff0c;后者用于开发和分…

Unity3D 游戏转场时如何保留节点信息详解

前言 Unity3D是一款非常强大的游戏开发引擎&#xff0c;它提供了丰富的功能和工具&#xff0c;使开发者能够轻松创建各种类型的游戏。在游戏开发过程中&#xff0c;转场是一个非常常见的需求&#xff0c;它可以使游戏过程更加流畅和连贯。然而&#xff0c;在转场过程中&#x…

前端基于XLSX实现数据导出到Excel表格,以及提示“文件已经被损坏,无法打开”的解决方法

文章目录 一、vue实现导出excel1、前端实现1、安装xlsx依赖2、引入3、方法4、使用4.1、将一个二维数组转成sheet4.2、将一个对象数组转成sheet4.3、合并单元格4.4、一次导出多个sheet 5、支持的文件格式 2、后端实现 二、导出文件损坏1、前端请求导出接口&#xff0c;增加返回类…

宝塔FTP文件传输服务结合cpolar内网穿透实现远程连接本地服务

⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 文章目录 ⛳️ 推荐1. Linux安装Cpolar2. 创建FTP公网地址3. 宝塔FTP服务设置4. FTP服务远程连接小结 5. 固定FTP公网地址6. 固…

C++ 20 Module

头文件包含一直是C/C的传统&#xff0c;它使代码声明与实现分离&#xff0c;但它有一个非常大的问题就是会被重复编译&#xff0c;拖累编译速度。 通常一个标准头文件iostream展开后可能达几十万甚至上百万行。笔者使用下面的示例进行测试&#xff0c;新建一个main.cc&#xf…

在vite.config.js 配置代理

在 Vite 中&#xff0c;你可以使用 proxy 选项在 vite.config.js 文件中配置代理。这可以让你在开发时将特定的请求代理到其他服务器或本地端口&#xff0c;而不需要修改源代码。下面是一个示例和说明&#xff0c;帮助你了解如何配置代理。 示例和说明 假设你有一些 API 请求…

processing集训day01

介绍 Processing是一门开源编程语言&#xff0c;提供了对图片&#xff0c;动画和声音进行编程的环境。学生&#xff0c;艺术家&#xff0c;设计师&#xff0c;建筑师&#xff0c;研究人员和业余爱好者可以使用Processing进行学习&#xff0c;制作原型以及作为生产工具。你可以…

C++:迭代器失效问题

目录 1.vector迭代器失效问题 1.底层空间改变 ​编辑 2.指定位置元素的删除操作 2.Linux下的迭代器失效检测 1.扩容 2.删除 3.解决方法 1.vector迭代器失效问题 迭代器的主要作用就是让算法能够不用关心底层数据结构&#xff0c;其底层实际就是一个指针&#xff0c;或者是…

前端使用css去除input框的默认样式

关键点&#xff1a; /* 关键点&#xff0c;让输入框无边框 */outline:none; border:none; 1.效果图 2.html <div class"container"><input type"text" placeholder"请输入用户名"><input type"text" placeholder&q…