分类: 默认

用gunicorn和gevent提高python web框架的性能

其实比如 Flask,webpy,Django、CherryPy 都带着 WSGI server 。当然性能都不好,自带的web server 更多的是测试用途, 线上发布时,则使用高性能的 wsgi server或者是联合nginx做uwsgi 。

诚如那个WSGI的定义所说的,协议定义了一套接口来实现服务器端与应用端通信的规范化(或者说是统一化)。这是怎样的一套接口呢?很简单,尤其是对于应用端。

神器 Gunicorn是一个Python WSGI UNIX的HTTP服务器。这是一个[……]

阅读全文»

Nginx 配置陷阱和常见错误

新老用户都可能遇到陷阱。下面我们列出频繁出现的问题,以及如何解决。
在 Freenode IRC #nginx 频道,我们经常看到这些问题。
关于本指南
最常见的是有人试图从其他指南拷贝配置片段。并非所有的指南是错误的,但绝大部分是有问题的。
甚至 Linode library 的质量也不高,NGINX 社区成员有义务去尝试更正。
这些文档由社区成员创建并审核。存在该指南的意义在于社区成员常见及反复出现的问题。
我的问题未列出
你遇到的问题在这里没有看到,也许我们在这里没有指明你经历的问题。[……]

阅读全文»

Zabbix 中使用 Percona Monitoring Plugins 监控 MySQL

Zabbix 中监控 MySQL 方式

1 使用自带模板监控 MySQL
Zabbix-Agent 本身并没有提供直接对 MySQL 监控的 Key,所以首先需要通过自定义 Key 来应用自带的 MySQL 模板。

具体步骤暂不说明。本文主要说明使用 Percona Monitoring Plugins 监控 MySQL的方式

2 使用 Percona Monitoring Plugins 监控 MySQL

使用 Percona Monitoring Plugins 监控 MyS[……]

阅读全文»

php绘制图片验证码

验证码是一种安全保护机制,在注册时要求必须有人工操作进行验证,用于防止垃圾注册机大量注册用户账号占用服务器内存从而使服务器瘫痪。
图片验证码的实现十分简单。首先从指定字符集合中随机抽取固定数目的字符,以一种不规则的方法画在画布上,再适当添加一些干扰点和干扰元素,最后将图片输出,一张崭新的验证码就完成了。
前端代码如下:
<!DOCTYPE html>
<html>
<head>
    <meta&nb[……]

阅读全文»

提高 PHP 代码质量的 36 计[转]

1.不要使用相对路径常常会看到:require_once('../../lib/some_class.php');该方法有很多缺点:它首先查找指定的php包含路径, 然后查找当前目录.因此会检查过多路径.如果该脚本被另一目录的脚本包含, 它的基本目录变成了另一脚本所在的目录.另一问题, 当定时任务运行该脚本, 它的上级目录可能就不是工作目录了.因此最佳选择是使用绝对路径:define('ROOT' , '/var/www/project/&#39[……]

阅读全文»

微信公众号开发之用户地理位置坐标转百度坐标[转]

微信公众号开发之用户地理位置坐标转百度坐标(搜狗、google地图坐标转百度地图坐标)
我们知道,Google地图、soso地图与百度地图的坐标是不一样的,通常会差挺远一段距离。因此我们在微信中使用百度地图导航等百度地图API时,若根据微信获取的用户位置信息的话,得到的结果通常是不准确的。这时我们就需要把微信获取的用户位置坐标转换成百度地图对应的坐标才可以。

下面是我们在微信公众号中获得的用户位置的XML数据包(用户主动发送来的位置,开通高级接口的可以主动获取用户信息,获取结果参考这里):
&l[……]

阅读全文»

46 个非常有用的 PHP 代码片段[转]

在编写代码的时候有个神奇的工具总是好的!下面这里收集了 40+ PHP 代码片段,可以帮助你开发 PHP 项目。

这些 PHP 片段对于 PHP 初学者也非常有帮助,非常容易学习,让我们开始学习吧~
1. 发送 SMS
在开发 Web 或者移动应用的时候,经常会遇到需要发送 SMS 给用户,或者因为登录原因,或者是为了发送信息。下面的 PHP 代码就实现了发送 SMS 的功能。

为了使用任何的语言发送 SMS,需要一个 SMS gateway。大部分的 SMS 会提供一个 API,这里是使[……]

阅读全文»

修复 MySQL 数据库结构错误 – 升级[转]

不知道是不是每次更新 MySQL 软件之后都需要执行数据库升级指令?在我进行过的几次软件升级之后,总会在 MySQL 的日志中见到“[ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it”之类的错误。虽然这个错误修复起来很简单,却不容易引起注意。
1. 错误描述
我在好几次见到这样的错误提示之后才决定好好看看到底写了些什么。因为网站运行很正常,就心想应该不怎么重要吧。错误提示大致内容如[……]

阅读全文»

高流量站点NGINX与PHP-fpm配置优化

使用Nginx搭配PHP已有7年的这份经历让我们学会如何为高流量站点优化NGINX和PHP-fpm配置。

以下正是这方面的一些提示和建议:
1. 将TCP切换为UNIX域套接字
UNIX域套接字相比TCP套接字在loopback接口上能提供更好的性能(更少的数据拷贝和上下文切换)。

但有一点需要牢记:仅运行在同一台服务器上的程序可以访问UNIX域套接字(显然没有网络支持)。
upstream backend
{
# UNIX domain sockets
serve[……]

阅读全文»

Ubuntu下修改DNS重启也能用的方法

安装好Ubuntu之后设置了静态IP地址,再重启后就无法解析域名。想重新设置一下DNS,打开/etc/resolv.conf

cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND — YOUR CHANGES WILL BE OVERWRITTEN

内容是一段警告:说这个文[……]

阅读全文»

鄂ICP备13000209号-1

鄂公网安备 42050602000277号