小编swe*_*web的帖子

nginx上传进度结合正常请求

我有一个很好的 nginx 虚拟主机,它在不使用 nginx 上传模块的情况下运行良好。 当我将上传进度添加到我的上传请求中时。我该如何解决这个问题?我需要使用/?r=upload或上传我的文件/upload?foo=bar并使用/progress或其他方式跟踪上传进度数据。

# static9-localhost.sweb
server {

        # upload limit
        # upload_limit_rate 10240;

        # request size limitation
        client_max_body_size 500m;
        client_body_buffer_size 64k;

        # document root
        root /path/to/webapp/static/public/;

        # index file
        index index.php;

        # server name
        server_name static9-localhost.sweb;

        # rewrite rules
        rewrite "^/thumbnail/([A-Za-z0-9]{12})/(.*)/.*$" /index.php?r=thb&unique=$1&prm=$2 last;

        # /
        location @frontcontroller {
                # expires
                expires max;

                # disable etag
                if_modified_since off;
                add_header 'Last-Modified' '';

                # mvc rewrite
                try_files $uri $uri/ /index.php?$uri&$args;
        }

        # upload …
Run Code Online (Sandbox Code Playgroud)

nginx

15
推荐指数
1
解决办法
1450
查看次数

如果后端关闭,nginx 使用代理缓存

如果后端服务器关闭,我需要 nginx 代理使用缓存:

这是我的配置。但似乎是 nginx 使用缓存而不检查后端服务器。

http {

  # ...

  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_cache_path /tmp/nginx levels=1:2 keys_zone=tmpzone:10m inactive=60m;
  proxy_cache_key "$scheme$request_method$host$request_uri";


  server {
    server_name _;

    location / {
      proxy_connect_timeout 5s;
      proxy_read_timeout 5s;
      proxy_cache tmpzone;
      proxy_cache_valid      200 304 1d;
      proxy_cache_use_stale  error timeout invalid_header updating http_500 http_502 http_503 http_504;
      proxy_set_header X-Real-IP  $remote_addr;
      proxy_set_header X-Forwarded-For $remote_addr;
      proxy_set_header Host 'www.example.com';
      proxy_pass http://www.example.com;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是,如果后端服务器已启动,我如何绕过代理缓存?当后端服务器启动时,我的代理服务器根本不使用缓存。

nginx failover proxy cache

11
推荐指数
1
解决办法
5950
查看次数

inotifywait 使用和排除

我想通过inotifywait 以递归方式监视创建或修改文件的任何事件的特殊路径,但我不知道我的问题是什么。

我有一些要排除的文件夹。

watchpath
    ->  folder1
        -> file1
        -> ingnorefile1 [IGNORE]
    ->  ignorefolder1 [IGNORE]
Run Code Online (Sandbox Code Playgroud)

如何使用正则表达式正确排除它们?

inotifywait -mr --exclude '(ignorefolder1|folder1\/ingnorefile1)' -e modify -e create -e delete . | while read date time dir file; do
Run Code Online (Sandbox Code Playgroud)

用于实现我的目标的正确正则表达式是什么?

inotify regular-expressions exclude

5
推荐指数
1
解决办法
9838
查看次数

DNS 层将服务发现作为解析器而不是 SRV

我需要知道是否有任何解决方案可以解决我的问题。我有一个 BIND DNS 服务器和 consul 作为服务发现者。这就是我想要的简单图:

在此输入图像描述

如何配置此示例设置并让 BIND 将 A 记录解析为运行状况良好的负载均衡器服务器的 IP 地址?

如果客户端向 DNS 服务器查询 的 A 记录,则必须获取Healthy ( ) 服务器domain.example的 IP 地址192.168.1.100

consul for DNS 的示例配置显示了如何配置 SRV 记录,而不是 A 记录。我怎样才能让它与健康服务器的 A 记录一起工作。

我需要告诉领事绑定询问记录,但是怎么做呢?我的示例区域文件:

$TTL    300 ;
$ORIGIN example.com.
@  1D  IN  SOA ns1.example.com. hostmaster.example.com. (
                2002022401 ; serial
                3H ; refresh
                15 ; retry
                1w ; expire
                3h ; nxdomain ttl
               )
www    IN  A      192.168.0.2  ; how can i tell bind using …
Run Code Online (Sandbox Code Playgroud)

domain-name-system load-balancing healthcheck consul

3
推荐指数
1
解决办法
304
查看次数

以另一种最快的方式复制并替换到文件夹 - linux bash

我有一个三个文件夹:coreproject并与里面的许多文件合并。我想删除merge文件夹内的所有文件和文件夹(包括dot文件),然后将core文件夹中的所有文件(包括dot文件)复制到merge文件夹,同时将project文件夹下的所有文件都合并merge文件。

情况

  1. 如何从特殊文件夹中删除所有文件和文件夹(包括点文件),而不删除它们?(rm -rf /path/to/folder/*没有删除文件和文件夹。)
  2. 将所有文件从特殊文件夹递归复制(包括和不合并和替换)到另一个文件夹(包括点文件)的最快方法是什么?( tar -cf my.tar path/; tar -xf my.tar)

我正在使用 tar,但文件太多,我需要更快的方法。

linux bash cp

2
推荐指数
1
解决办法
4461
查看次数