分类目录归档:Website

Nginx在反向代理连接失败时回退到本地文件的配置

需求:用户连接时,默认显示反向代理的内容,如果后端服务器无法连接,则显示预先渲染好的本地文件。

实现:

server {
    # ... #

    # define a named location block for static files
    location @local_static_files {
        root /var/www/html;
        index index.html;
        try_files $uri $uri/index.html =404;
        break;
    }

    location / {
        # try proxy first
        proxy_pass http://backend-server:8080/;
        
        # set a relative smaller timeout to minimize user wait time
        client_max_body_size    16m;
        client_body_buffer_size 128k;
        proxy_connect_timeout   2s;
        proxy_send_timeout      1s;
        proxy_read_timeout      1s;
        proxy_buffers           32 4k;

        # see https://github.com/Jamesits/oh-my-nginx/blob/master/conf.d/templates/transparent-proxy.conf
        include conf.d/templates/transparent-proxy.conf;

        # if the backend is down (502), we fallback to our local static files
        error_page 502 = @local_static_files;

        # if you need to mask more proxy failures: 
        # proxy_intercept_errors on; # intercept all >300 return code if you need
    }

    # ... #
}

 

修复升级了一半的WordPress

WordPress仪表盘上的自动升级会被很多原因中断。浏览器超时,代理服务器超时,或者只是客户端突然断了下网。近日遇到自动升级中断后,更新检查器认为WordPress还是老版本,而部分文件已经变成了新版本,再次尝试从仪表盘更新提示“另一更新正在进行中”的奇怪问题。最终通过wp-cli修复:

$ cd /path/to/wordpress
$ rm .maintenance
$ wp --skip-plugins --skip-themes option delete core_updater.lock
Success: Deleted 'core_updater.lock' option.
$ wp --skip-plugins --skip-themes core update --force
Updating to version 4.9.4 (zh_CN)...
正在从 https://downloads.wordpress.org/release/zh_CN/wordpress-4.9.4.zip 下载更新…
正在解压缩升级文件...
<p>一些翻译需要更新,请稍等。</p>
<div class="update-messages lp-show-latest"><h2>正在更新WordPress(zh_CN)的翻译…</h2><p>正在从 <span class="code">https://downloads.wordpress.org/translation/core/4.9.2/zh_CN.zip</span> 下载翻译…</p>
<p>正在解压缩升级文件&#8230;</p>
<p>正在安装最新版本&#8230;</p>
<p>翻译升级成功。</p>
</div><div class="update-messages lp-show-latest"><h2>正在更新Akismet Anti-Spam(zh_CN)的翻译…</h2><p>正在从 <span class="code">https://downloads.wordpress.org/translation/plugin/akismet/4.0.3/zh_CN.zip</span> 下载翻译…</p>
<p>正在解压缩升级文件&#8230;</p>
<p>正在安装最新版本&#8230;</p>
<p>翻译升级成功。</p>
</div><script type="text/javascript">
                                        (function( wp ) {
                                                if ( wp && wp.updates.decrementCount ) {
                                                        wp.updates.decrementCount( "translation" );
                                                }
                                        })( window.wp );
                                </script>Success: WordPress updated successfully.

如果wp-cli在寻找WordPress路径上遇到问题,可以参考我的WordPress Docker镜像上使用的wrapper

参考:

用Hug打造简易微信公众号后端服务器

Hug是一个Python下轻量级的API服务器。它可以让你用同一个处理函数来生成一个Python库,一个命令行工具和一个HTTP API。我在需要快速写一个HTTP服务或者需要做一个简易的mock server的时候往往会使用它。不过目前它的文档不是很详尽。本文介绍一下如何使用它快速编写一个微信公众号后端服务器。 继续阅读

在 WordPress 主题中引入汉字标准格式

WordPress 的默认主题对于一个中文撰写者而言有诸多不便之处。因此,我在本站引入了汉字标准格式相关文件。

什么是“汉字标准格式”?

在此直接引用官网首页上的说明:

「漢字標準格式」是一套支援各種印刷效果的Sass + JavaScript排版框架,包含相鄰文字裝飾線跳脫ㄏㄢˋㄗˋㄅㄧㄠㄧㄣhànzìbiāoyīn着重號、標點符號修正、中文四大印刷體、漢字-西文mixed間隙、「標點『擠壓』與『懸掛』」、章節邊界調整……

集成「語意樣式標準化」「文字設計」「高級排版功能」三大模組,並為繁體中文、簡體中文及日文配置的本地化設計,「漢字標準格式」提供了萬維網時代的漢字問題解決之道。

继续阅读