nginx使用(基于docker)

article/2025/8/17 6:15:03

一、安装Nginx

1. 搜索 nginx 镜像
docker search nginx

2、拉取nginx镜像

docker pull nginx

3、创建容器,设置端口映射、目录映射

配置

user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
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;
}

配置~/nginx/conf.d/port.conf

创建nginx 容器

docker run -id --name = c_nginx \
-p 80 :80 \
-p 81 :81 \
-p 82 :82 \
-v $PWD /conf/nginx.conf:/etc/nginx/nginx.conf \
-v $PWD /conf.d:/etc/nginx/conf.d \
-v $PWD /logs:/var/log/nginx \
-v $PWD /html:/usr/share/nginx/html \
nginx

 

 

二、配置虚拟主机
1、上传静态⽹站
/ 资料 / 静态⻚⾯ /index ⽬录上传⾄ /usr/local/nginx/index
/ 资料 / 静态⻚⾯ /regist ⽬录上传⾄ /usr/local/nginx/regist
 
2、修改 Nginx 的配置⽂件: ~/nginx/config.d/port.conf

server {
    listen 81; # 监听的端⼝
    server_name localhost; # 域名或ip
    location / { # 访问路径配置
        root /usr/local/nginx/index;# 根⽬录
        index index.html index.htm; # 默认⾸⻚
    }
    error_page 500 502 503 504 /50x.html; # 错误⻚⾯
    location = /50x.html {
        root html;
    }
}

server {
    listen 82; # 监听的端⼝
    server_name localhost; # 域名或ip
    location / { # 访问路径配置
        root /usr/local/nginx/regist;# 根⽬录
        index regist.html; # 默认⾸⻚
    }
    error_page 500 502 503 504 /50x.html; # 错误⻚⾯
    location = /50x.html {
        root html;
    }
}

3、访问测试:
地址栏输⼊ http://192.168.177.129/:81 可以看到⾸⻚⾯
地址栏输⼊ http://192.168.177.129/:82 可以看到注册⻚⾯
三、域名绑定
1、 本地测试可以修改 hosts ⽂件, 配置域名和 ip 的映射关系
192.168.177.129 www.xzk.com
192.168.177.129 regist.xzk.com
修改 nginx配置⽂件~/nginx/config.d/domain.conf

四、反向代理

1、准备工作

搜索tomcat镜像

docker search tomcat

拉取tomcat镜像

docker pull tomcat

创建容器,设置端⼝映射、⽬录映射
# /root ⽬录下创建 tomcat ⽬录⽤于存储 tomcat 数据信息
mkdir ~/tomcat
cd ~/tomcat
docker run -id --name = c_tomcat \
-p 8080 :8080 \
-v $PWD :/usr/local/tomcat/webapps \
tomcat

2、配置反向代理

配置~/nginx/config.d/proxy.conf
重新启动 Nginx 然后⽤浏览器测试: http://www.kkb.com (此域名须配置域名指向)
五、 负载均衡
1、准备工作
使⽤ docker 创建 3 tomcat 容器,端⼝分别为 8080 8081 8082
docker run -id --name=c_tomcat1 \
-p 8080:8080 \
-v $PWD:/usr/local/tomcat/webapps \
tomcat
docker run -id --name=c_tomcat2 \
-p 8081:8080 \
-v $PWD:/usr/local/tomcat/webapps \
tomcat
docker run -id --name=c_tomcat3 \
-p 8082:8080 \
-v $PWD:/usr/local/tomcat/webapps \
tomcat
分别启动这三个 tomcat服务, 为了能够区分是访问哪个服务器的⽹站,可以在⾸⻚标题加上标记以便区分
2、配置负载均衡
修改 Nginx配置⽂件:~/nginx/config.d/proxy.conf

地址栏输⼊www.huike.com访问, 三台服务器出现的概率各为 33.3333333%
如果想让一台服务器出现的概率增加,可以设置权重

 


http://chatgpt.dhexx.cn/article/IxU9GcRl.shtml

相关文章

Nginx使用及配置

nginx是什么? nginx是俄罗斯人 Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的一个十分轻量级的HTTP服务器。它是一个高性能的HTTP和反向代理服务器,同时也可以作为IMAP/POP3/SMTP的代理服务器。nginx使用的是BSD许可。 Nginx 以事件驱动的方式…

nginx使用以及配置

nginx主要使用的地方就是用来进行反向代理的http服务器, 主流的Web服务器有: 1、Apache,开源免费,具有简单、高速、性能稳定等特点,可作代理服务器使用; 2、Nginx,是一种高性能的HTTP和反向代理web服务器,支持高并发…

Nginx介绍及基本使用

1.介绍 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有&#xff1a…

nginx的使用

目录 1.何为nginx 2.如何使用 3.关于nginx配置文件 4.nginx三大核心 4.1 反向代理 4.2 负载均衡 4.3 动静分离 4.4 高可用 4.4.1 安装keepalived 代理服务器--使用比较多的为nginx代理服务器。 1.何为nginx Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,其…

