文章目录

  • 一、使用docker安装Nginx
    • 1、安装Nginx
    • 2 、启动容器
  • 二、命令查看端口
    • 1、查看Liunx端口占用
    • 2、命令nmap端口扫描
    • 3、docker容器的本机ip地址
  • 三、docker中安装mysql并通过Nginx代理
    • 1、docker安装mysql5.7
    • 2、使用Nginx代理docker中的mysql
  • 四、总结以及注意

一、使用docker安装Nginx

网上教程很多,主要命令:

1、安装Nginx

docker pull nginx

2 、启动容器

# 生成外挂文件夹
mkdir -p nginx-all/{www,logs,conf}#参数-d 后台运行,参数-p端口映射,参数--name容器别名,参数-v挂载路径或文件
#可以加多个参数
docker run -d -p 81:80 -p 9003:9003 --name nginx-all  \
-v /mnt/vdc1/files/webserver/nginx-all/www:/usr/share/nginx/html  \
-v /mnt/vdc1/files/webserver/nginx-all/conf/nginx.conf:/etc/nginx/conf/nginx.conf  \
-v /mnt/vdc1/files/webserver/nginx-all/logs:/var/log/nginx 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;
}

二、命令查看端口

1、查看Liunx端口占用

菜鸟教程->Linux 查看端口占用情况

2、命令nmap端口扫描

  • 需要安装nmap命令
  • Linux下安装及简单使用nmap
  • 查看其他主机(比如mysql所在的主机),有哪些端口是可以开放的
  • 使用Telnet也可以

3、docker容器的本机ip地址

ifconfig# 可以看到docker0的信息,docker本机的ip地址一般为:172.17.0.1

三、docker中安装mysql并通过Nginx代理

1、docker安装mysql5.7

  • 查找网上教程就可以了
  • 比如映射端口 3306:3306,但是3306并不对外开放,可以在主机内使用172.17.0.1:3306去本地连接docker中的mysql
  • 别忘了创建远程访问的mysql账号、密码

2、使用Nginx代理docker中的mysql

#nginx.conf配置user  nginx;
worker_processes  auto;error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}#这里监听本机docker中的172.17.0.1:3306,并通过主机的9003端口开放出去
#之后,只要外部连接主机ip:9003,并使用mysql的用户名、密码,就可以访问内部的
#mysql了
stream {        upstream mysql {server 172.17.0.1:3306;}server {listen 9003;proxy_connect_timeout 10s;proxy_timeout 30s;proxy_pass mysql;}
}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需要一定版本以上才能使用“stream”这个配置,最好选用最新版本
  • Nginx的使用还有很多需要学习,我这里只是记录工作中尝试的一些。主要还是查看文档
  • docker容器就是一台台虚拟机,它们通过桥接的形式与宿主机相连。每个容器都映射到一个或多个宿主机的端口

【Nginx学习】Nginx代理mysql数据库相关推荐

  1. Nginx学习---Nginx的详解_【all】

    1.1. Nginx简介 1.什么是nginx nginx:静态的,开源的www软件,可以解析静态的小文件(低于1M ),支持高并发占用较发少的资源(3W并发,10个进程,内存150M),跨平台 te ...

  2. nginx代理mysql数据库 stream

    写作背景 在某云搞了个服务器,装了个数据库后一切配置OK,发现远程连接不上,排查了一天没有找到问题(安全组策略及防火墙.开放端口) .在毫无头绪之际突然想到nginx代理的80端口可以访问,本着All ...

  3. Python 分析Nginx 日志并存入MySQL数据库(单线程)

    使用Python 分析Nginx access 日志,根据Nginx日志格式进行分割并存入MySQL数据库.(参考网上一些文章) Nginx access日志格式如下: #使用的nginx默认日志格式 ...

  4. nginx学习--nginx下的gzip与vary、预压缩、缓存、反向代理的结合

    2019独角兽企业重金招聘Python工程师标准>>> 来自:nginx系列(十七)nginx下的gzip与vary.预压缩.缓存.反向代理的结合 介绍 在http的协议里,为了减少 ...

  5. Learning NGINX 学习NGINX Lynda课程中文字幕

    Learning NGINX 中文字幕 学习NGINX 中文字幕Learning NGINX 使用业界标准的开源Web服务器NGINX建立高性能架构 除了负载均衡和HTTP缓存等额外功能之外,NGIN ...

  6. Qt学习笔记之MySQL数据库

    一.MySQL概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQ ...

  7. 学习笔记(03):MySQL数据库运维与管理-01-mysql通用日志与错误日志

    立即学习:https://edu.csdn.net/course/play/10084/214943?utm_source=blogtoedu MYSQL日志管理 用于实现MYSQL数据库故障排查2, ...

  8. 学习笔记(02):MySQL数据库运维与管理-03-状态变量及查看方法

    立即学习:https://edu.csdn.net/course/play/10084/221706?utm_source=blogtoedu MySQL状态变量 作用:反映当前mysql数据库服务器 ...

  9. 学习C++项目——mysql 数据库知识学习(关于 mysql 8.0 版以后基础部分学习)

    学习数据库知识 一.思路和学习方法   本文学习于:B站平台UP主 IT 小当家,学习 MySQL 数据库,里面仅仅用于自己学习,进行复现,并加以自己的一些学习过程和理解,如果有侵权会删除.因为 Or ...

最新文章

  1. 二次元妹子五官画风都能改,周博磊团队用无监督方法控制GAN | CVPR 2021
  2. 爱奇艺谢丹铭:用AI让创作者提升效率,让消费者简单快乐丨MEET2021
  3. 一个低级错误,关于timer
  4. 学习小技巧---javascript中获取服务器端控件生成的页面ID
  5. oracle 取第三大的值,Oracle 常见的几种访问提取数据的方式!
  6. (剑指Offer)面试题46:求1+2+3+....+n
  7. POJ NOI0105-44 第n小的质数
  8. word保存不了磁盘已满_磁盘到底该不该分区?容量不够怎么办?
  9. mysql5.7改了配置文件怎么生效_如何找到并修改MySQL57的配置文件m
  10. dubbo+zookeeper下生产者和消费者配置(基于springboot开发)
  11. 基于SSM框架实现的房屋租赁管理系统
  12. Markdown编辑器语法之代码高亮、标记和文字颜色
  13. 基于android的学生选课信息app
  14. Bat文件的创建及其命令大全
  15. win10 右键菜单管理
  16. apm最高的记录_APM工具使用记录
  17. iTunes_12.7 iPhone 自定义铃声
  18. 通道和色彩调整——冷色调图片
  19. 计算机创新创业项目点子,创新创业项目有哪些(创业点子大全500个)
  20. 最好的防御就是进攻 任正非

热门文章

  1. 自由幻想系统不能提供服务器,自由幻想手游为什么不能转区 人物转区注意事项...
  2. 独家 | 环境大数据的应用案例及前景
  3. 基于C语言的十进制转二十六进制
  4. Oracle错误一览表(3)
  5. 大话设计模式:抽象工厂模式
  6. BMZCTF-海量的txt文件
  7. Delphi FMX Drag Drop
  8. 综合网络(华为ensp)
  9. 什么是感性负载、容性负载、阻性负载?
  10. 如何使EndNoteX9支持GB/T 7714-2015格式参考文献解决作者名字全为大写去掉文章标题中的%J