Just Do IT !

HA高可用与负载均衡入门到实战(一)----Docker中安装与配置Nginx

字数统计: 554阅读时长: 2 min
2020/04/09 Share

实验环境

vmware虚拟机双核2G内存以上
安装有CentOS7和docker

查看与管理nginx日志

启用nginx容器

  1. 启动容器docker run -d –privileged -p 80:80 nginx /usr/sbin/init
  2. 查看容器docker ps
  3. 进入容器docker exec -it 容器ID /bin/bash
    在这里插入图片描述
    在这里插入图片描述

    配置nginx日志

    1) 打开/etc/nginx/nginx.conf文件,查看log_format与access_log的配置
    2) 配置日志文件存放位置/var/log/nginx/access.log
    在这里插入图片描述
    3) 使用浏览器访问nginx并查看日志记录
    在这里插入图片描述
    4) 打开/etc/nginx/nginx.conf文件,查看error_log的配置
    在这里插入图片描述

5) 使用浏览器访问nginx并查看错误日志记录
在这里插入图片描述在这里插入图片描述

配置nginx日志文件切割

1) 编写shell脚本/var/log/nginx/autolog.sh,自动备份前一天的日志

1
2
3
4
5
6
7
#!/bin/bash
#nginx日志存放的目录
log_path=”/var/log/nginx”
#备份日志文件
mv $log_path/access.log $log_path/`date +"%Y%m%d%H%M"`.log
#重新打开nginx日志文件
nginx -s reopen

  1. 赋予权限755,并执行
    在这里插入图片描述
    3) 设置定时任务,每天零点零分自动执行脚本
    1
    2
    crontab -e
    0 0 * * * /var/log/nginx/autolog.sh >/dev/null 2>&1

4) 查看定时任务
crontab -l

配置nginx虚拟主机

配置 虚拟主机站点文件

1) 建立/var/webroot/site1和/var/webroot/site2目录

1
2
3
mkdir /var/webroot
mkdir /var/webroot/site1
mkdir /var/webroot/site2

2) 在两个目录下新建index.html文件,内容分别为site1和site2;

1
2
echo -e "site1" >> /var/wwwroot/site1/index.html
echo -e "site2" >> /var/wwwroot/site2/index.html

配置基于端口的虚拟主机

  1. 编辑nginx配置文件

vim /etc/nginx/conf.d/vhosts.conf

  1. 添加以下内容
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    server {
    listen 8081;
    root /var/webroot/site1;
    index index.html;

    location / {
    }
    }
    server {
    listen 8082;
    root /var/webroot/site2;
    index index.html;

    location / {
    }
    }

启动nginx服务

systemctl restart nginx

在宿主机访问两个站点

1
2
http://ip地址:8081/
http://ip地址:8082/

配置基于域名的虚拟主机

在主机编辑C:\Windows\System32\drivers\etc\hosts文件

1
2
虚拟机地址  site1.test.com
虚拟机地址 site2.test.com

编辑/etc/nginx/conf.d/virtual.conf文件,配置基于名字的虚拟主机

删除原内容,重新添加以下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
server {
listen 80;
server_name site1.test.com;
root /var/webroot/site1;
index index.html;

location / {
}
}
server {
listen 80;
server_name site2.test.com;
root /var/webroot/site2;
index index.html;

location / {
}
}

重启nginx服务

systemctl restart nginx

访问站点

在这里插入图片描述

CATALOG
  1. 1. 实验环境
  2. 2. 查看与管理nginx日志
    1. 2.1. 启用nginx容器
    2. 2.2. 配置nginx日志
    3. 2.3. 配置nginx日志文件切割
  3. 3. 配置nginx虚拟主机
    1. 3.1. 配置 虚拟主机站点文件
    2. 3.2. 配置基于端口的虚拟主机
      1. 3.2.1. 启动nginx服务
      2. 3.2.2. 在宿主机访问两个站点
    3. 3.3. 配置基于域名的虚拟主机
      1. 3.3.1. 在主机编辑C:\Windows\System32\drivers\etc\hosts文件
      2. 3.3.2. 编辑/etc/nginx/conf.d/virtual.conf文件,配置基于名字的虚拟主机
      3. 3.3.3. 重启nginx服务
      4. 3.3.4. 访问站点