IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 【Nginx学习】Nginx代理mysql数据库 -> 正文阅读

[系统运维]【Nginx学习】Nginx代理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端口扫描

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容器就是一台台虚拟机,它们通过桥接的形式与宿主机相连。每个容器都映射到一个或多个宿主机的端口
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-01 14:51:53  更:2021-08-01 14:53:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 16:23:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码