<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
            <title type="text">无视界-个人小站</title>
    <updated>2021-12-04T23:05:18+08:00</updated>
        <id>http://5sc.top</id>
        <link rel="alternate" type="text/html" href="http://5sc.top" />
        <link rel="self" type="application/atom+xml" href="http://5sc.top/atom.xml" />
    <rights>Copyright © 2026, 无视界-个人小站</rights>
    <generator uri="https://halo.run/" version="1.4.17">Halo</generator>
            <entry>
                <title><![CDATA[好用的@ConfigurationProperties 注解]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/java-configurationproperties" />
                <id>tag:http://5sc.top,2021-12-04:java-configurationproperties</id>
                <published>2021-12-04T23:04:45+08:00</published>
                <updated>2021-12-04T23:04:45+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<p>在编写项目代码时，我们要求更灵活的配置，更好的模块化整合。在 Spring Boot 项目中，为满足以上要求，我们将大量的参数配置在 application.properties 或 application.yml 文件中，通过 @ConfigurationProperties 注解，我们可以方便的获取这些参数值<br /><img src="/upload/2021/12/image-3c65dee4cfbf425f88340fc2b4e5de05.png" alt="image.png" /></p><p>创建一个@Configuration类<br /><img src="/upload/2021/12/image-153bed08ff4c4b6490b722c2131a66de.png" alt="image.png" /><br />在项目具体使用中，只需要<br /><img src="/upload/2021/12/image-0dc9c7da9ba0456d8f164f483484da01.png" alt="image.png" /><br />就可以使用，真是太方便了。</p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[软件开发，找我就够了~]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/rjkf" />
                <id>tag:http://5sc.top,2021-11-26:rjkf</id>
                <published>2021-11-26T21:54:36+08:00</published>
                <updated>2021-12-04T23:05:08+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<p><img src="/upload/2021/11/image-7cfb3b0eae5e4e2390b778290abe85d5.png" alt="image.png" /><br /><img src="/upload/2021/11/%E6%9C%AA%E6%A0%87%E9%A2%98-2-6f4bae7c9adf4c61af44eac60a5d58f1.png" alt="未标题2.png" /></p><h1 id="优势">优势</h1><ul><li>20年互联网开发管理经验</li><li>团队平均工作经验7年+</li><li>丰富的项目开发经验，承担过上市公司APP项目、政府相关项目开发</li></ul><blockquote><p>案例因为保密原因，可联系作者二维码获取</p></blockquote>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[千万级延时任务队列如何实现，看美图开源的-LMSTFY]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/lmstfy-readme" />
                <id>tag:http://5sc.top,2021-11-19:lmstfy-readme</id>
                <published>2021-11-19T23:16:52+08:00</published>
                <updated>2021-11-19T23:18:07+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<p>lmstfy(Let Me Schedule Task For You) 是美图架构基础服务团队在 2018 年初基于 Redis 实现的简单任务队列(Task Queue)服务，目前在美图多个线上产品使用接近两年的时间。主要提供以下特性:</p><p>任务具备延时、自动重试、优先级以及过期等功能</p><p>通过 HTTP restful API 提供服务</p><p>具备横向扩展能力</p><p>丰富的业务和性能指标</p><p>Github 项目地址: <a href="https://github.com/meitu/lmstfy">https://github.com/meitu/lmstfy</a></p><h1 id="使用场景">使用场景</h1><p>任务队列跟消息队列在使用场景上最大的区别是： 任务之间是没有顺序约束而消息要求顺序(FIFO)，且可能会对任务的状态更新而消息一般只会消费不会更新。 类似 Kafka 利用消息 FIFO 和不需要更新(不需要对消息做索引)的特性来设计消息存储，将消息读写变成磁盘的顺序读写来实现比较好的性能。而任务队列需要能够任务状态进行更新则需要对每个消息进行索引，如果把两者放到一起实现则很难实现在功能和性能上兼得。在美图内部选型上，如果是异步消息模型一般会选择消息队列，比如类似日志上报，抢购等。而对于需要延时/定时下发或者修改状态任务则是使用任务队列。</p><p>比如在以下几种场景会使用任务队列:</p><ul><li>定时任务，如每天早上 8 点开始推送消息，定期删除过期数据等</li><li>任务流，如自动创建 Redis 流程由资源创建，资源配置，DNS 修改等部分组成，使用任务队列可以简化整体的设计和重试流程</li><li>重试任务，典型场景如离线图片处理</li></ul><h1 id="目标与调研">目标与调研</h1><p>在自研任务队列之前，我们基于以下几个要求作为约束调研了现有一些开源方案:<br />任务支持延时/优先级任务和自动重试<br />高可用，服务不能有单点以及保证数据不丢失<br />可扩展，主要是容量和性能需要可扩展</p><p>第一种方案是 Redis 作者开源的分布式内存队列 disque(<a href="https://github.com/antirez/disque">https://github.com/antirez/disque</a>)。disque 采用和 Redis Cluster 类似无中心设计，所有节点都可以写入并复制到其他节点。不管是从功能上、设计还是可靠性都是比较好的选择。我们在 2017 年也引入 disque 在部分业务使用过一段时间，后面遇到 bug 在内部修复后想反馈到社区，发现 Redis 作者决定不再维护这个项目(要把 disque 功能作为 redis module 来维护，应该是会伴随 Redis 6 发布)。最终我们也放弃了 disque 方案，将数据迁移到我们自研任务队列服务。</p><p>第二种方案是 2007 年就开源的 beanstalkd(<a href="https://github.com/beanstalkd/beanstalkd">https://github.com/beanstalkd/beanstalkd</a>)，现在仍然还是在维护状态。beanstalkd 是类 memcached 协议全内存任务队列，断电或者重启时通过 WAL 文件来恢复数据。但 benstalkd 不支持复制功能，服务存在单点问题且数据可靠性也无法满足。当时也有考虑基于 beanstalkd 去做二次开发，但看完代码之后觉得需要改造的点不只是复制，还有类似内存控制等等，所以没有选择 beanstalkd 二次开发的方案。</p><p>也考虑过类似基于 kafka/rocketmq 等消息队列作为存储的方案，最后从存储设计模型和团队技术栈等原因决定选择基于 redis 作为存储来实现任务队列的功能。举个例子，假设以 Kafka 这种消息队列存储来实现延时功能，每个队列的时间都需要创建一个单独的 topic(如: Q1-1s, Q1-2s..)。这种设计在延时时间比较固定的场景下问题不太大，但如果是延时时间变化比较大会导致 topic 数目过多，会把磁盘从顺序读写会变成随机读写从导致性能衰减，同时也会带来其他类似重启或者恢复时间过长的问题。</p><h1 id="整体设计">整体设计</h1><p>lmstfy 是 HTTP 协议的无状态服务，可以通过 4/L7 的 LB 来接入。内部主要由四个模块组成:</p><ul><li>Pump Thread: 每秒轮询 Redis 将到期的任务迁移到就绪队列(ready queue)</li><li>Metric Collector, 定时收集队列相关统计数据到实例再通过 prometheus exporter 暴露给监控系统</li><li>Token Manager，用来管理 namespace 和 token 的模块，namespace 是用来做业务隔离的单位</li><li>Producer/Consumer，用来处理用户的任务和消费请求</li></ul><blockquote><p>Default Pool 除了用来存储业务数据，namespace/token 这类元数据也会默认存储到 Default 这个 Redis 池子里面</p></blockquote><h1 id="基础概念">基础概念</h1><ul><li><p>namespace - 用来隔离业务，每个业务是独立的 namespace</p></li><li><p>queue - 队列名称，用区分同一业务不同消息类型</p></li><li><p>job - 业务定义的业务，主要包含以下几个属性:</p></li><li><p>id: 任务 ID，全局唯一</p></li><li><p>delay: 任务延时下发时间， 单位是秒</p></li><li><p>tries: 任务最大重试次数，tries = N 表示任务会最多下发 N 次</p></li><li><p>ttl(time to live): 任务最长有效期，超过之后任务自动消失</p></li><li><p>ttr(time to run): 任务预期执行时间，超过 ttr 则认为任务消费失败，触发任务自动重试</p></li></ul><h1 id="如何实现横向扩展">如何实现横向扩展</h1><p>lmstfy 本身是无状态的服务可以很简单的实现横向扩展，这里的横向扩展主要是存储(目前只支持 Redis)的横向扩展。设计也比较简单，主要通过通过 namespace 对应的 token 路由来实现， 比如我们当前配置两组 Redis 资源: default 和 meipai:</p><pre><code class="language-ini">[Pool][Pool.default]Addr = &quot;1.1.1.1:6379&quot;[Pool.meipai]Addr = &quot;2.2.2.2:6389&quot;</code></pre><p>在创建 namespace 时可以指定资源池，token 里面会携带资源池名字作为前缀。比指定美拍资源池，那么 token 类似: meipai:01DT8EZ1N6XT ，后续在处理请求时就可以根据 token 里面携带的资源池名称来进行路由数据。不过这种设计实现队列级别的扩展，如果单队列存储消息量超过 Redis 内存上限则需要其他手段来解决(后面会支持磁盘类型存储)。</p><h1 id="如何使用">如何使用</h1><pre><code class="language-shell"># 创建 namespace 和 token, 注意这里使用管理端口$ ./scripts/token-cli -c -n test_ns -p default -D &quot;test ns apply by @hulk&quot; 127.0.0.1:7778  {    &quot;token&quot;: &quot;01DT9323JACNBQ9JESV80G0000&quot;}  # 写入内容为 value 的任务$ curl -XPUT -d &quot;value&quot; -i &quot;http://127.0.0.1:7777/api/test_ns/q1?tries=3&amp;delay=1&amp;token=01DT931XGSPKNB7E2XFKPY3ZPB&quot;  {&quot;job_id&quot;:&quot;01DT9323JACNBQ9JESV80G0000&quot;,&quot;msg&quot;:&quot;published&quot;}  # 消费任务$ curl -i &quot;http://127.0.0.1:7777/api/test_ns/q1?ttr=30&amp;timeout=3&amp;&amp;token=01DT931XGSPKNB7E2XFKPY3ZPB&quot;  {&quot;data&quot;:&quot;value&quot;,&quot;elapsed_ms&quot;:272612,&quot;job_id&quot;:&quot;01DT9323JACNBQ9JESV80G0000&quot;,&quot;msg&quot;:&quot;new job&quot;,&quot;namespace&quot;:&quot;test_ns&quot;,&quot;queue&quot;:&quot;q1&quot;,&quot;ttl&quot;:86127}  # ACK 任务 id，表示消费成功不再重新下发改任务curl -i -XDELETE &quot;http://127.0.0.1:7777/api/test_ns/q1/job/01DT9323JACNBQ9JESV80G0000?token=01DT931XGSPKNB7E2XFKPY3ZPB&quot;</code></pre><p>更详细 API 说明见项目 README，目前我们提供了 PHP/Golang 两种语言 SDK，其他语言可以直接基于 HTTP 库封装即可。</p><h1 id="监控指标">监控指标</h1><p>lmstfy 任务队列的另外一个设计目标是提供足够多的监控指标，除了作为监控报警之外，也可以为类似 k8s 的 scheduler 提供反馈指标，以当前队列堆积情况指导系统进行动态缩扩容。</p><p>业务指标:</p><ul><li>生产速度</li><li>消费速度</li><li>延迟数量</li><li>堆积数量 (queue size)</li><li>失败数量 (deadletter size)</li><li>任务从生产到被消费的时间分布 (P50, P95 etc.)</li></ul><p>性能相关指标:</p><ul><li>生产接口延迟 (P95)</li><li>消费接口延迟 (P95)</li><li>并发连接数</li></ul><h1 id="未来计划">未来计划</h1><p>在我们当前的使用场景下, 一个 2G 的 redis 实例就能够支撑千万级左右的延迟任务量。但类似对象存储的生命周期管理(对象存储的 TTL)这种量大且延时间长的场景，使用 Redis 存储成本比较高。后续会考虑基于本地文件或者以 kvrocks (自研的 SSD Redis KV) 作为存储，将数据落到磁盘。kvrocks 目前也是开源状态，美图内部线上已经部署接近 100 个实例，外部也有一些类似白山云等公司在使用，后面也会输出相关设计和实现文章。欢迎大家去关注和使用，更加欢迎 issue 和 PR。</p><p>kvrocks Github 项目地址: <a href="https://github.com/meitu/kvrocks">https://github.com/meitu/kvrocks</a></p><p>lmsty 的 Github 项目地址: <a href="https://github.com/meitu/lmstfy">https://github.com/meitu/lmstfy</a></p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[Redis中的常见问题（穿透、雪崩、脑裂）]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/redis-error-ct-xb-nl" />
                <id>tag:http://5sc.top,2021-11-15:redis-error-ct-xb-nl</id>
                <published>2021-11-15T10:25:59+08:00</published>
                <updated>2021-11-15T10:25:59+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<h1 id="1redis的缓存穿透">1.Redis的缓存穿透</h1><p><img src="/upload/2021/11/image-f74d3e47c6e54f0a93cf1d7abfc7dd94.png" alt="image.png" /></p><h1 id="2redis缓存雪崩的问题">2.Redis缓存雪崩的问题</h1><p><img src="/upload/2021/11/image-725ce2ff897b4f1c9a31f386b08da4d6.png" alt="image.png" /></p><h1 id="3redis的脑裂问题">3.Redis的脑裂问题</h1><p><img src="/upload/2021/11/image-d60a926cfb4d4bf98366e47ca8ce4ff4.png" alt="image.png" /></p><blockquote><p>客户端向主服务器写入了数据 但是主服务器还没有来得及同步的情况下 主服务器死了 那么这个时候就会选举新的主服务器 原来的主服务器在一段时间之后 又好了 那么这个时候 原来的主服务器 只能作为从服务器了 原来主服务器的数据 没有办法进行同步 这种问题 就是redis的脑裂问题<br />min-slaves-to-write 1 这个表示的意思是：在我们客户端写入数据的时候 至少保证 主服务器上有一个从服务器 处于正常连接才能写入这个数据</p></blockquote><p>min-slaves-max-lag 10 ：这个表示的的意思是 主从同步的时间 10s</p><p>表示的的意思是 主从同步的时间 10s</p><p>当这两个条件同时存在了就可以解决redis脑裂问题<br />————————————————<br />版权声明：本文为CSDN博主「姜姜是美女」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。<br />原文链接：<a href="https://blog.csdn.net/weixin_53560205/article/details/121312721">https://blog.csdn.net/weixin_53560205/article/details/121312721</a></p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[新起点，新的开始]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/new-start" />
                <id>tag:http://5sc.top,2021-11-14:new-start</id>
                <published>2021-11-14T03:10:52+08:00</published>
                <updated>2021-12-04T23:05:18+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<p>西风烈，<br />长空雁叫霜晨月。<br />霜晨月，<br />马蹄声碎，<br />喇叭声咽。<br />雄关漫道真如铁，<br />而今迈步从头越。<br />从头越，<br />苍山如海，<br />残阳如血。<br /><img src="/upload/2021/11/view-492e8087de964d79ba20ee95538bf792.jpg" alt="view.jpg" /></p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[facebook分享时，缩略图的设置问题]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/document-1490687639" />
                <id>tag:http://5sc.top,2014-08-27:document-1490687639</id>
                <published>2014-08-27T03:58:23+08:00</published>
                <updated>2014-08-27T03:58:23+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<div><img alt=facebook分享时，缩略图的设置问题 - 漠北怪叟 - 漠北怪叟的个人博客   style=margin:0 10px 0 0;   src=/upload/2021/11/6608597046562124592.jpg   ></div><br><br><br>在分享时，需要在页面中加入<br><meta property=og:image content=/upload/2021/11/2669227204247665062.png   ></div>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[【转载】美丽的华锐扎西秀（谨此献给我可爱的家乡）]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/document-1479106173" />
                <id>tag:http://5sc.top,2014-07-30:document-1479106173</id>
                <published>2014-07-30T11:55:16+08:00</published>
                <updated>2021-11-15T01:35:43+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<p>在那美丽富饶的雪域高原，有一个最先看到太阳升起的地方。</p><p><img src="/upload/2021/11/5755881798756284556.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p>华锐这片热土，是安多藏区中一颗璀璨的高原明珠。</p><p><img src="/upload/2021/11/3943182948739812541.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p>天祝三峡国家级森林公园，山高峡深，林海苍茫</p><p><img src="/upload/2021/11/468374361247485528.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/4257871972702309091.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p>历史悠久的藏传佛教寺院—天堂寺，宏伟庄严，文化灿烂。</p><p><img src="/upload/2021/11/5755881798756284572.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/3390084619504662536.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284576.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284577.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284580.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284582.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p>马牙雪山气势雄伟，直插云霄。</p><p><img src="/upload/2021/11/1988902185439183024.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284584.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/3995818769385602455.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284585.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p>抓喜秀龙，松山草原，辽阔无垠，牛羊如云。</p><p><img src="/upload/2021/11/5755881798756284586.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/3995818769385602455.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284588.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284590.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p>雍容华贵的华锐藏族服饰</p><p><img src="/upload/2021/11/5755881798756284592.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284594.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284596.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284599.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p>神奇的白牦牛，在诉说着古老的传说。</p><p><img src="/upload/2021/11/5755881798756284601.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284604.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284609.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284613.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p>这里，雪山巍峨，草原辽阔。</p><p><img src="/upload/2021/11/2583940286203875999.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/3995818769385602455.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5092163803673316489.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/444730463206106839.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p>这里，经幡猎猎，桑烟缭绕。</p><p><img src="/upload/2021/11/5755881798756284622.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/3152238264182971182.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284627.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284629.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p>这里是歌舞的海洋，这里是人间的天堂。</p><p><img src="/upload/2021/11/5755881798756284633.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284636.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284640.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p><img src="/upload/2021/11/5755881798756284643.jpg" alt="美丽的华锐扎西秀（谨此献给我可爱的家乡）" /></p><p>神奇的天祝欢迎您，<br />美丽的华锐扎西秀！</p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[又到春节了]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/document-1395359396" />
                <id>tag:http://5sc.top,2014-01-13:document-1395359396</id>
                <published>2014-01-13T04:31:53+08:00</published>
                <updated>2014-01-13T04:31:53+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<div align=left   ><br>又到春节了，每个这样的节日总是特别想回去，但现实各式各样的情况，又不得不停下来想想。<br><embed height=300 pluginspage=http://www.macromedia.com/go/getflashplayer allowScriptAccess=never width=500 quality=high invokeurls=false src=http://player.youku.com/player.php/sid/XNjU5NjYwMDAw/v.swf type=application/x-shockwave-flash wmode=transparent   ><br>在现实与期望之间总是得为现实妥协。<br><br>家还是哪个偏远的小山村，家中的父母业已满头白发，虽然他们嘴上没说，但我知道，他们是期待我回去的。<br><br>在此遥祝远方的亲人，马年吉祥，身体健康。<br></div>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[[转载]qq2013 for linux Ubuntu 64位兼容/以及pidgin-lwqq]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/document-1381788366" />
                <id>tag:http://5sc.top,2013-12-11:document-1381788366</id>
                <published>2013-12-11T05:27:31+08:00</published>
                <updated>2013-12-11T05:27:31+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[方法1：<br><br> <br><pre class=prettyprint   ><p>+-----------------------------------------------------------------------+<br>|              wine qq 2013 for linux Ubuntu 64位兼容                                             <br>+-----------------------------------------------------------------------+<br>| 作者：LongeneTeam                                                      <br>| 网名：smile,timeboy,wolfstar                                         <br>| QQ群：【Longene爱好者群】252714468<br>| 新浪微博：http://www.weibo.com/longene<br>| Email：zhangcheng@insigma.com.cn                                         <br>+-----------------------------------------------------------------------+<br>| 文章版权归原作者所有。                                                 <br>| 大家可以自由转载这篇文章，但原版权信息必须保留。    <br>| 未经许可不得用于商业用途，任何个人、媒体、其他       <br>| 网站不得私自抄袭。 如需用于商业用途，请务必与原     <br>| 作者联系，若因未取得授权而收起的版权争议，由侵       <br>| 权者自行负责。                                                               <br>+-----------------------------------------------------------------------+<br><br>本文链接：http://www.longene.org/forum/viewtopic.php?f=6&t=4700<br><br>目录：<br>1. wine-qq最新下载<br>2. 安装说明<br>3. 常见问题<br>4. 更新日志<br>5. 历史版本下载<br>6. 运行截图<br><br>+-----------------------------------------------------------------------+<br>WineQQ2013  <br>+-----------------------------------------------------------------------+<br>Longene TM2013 Preview2<br>百度网盘：WineTM2013-20131206-Longene<br>MD5:90be8e3e3aad2e3a518d2b13b05cf016<br><br>Longene QQ2013SP4<br>本地下载：http://www.longene.org/download/WineQQ2013-20131120-Longene.deb<br>百度网盘：http://pan.baidu.com/s/1vNoAY<br>MD5:278ca362ff9d87d6763280153f255f05<br><br><br>2013-12-04更新说明：<br>1.该版本不是很稳定，可能比较容易崩溃，主要是因为QQ2013加入了QQProtect保护，和wine的兼容性不是很好。<br>2.wine版本：官方wine-1.7.6<br>3.QQ版本：官方QQ2013SP4<br><br>已知问题：<br>1.无法使用键盘输入密码，只可以使用软键盘。<br>2.ibus可能存在兼容问题，如果崩溃很频繁，换fcitx试试。<br></p></pre><div><img alt=[转载]qq2013 for linux Ubuntu 64位兼容/以及pidgin-lwqq - 漠北怪叟 - 漠北怪叟的个人博客   style=margin:0 10px 0 0;   src=http://forum.ubuntu.org.cn/download/file.php?id=157958&t=1   ></div><br>方法2<br><pre class=prettyprint   ><p><br></p><p> pidgin-lwqq是基于lwqq开发的pidgin插件。lwqq又是基于webqq协议开发，本人比较赞同作者的思路。<br><br>对pidgin下支持：<br><br>    支持发送接受文本消息<br>    支持发送接受图片<br>    支持群聊天<br>    支持发送接受表情(在设置中使用webqq表情主题)<br>    支持头像<br>    支持设置好友备注<br>    支持更改好友分组<br>    支持确认添加好友请求<br>    支持群的临时会话<br>    支持访问QQ空间<br>    支持更改在线状态<br>    支持多账户登录<br>    支持发送接受离线文件<br>    支持文本样式<br>    支持群消息屏蔽<br>    支持接受文件传输</p><p><br>sudo add-apt-repository ppa:lainme/pidgin-lwqq<br>sudo apt-get update<br>sudo apt-get install pidgin pidgin-lwqq<br></p><p><br></p><p>然后启动pidgin加入帐号。选webqq<br></p><p>   <br></p><p><br></p></pre><br>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[UnicodeEncodeError: 'ascii' codec can't encode character...的解决方法]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/document-1311096747" />
                <id>tag:http://5sc.top,2013-07-04:document-1311096747</id>
                <published>2013-07-04T11:59:42+08:00</published>
                <updated>2013-07-04T11:59:42+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[在python2.7下，<br>因为想从数据库中读出来分类名进行写入到文件,提示<br><pre class=prettyprint   ><p>Traceback (most recent call last):<br>  File test.py, line 28, in <module><br>    fp.write(%d:%s%(sClassid,sClassName))<br>UnicodeEncodeError: 'ascii' codec can't encode character u'uff08' in position 12: ordinal not in range(128<br></p></pre><br>不用fp.write，用print打印却正常，这到底是怎么回来呢？<br><pre class=prettyprint   ><p>#! /usr/bin/python<br># -*- coding: utf-8 -*-<br>import sys<br>print sys.getdefaultencoding();</p></pre><p></p><p>运行上面的程序提示</p><p>ascii</p><p><br></p><p>原来如此，在程序的头部加上</p><pre class=prettyprint   ><p>import sys<br><br>reload(sys)<br>sys.setdefaultencoding('utf-8')</p></pre><p></p><p><br></p><p>再次运行，错误消息。</p><p><br></p><p><b>总结一下，python2.7是基于ascii去处理字符流，当字符流不属于ascii范围内，就会抛出异常（ordinal not in range(128)）。</b><br></p>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[放风筝]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/document-1283040987" />
                <id>tag:http://5sc.top,2013-05-04:document-1283040987</id>
                <published>2013-05-04T11:12:01+08:00</published>
                <updated>2013-05-04T11:12:01+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<P>多年后再次放风筝，感觉很好，与女儿一起，尽管她还控制不了线，但是玩的很开心。</P><P><WBR></P>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[搬]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/document-1279767364" />
                <id>tag:http://5sc.top,2013-04-28:document-1279767364</id>
                <published>2013-04-28T12:07:15+08:00</published>
                <updated>2013-04-28T12:07:15+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[期待这一天很久了，但这些又来的这么不舍与难过，进入大公司又如何，沧海一栗而已，突然间好怀念逝去的时光。<br />这难道就是这些年苦苦追寻的结果？<br />在此立贴为证，坚持四年，愿早日到来。<br />]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[春节后第一篇]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/document-1248125911" />
                <id>tag:http://5sc.top,2013-02-27:document-1248125911</id>
                <published>2013-02-27T09:35:12+08:00</published>
                <updated>2013-02-27T09:35:12+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[今年是第一次在北京过春节，节中，媳妇为我产下可爱的儿子，刚休完陪护假，这二天一上班都在处理节中未了的事，今天才想起来该上来发博了。。。]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[Android设备中内嵌网页的滚动翻页功能设计]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/document-1238175808" />
                <id>tag:http://5sc.top,2013-02-01:document-1238175808</id>
                <published>2013-02-01T09:44:06+08:00</published>
                <updated>2021-11-15T02:11:07+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<p>在ANDROID软件中，经常会遇上直接内嵌浏览器，显示某个网址，但传统网页点击分页的链接会显的特别小，于是滚屏自动分页，就会有更好的用户体验。<br />于是使用jquery做了这样一段脚本。</p><pre><code class="language-javascript">    var page=1;      //页面AJAX调用的开关      var isLoading=false      //总页数      var pagecount=parseInt(0${cl.pages},10)      $(window).scroll(function() {          var o = $('#CtxContent');          if(o!=null ){              var hght= document.body.scrollHeight;              var clt =document.documentElement.clientHeight;              //var top= document.documentElement.scrollTop ;              var top= document.documentElement.scrollTop == 0 ? document.body.scrollTop : document.documentElement.scrollTop; ;              //alert(top=+top+ high=+hght)              if(top&gt;=(parseInt(hght)-clt) &amp;&amp; page&lt;=pagecount &amp;&amp;=&quot;&quot;&gt;&lt;/=pagecount&gt;                  page=parseInt(page)+1;                  ReadPage(page);              }          }      });      function ReadPage(page){          $(#news-bottom-list).html('![](/static/images/waiting.gif)正在获取信息...').show();          isLoading=true;          next=parseInt(page)+1;          html=$.get('?id=${id}&amp;page='+page+'&amp;lang='+currLang,          function (data){              isLoading=false;              $(#CtxContent).append(data);              $(#news-bottom-list).html(查看更多资讯↓);          },'html');      }  </code></pre>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[Squid3.2缓存之奇怪现象]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/document-1232395468" />
                <id>tag:http://5sc.top,2013-01-17:document-1232395468</id>
                <published>2013-01-17T11:47:08+08:00</published>
                <updated>2013-01-17T11:47:08+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<strong>在squid2.7中以前也发现这个问题。表现为率中率低的惊人。</strong><strong>初期没发现这个问题，还以为磁盘设置不合理，但无意中发现图片等文件都能hit,唯独htmljscss三种文件不能总是miss,这就让我想到nginx 的gzip压缩问题，</strong><div><strong><br></strong></div><div>在其中一台服务器上，squid2.7中hit正常，因为配置中有这一句</div><div>cache_vary on<br></div><div>所以就可以很好的hit。</div><div><br></div><div>但该设置在squid3中已经被弃用，所以造成率中率低，</div><div><br></div><div><div><img alt=Squid3.2缓存之奇怪现象 - 漠北怪叟 - 漠北怪叟的个人博客  style=margin:0 10px 0 0;  src=/upload/2021/11/6597852618935952287.jpg  ></div> </div><div><br></div><div><strong>莫非squid3.2不支持gzip？</strong></div><div><strong><br></strong></div><div>不应该啊，官网说squid3.2完美支持gzip，抱着试一试的心态，把nginx的gzip关闭后</div><div><div><img alt=Squid3.2缓存之奇怪现象 - 漠北怪叟 - 漠北怪叟的个人博客  style=margin:0 10px 0 0;  src=/upload/2021/11/2616872858496905273.jpg  ></div> </div><div>果然是这个问题，那么关闭gzip不是解决之道，这个问题还是得回到nginx中。</div><div><br></div><div>在nginx的官方WIKI上（/upload/2021/11/6597429306959034401.jpg  ></div> </div>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[WEB.PY 在enctype=”multipart/form-data”模式时，与其它表单项混杂后出错的问题]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/document-1220858161" />
                <id>tag:http://5sc.top,2012-12-18:document-1220858161</id>
                <published>2012-12-18T02:29:39+08:00</published>
                <updated>2012-12-18T02:29:39+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<br><br>WEB.py在uwsgi模式时，经常会出现提交表单出错的问题。<br><pre id=line1  >”。  class=error error error error error error error error  ><Storage {'checkall': u'on', 'cmd': u'confirm-----------------------------106872092112679737941644173247Content-Disposition: form-data; name=gid1', 'q': 'activation', 'sn': u'URPORPIFTUDWUTFWDGWH', 'sid': u'0', 'detailsubmit': u'u5165u5e93'}><br><br>如这样子，经跟踪发现，当POST的其它表单项多时，就会出现错误。尤其有些表单需要文件上传还有其它的参数同时提交时最为严重，<br>检查过NGINX的POST缓存等没有问题，一至困扰很久。。<br><br>今天在uwsgi的官网翻看文档，无意中发现了post-buffering的设置。加入到uwsgi的启动参数后，问题得以解决，我的uwsgi启动参数如下：<br><br>-s 127.0.0.1:9002 -L -C -M -p 6 -t 50 --limit-as 1000 -R 10240  --vhost -d /var/log/uwsgi.log --pidfile /var/run/$NAME.pid —pythonpath /home  —enable-threads  --post-buffering=1024<br><br><br><br><br></pre>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[完成MYSQL的表分区工作。。]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/document-1216467616" />
                <id>tag:http://5sc.top,2012-12-07:document-1216467616</id>
                <published>2012-12-07T01:27:02+08:00</published>
                <updated>2012-12-07T01:27:02+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[<p>mysql 5.5已经支持日期分区了。</p><p>实现步骤：</p><p>1 首先为记录添加sdate字估， 并用created的格林威治时间更新</p><p>update pi_mobile set sdate=from_unixtime(created,%Y-%m-%d)</p><p>2、将sdate设置为主键。</p><p>3、为sdate创建一个索引，提高分区速度。</p><p>4、分区。</p><p></p><pre class=prettyprint  ><p>ALTER TABLE `pi_mobile_imei`  PARTITION BY RANGE(year(sdate)) PARTITIONS <br>( <br> PARTITION part0 VALUES LESS THAN (1971),  <br> PARTITION part1 VALUES LESS THAN (2011),  <br> PARTITION part2 VALUES LESS THAN (2012),  <br> PARTITION part3 VALUES LESS THAN (2013),  <br> PARTITION part4 VALUES LESS THAN (2014), <br> PARTITION part5 VALUES LESS THAN (2015),<br> PARTITION part6 VALUES LESS THAN MAXVALUE<br>);<br></p></pre>分区注意事项。<br><p>1、字段必须包含在主键中;</p><p>2、记录是小于设定好的分表中。</p><p><br></p><p>当使用设置字段进行搜索时。可以使用到索引，如其它字段。将遍历所有分区。</p><p><br></p><p></p><div><img alt=完成MYSQL的表分区工作。。 - 漠北怪叟 - 漠北怪叟的个人博客  style=margin:0 10px 0 0;  src=/upload/2021/11/6597632716610091529.jpg  ></div><p>通过日期查时。可直接定位于分区上</p><p> </p><div><img alt=完成MYSQL的表分区工作。。 - 漠北怪叟 - 漠北怪叟的个人博客  style=margin:0 10px 0 0;  src=/upload/2021/11/2540030189854970554.jpg  ></div>不通过日期时，将遍历所有分区。。。这样子的效果就同分区前没有任何区别。 ]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[Centos优化]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/document-1215657340" />
                <id>tag:http://5sc.top,2012-12-05:document-1215657340</id>
                <published>2012-12-05T12:22:25+08:00</published>
                <updated>2012-12-05T12:22:25+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[　　CentOS 团员已经发布了 CentOS 6 系列的第三个版本，CentOS 6.3 基于上游的红帽 RHEL 6.3。CentOS  是一个企业级的 Linux 发行版本，CentOS 是 RHEL（Red Hat Enterprise  Linux）源代码再编译的产物的免费版，它继承了 Red Hat Linux  的稳定性，而且又提供免费更新。因此，它在IDC中装机量几乎是最大的一个 Linux 发行版。它包含了很多错误修正、升级和新功能。<br><br><pre class=prettyprint  >1、执行优化:<br> echo 'ulimit -c unlimited' >> /etc/profile<br> echo 'ulimit -s unlimited' >> /etc/profile<br> echo 'ulimit -SHn 65535' >>  /etc/profile<br> echo '*               hard   core            0'>>/etc/security/limits.conf<br> echo '*               hard   rss            10000'>>/etc/security/limits.conf<br> echo '*               hard   nproc            20'>>/etc/security/limits.conf<br><br>2、<br>    vi /etc/sysctl.conf<br><br>    插入以下：<br>    net.ipv4.tcp_max_syn_backlog = 65536<br>    net.core.netdev_max_backlog =  32768<br>    net.core.somaxconn = 32768<br><br>    net.core.wmem_default = 8388608<br>    net.core.rmem_default = 8388608<br>    net.core.rmem_max = 16777216<br>    net.core.wmem_max = 16777216<br><br>    net.ipv4.tcp_timestamps = 0<br>    net.ipv4.tcp_synack_retries = 2<br>    net.ipv4.tcp_syn_retries = 2<br><br>    net.ipv4.tcp_tw_recycle = 1<br><br>    net.ipv4.tcp_tw_reuse = 1<br>    net.ipv4.tcp_syncookies = 1<br>    net.ipv4.tcp_mem = 94500000 915000000 927000000<br>    net.ipv4.tcp_max_orphans = 3276800<br><br>    net.ipv4.tcp_fin_timeout = 30<br>    net.ipv4.tcp_keepalive_time = 120<br>    net.ipv4.ip_local_port_range = 1024 65535<br><br>    执行立即生效：/sbin/sysctl -p <br>3、<br>    vi /usr/include/bits/typesizes.h<br><br>    查找SETSIZE 找到<br>    #define __FD_SETSIZE 1024 改为 65535<br>4、修改SSH端口<br> vi /etc/ssh/sshd_config<br><br> Port 22改新端口<br> PermitEmptyPasswords no<br> MaxAuthTries 3<br>    <br> 重启SSH：/etc/init.d/ssh restart<br>5、禁止IP伪装<br> echo 'nospoof on'>>/etc/host.conf<br><br><p><br></p></pre>]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[centos 6配置uwsgi环境]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/document-1215657326" />
                <id>tag:http://5sc.top,2012-12-05:document-1215657326</id>
                <published>2012-12-05T12:19:45+08:00</published>
                <updated>2012-12-05T12:19:45+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[centos 6.3 因为python 2.6的版本优势，勿须要 另装PYTHON版本。所以用来配置PYTHON再好不过。<br><br>1、    配置基本编译环境<br>yum -y install gcc gdbm-devel readline-devel ncurses-devel zlib-devel sqlite-devel db4-devel tk-devel bluez-libs-devel make bzip2-devel gcc-c++ openssl-devel<br>2、安装uwsgi<br>wget /upload/2021/11/6597907594517029671.jpg  ></div> <br> <br><br>3、安装 virtualenv<br>下载地址：<br>http://pypi.python.org/pypi/virtualenv#downloads<br>wget -S 'http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.8.4.tar.gz#md5=1c7e56a7f895b2e71558f96e365ee7a7'<br>tar zx virtualenv-1.8.4.tar.gz <br>cd virtualenv-1.8.1<br>python setup.py build<br>python setup.py install<br><br>virtualenv /home/virtualenv<br>cd /home/virtualenv && source bin/activate<br><br>#安装web.py<br>pip install web.py<br>安装mysql<br>yum install mysql-devel<br>pip install MySql-python<br><br>安装pil<br>yum install libjpeg* libpng* <br>pip install PIL<br><br>安装memcached<br>yum install memcached<br>pip install python-memcached<br><br>安装mako<br><br><br><br><br>附uwsgi启动脚本<br>#!/bin/bash<br><br># uwsgi - Use uwsgi to run python and wsgi web apps.<br>#<br># chkconfig: - 85 15<br># description: Use uwsgi to run python and wsgi web apps.<br># processname: uwsgi<br><br>PATH=/sbin:/bin:/usr/sbin:/usr/bin<br>DAEMON=/usr/bin/uwsgi<br><br>OWNER=uwsgi<br><br>NAME=uwsgi<br>DESC=uwsgi<br><br>test -x $DAEMON || exit 0<br><br># Include uwsgi defaults if available<br>if [ -f /etc/default/uwsgi ] ; then<br>        . /etc/default/uwsgi<br>fi<br><br>set -e<br><br>get_pid() {<br>#    if [ -f /var/run/$daemon_name.pid ]; then<br>    if [ -f /var/run/$NAME.pid ]; then<br>        echo `cat /var/run/$NAME.pid`<br>    fi<br>}<br><br><br>get_pid1() {<br>    if [ -f /var/run/$daemon_name.pid ]; then<br>        echo `cat /var/run/$daemon_name.pid`<br>    fi<br>}<br><br>#DAEMON_OPTS=-s 127.0.0.1:9001 -M 4 -t 30 -A 4 -p 4 -d /var/log/uwsgi.log --pidfile /var/run/$NAME.pid --pythonpath $PYTHONPATH --module $MODULE<br>DAEMON_OPTS=-s 127.0.0.1:9002 -L -C -M -p 6 -t 50 --limit-as 1000 -R 10240  --vhost -d /var/log/uwsgi.log --pidfile /var/run/$NAME.pid —pythonpath /home  --enable-threads<br><br><br>ulimit -SHn 65535<br>case $1 in<br>  start)<br>        echo -n Starting $DESC: <br>        PID=$(get_pid)<br>        if [ -z $PID ]; then<br>            [ -f /var/run/$NAME.pid ] && rm -f /var/run/$NAME.pid<br><br>            touch /var/run/$NAME.pid<br>            chown $OWNER /var/run/$NAME.pid<br>            su - $OWNER -pc $DAEMON $DAEMON_OPTS<br>            echo $NAME.<br>        fi<br><br>        ;;<br>  stop)<br>        echo -n Stopping $DESC: <br>        PID=$(get_pid)<br>        [ ! -z $PID ] && kill -s 3 $PID &> /dev/null<br>        if [ $? -gt 0 ]; then<br>            echo was not running<br>            exit 1<br>        else<br>            echo $NAME.<br>            rm -f /var/run/$NAME.pid &> /dev/null<br>        fi<br>        ;;<br>  reload)<br>        echo Reloading $NAME<br>        PID=$(get_pid)<br>        [ ! -z $PID ] && kill -s 1 $PID &> /dev/null<br>        if [ $? -gt 0 ]; then<br>            echo was not running<br>            exit 1<br>        else<br>            echo $NAME.<br>            rm -f /var/run/$NAME.pid &> /dev/null<br>        fi<br>        ;;<br>  force-reload)<br>        echo Reloading $NAME<br>        PID=$(get_pid)<br>        [ ! -z $PID ] && kill -s 15 $PID &> /dev/null<br>        if [ $? -gt 0 ]; then<br>            echo was not running<br>            exit 1<br>        else<br>            echo $NAME.<br>            rm -f /var/run/$NAME.pid &> /dev/null<br>        fi<br>        ;;<br>  restart)<br>        $0 stop<br>        sleep 2<br>        $0 start<br>        ;;<br>  status)<br>        killall -10 $DAEMON<br>        ;;<br>      *)<br>            N=/etc/init.d/$NAME<br>            echo Usage: $N {start|stop|restart|reload|force-reload|status} >&2<br>            exit 1<br>            ;;<br>    esac<br>    exit 0]]>
                </content>
            </entry>
            <entry>
                <title><![CDATA[uwsgi提示libgcc_s.so.1 must be installed for pthread_cance]]></title>
                <link rel="alternate" type="text/html" href="http://5sc.top/archives/document-1215120380" />
                <id>tag:http://5sc.top,2012-12-04:document-1215120380</id>
                <published>2012-12-04T05:26:01+08:00</published>
                <updated>2012-12-04T05:26:01+08:00</updated>
                <author>
                    <name>漠北</name>
                    <uri>http://5sc.top</uri>
                </author>
                <content type="html">
                        <![CDATA[在Centos6.3 64bit上安装时遇上这个问题。找了很久才知道答案。。<br><br>DAEMON_OPTS=-s 127.0.0.1:9002 -L -C -M -p 6 -t 50 --limit-as 256 -R 10240  --vhost -d /var/log/uwsgi.log --pidfile /var/run/$NAME.pid --pythonpath <br><br>解决方案是：<br>把--limit-as 256改大。比如 --limit-as 1000即可]]>
                </content>
            </entry>
</feed>
