location匹配命令

1. “= ”,字面精确匹配, 如果匹配,则跳出匹配过程。(不再进行正则匹配)

2. “^~ ”,最大前缀匹配,如果匹配,则跳出匹配过程。(不再进行正则匹配)

3. 不带任何前缀:最大前缀匹配,举例如下:

location / 代表以”/”开头的搜索匹配, 再没有正则表达式匹配的情况下才进行这个匹配(优先级最低)

4. “~ ”,大小写相关的正则匹配

5. “~* ” , 大小写无关的正则匹配

6. “@”, Named location 不是普通的location匹配,而是用于location内部重定向的变量。

其中: 1、2、3 三种情况属于 location using literal string, 即使用普通字符串的location匹配;

4、5 二种情况属于 location using regular expresstion,即使用正则表达式的location匹配;

 

location = / {
# 只匹配”/”.
[ configuration A ]
}
location / {
# 匹配任何请求,因为所有请求都是以”/”开始
# 但是更长字符匹配或者正则表达式匹配会优先匹配
[ configuration B ]
}
location ^~ /images/ {
# 匹配任何以 /images/ 开始的请求,并停止匹配 其它location
[ configuration C ]
}
location ~* \.(gif|jpg|jpeg)$ {
# 匹配以 gif, jpg, or jpeg结尾的请求.
# 但是所有 /images/ 目录的请求将由 [Configuration C]处理.
[ configuration D ]
}

1) TCP提供面向连接的传输,通信前要先建立连接(三次握手机制); UDP提供无连接的传输,通信前不需要建立连接。
2) TCP提供可靠的传输(有序,无差错,不丢失,不重复); UDP提供不可靠的传输。
3) TCP面向字节流的传输,因此它能将信息分割成组,并在接收端将其重组; UDP是面向数据报的传输,没有分组开销。
4) TCP提供拥塞控制和流量控制机制; UDP不提供拥塞控制和流量控制机制。

开发测试环境适用,生产环境慎用。
规划:准备通过web查询的nginx日志:/var/log/nginx

配置文件如下,

server {
listen 8000;
server_name xxx.com;
location /log/nginx/ {
alias /var/log/nginx/;
#Nginx日志目录
autoindex on;
#打开目录浏览功能
autoindex_exact_size off;
#默认为on,显示出文件的确切大小,单位是bytes
#显示出文件的大概大小,单位是kB或者MB或者GB
autoindex_localtime on;
#默认为off,显示的文件时间为GMT时间。
#改为on后,显示的文件时间为文件的服务器时间
add_header Cache-Control no-store;
#让浏览器不保存临时文件
}
}
`

重启nignx,

然后修改后:浏览器查看效果。
localhost:8000/log/nginx/

一些参数说明:
autoindex on; # 开启目录文件列表
autoindex_exact_size on; # 显示出文件的确切大小,单位是bytes
autoindex_localtime on; # 显示的文件时间为文件的服务器时间
charset utf-8,gbk; # 避免中文乱码

另外,如果希望请求文件是下载而不是显示内容,可以通过添加下面参数实现:
add_header Content-Disposition attachment;

配置镜像加速器
针对安装了Docker Toolbox的用户,您可以参考以下配置步骤:
创建一台安装有Docker环境的Linux虚拟机,指定机器名称为default,同时配置Docker加速器地址。

docker-machine create –engine-registry-mirror=https://你自己的.mirror.aliyuncs.com -d virtualbox default
查看机器的环境配置,并配置到本地,并通过Docker客户端访问Docker服务。

docker-machine env default
eval “$(docker-machine env default)”
docker info
针对安装了Docker for Windows的用户,您可以参考以下配置步骤:
在系统右下角托盘图标内右键菜单选择 Settings,打开配置窗口后左侧导航菜单选择 Docker Daemon。编辑窗口内的JSON串,填写下方加速器地址:
{
“registry-mirrors”: [“https://你自己的.mirror.aliyuncs.com”]
}
编辑完成后点击 Apply 保存按钮,等待Docker重启并应用配置的镜像加速器。

注意
Docker for Windows 和 Docker Toolbox互不兼容,如果同时安装两者的话,需要使用hyperv的参数启动。

docker-machine create –engine-registry-mirror=https://你自己的.mirror.aliyuncs.com -d hyperv default
Docker for Windows 有两种运行模式,一种运行Windows相关容器,一种运行传统的Linux容器。同一时间只能选择一种模式运行。

使用virtualbox制作符合自己需求vagrant box,之前在网上找了一些教程,有的很是有坑的。今天尝试了一下。用的是centos7.7的mini镜像

 

VirtualBox 先安装 5.2.20(之前安装docker-tool自带的)

Vagrant 再安装 2.2.7

windows 需开启VT-x / AMD-V硬件加速 BIOS 找到 Intel Virtual Technology

下载CentOS-7-x86_64-Minimal-1908.iso镜像

 

  1. 打开VirtualBox安装7的虚拟机,安装自己的需求选择内存和硬盘,这里我选择的内存为3G,硬盘为30G,开发足够了(名称vagrant-centos-77)
  2. 设置root密码为vagrant,非root用户为vagrant密码vagrant
  3. 以root账户登录,设置网络,在这之前应该ping不通外网
    • vi /etc/sysconfig/network-scripts/ifcfg-enp0s3设置NOBOOT,改为yes
    • 最后重启网络  :service network restart
    • 如果ping不通外网把防火墙关闭
    • systemctl stop firewalld.service #停止firewall
    • systemctl disable firewalld.service #禁止firewall开机启动
  4. 配置 vagrant 账号免密操作。在 root 下面增加一行 vagrant ALL=(ALL) NOPASSWD:ALL 保存退出。
    • chmod 0777 /etc/sudoers
    • vi /etc/sudoers
    • 执行 chmod 0440 /etc/sudoers 恢复默认权限。
  5. 配置ssh登录
    • 默认centos7会安装openssh,如果没有安装执行:yum install openssh-server
    • vi /etc/ssh/sshd_config把一下内容取消注释
  6. 下载 vagrant 官网公钥(这个我在做的过程中,发现公钥好像没用了,vagrant会自动生成公钥的),并修改.ssh为vagrant组
  7. 设置共享目录。安装增强功能,在安装之前需要安装编码工具
    • 方法一,手动安装工具
      • yum install -y gcc gcc-c++ make bzip2 kernel kernel-devel
    • 方法二,官方推荐(不过我发现还是需要安装 kernel kernel-devel)
      • yum update
      • yum groupinstall “Development Tools”
      • yum install -y kernel kernel-devel
    • 关机后设置存储,挂上增强包的iso
    • 用root登陆后执行安装 (查看lsscsi (适用于centos7) lsblk  (适用于ubuntu))
    • cd / && mkdir cdrom && mount /dev/cdrom /cdrom
    • cd  /cdrom && ./VBoxLinuxAdditions.run
    • 在安装过程中会有一个错误,原因可以查看日志,好像是桌确实桌面环境的包,网上说要安装xorg-x11-server-Xorg,如果没有图形界面,我不建议装,这个不影响结果,安装包会自动跳过
  8. 配置网络设置,添加一个转到主机2222的端口,好像还要添加一个网卡
    • 网卡一
    • 网卡二
  9. 导出已经安装好的盒子
    • vagrant package –base  虚机中的名字–output  自己给盒子起的名字.box
  10. 验证自己制作的盒子
    • vagrant box add centos77 vagrant-centos-base77.box
    • vagrant init centos77
    • Vagrant up
    • 已经登陆上去了,贴一下我的vagrantfile
  11. 一下为文件 使用 VirtualBox 制作 Vagrant box