MySQL 的索引

文章目录 索引简介普通索引主键索引唯一索引全文索引外键索引复合索引复合索引生效的几种方式复合索引会失效的情况 索引的优点高性能的索引策略独立的列前缀索引和索引的选择性复合索引选择合适的索引列顺序聚簇索引索引的 Btree 结构聚簇索引和非聚簇索引的区别聚簇索引的优点…

[MySQL]索引详解

专栏简介 :MySql数据库从入门到进阶. 题目来源:leetcode,牛客,剑指offer. 创作目标:记录学习MySql学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 1.什么是索引? 当我们想要在书中查找某个知识点时 , …

MySQL:索引特性

索引 0. 预备知识 索引是一个“物美价廉”的特性,用来提高数据库的性能。不需要改程序、调SQL、只需要正确的创建索引,查询速度就能提高成百上千倍,但查询速度的提升也带来了插入、更新、删除速度的下降。 0.1 认识磁盘 MySQL对数据进行增…

MySQL的索引与事务

作者:敲代码の流川枫 博客主页:流川枫的博客 专栏:和我一起学java 语录:Stay hungry stay foolish 给大家推荐一款好用的神器Apifox Postman Swagger Mock JMeter。集接口文档工具、接口Mock工具、接口自动化测试工具、接…

什么是 MySQL 索引?

什么是索引? 假设我们有一张数据表 employee(员工表),该表有三个字段(列),分别是name、age 和address。假设表employee有上万行数据(这公司还真大),现在需要从这个表中查找出所有名字是‘ZhangSan’的雇员信…

MySQL 索引结构

前言 在上一篇 MySQL 索引类型 中,我们已经了解了索引的基本概念以及分类,那么,索引的结构是什么样的?为什么索引可以这么快?这一篇文章将继续探讨索引的实现原理和数据结构,主要介绍 B 树索引和 Hash 索引…

MySQL中索引的使用方法

1. 为什么要加索引? ​一般的应用系统,读写比例在10:1左右,而且插入和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之…

MySQL 索引概览

前言 在 SQL 优化中,索引是至关重要的一环,能给查询效率带来质的飞跃,但是索引并不是万能的,不合理的索引设计甚至会拖慢查询效率。本文将详细介绍索引的概览和分类,并讨论使用索引时应该权衡的要素,关于索…

MYSQL的索引和存储引擎

文章目录 MYSQL的索引和存储引擎介绍索引的分类单列索引-普通索引单列索引-唯一索引单列索引-主键索引组合索引全文索引空间索引 索引内部原理剖析索引内部原理-Hash算法索引内部原理-二叉树和二叉平衡树索引内部原理-BTREE树MyISAM存储引擎InnoDB存储引擎 索引的特点索引的创建…

mysql 索引使用与优化

前言 索引对有一定开发经验的同学来说并不陌生,合理使用索引,能大大提升sql查询的性能,可以这么讲,随着业务数据量的不断增长,优化系统的响应速度,很大程度上可以说就是集中在索引的优化上; mysql索引原理 在正式了解与学习mysql索引之前,先对mysql的索引原理再次回…

MySql之索引

1.索引概述 MySql官方对索引的定义为:索引是帮助MySql高效获取数据的数据结构。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用数据,这样就可以在这些数据结构上实现高级查找算法&#xf…

Mysql 索引

图片来源网络,侵删。图片来源于掘金小册 索引 Mysql 的索引类型有很多种,Hash索引,B树索引,B树索引和全文索引。Mysql有多种存储引擎,每个存储引擎对索引的支持可能会不同。 What Mysql 索引是能改善数据库表随机访…

一文搞懂 MySQL 索引

一文搞懂 MySQL 索引 1、MySQL 索引 简介 1.1、MySQL 索引 是什么? 索引是一个单独的、存储在 磁盘 上的 数据库结构 ,包含着对数据表里 所有记录的 引用指针。 1.2、 MySQL 索引 的存储类型有哪些? MySQL中索引的存储类型有两种&#xff0c…

一文搞懂MySQL索引所有知识点(建议收藏)

Mysql索引 索引介绍 索引是什么 官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。 一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储…

python中的%用法

python中%: 1. 求模运算,相当于mod,也就是计算除法的余数,比如5%2就得到1。 2. %还用在python的格式化输出,比如: 说明如下: %[(name)][flags][width].[precision]typecode (name) 为命名 fl…

python中的消息弹窗

在写python代码中,经常要弹窗提示一下消息情况,因为有时候我同时用了多个ui框架,比如tkinter,pyqt等,经常找不到合适的弹窗模块。因此梳理了一下几种弹窗方案。 一、采用windows自带的api(需要导入win32api) 特别强调采用这种方案,这种方案的优势就是弹窗模态,并不需…