python27中mimetypes.py的UnicodeDecodeError ctype = ctype.encode(default_encoding) # omit in 3.x!

2014-4-15 foooy Nginx

python27中 Lib\mimetypes.py的一个bug,属于 "def enum_types(mimedb)"函数:

安装扩展会报以下错误:

ctype = ctype.encode(default_encoding) # omit in 3.x!

UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal not in range(128)

 

解决办法打开 Python27\lib\mimetypes.py删除或者注释下面代码

try:
    ctype = ctype.encode(default_encoding) # omit in 3.x!
except UnicodeEncodeError:
    pass


标签: python

评论(0) 浏览(5522)

服务器返回状态码明细

2012-9-15 foooy Nginx

HTTP 400 – 请求无效
HTTP 401.1 – 未授权:登录失败
HTTP 401.2 – 未授权:服务器配置问题导致登录失败
HTTP 401.3 – ACL 禁止访问资源
HTTP 401.4 – 未授权:授权被筛选器拒绝
HTTP 401.5 – 未授权:ISAPI 或 CGI 授权失败
HTTP 403 – 禁止访问
HTTP 403 – 对 Internet 服务管理器 (HTML) 的访问仅限于 Localhost
HTTP 403.1 禁止访问:禁止可执行访问
HTTP 403.2 – 禁止访问:禁止读访问
HTTP 403.3 – 禁止访问:禁止写访问
HTTP 403.4 – 禁止访问:要求 SSL
HTTP 403.5 – 禁止访问:要求 SSL 128
HTTP 403.6 – 禁止访问:IP 地址被拒绝
HTTP 403.7 – 禁止访问:要求客户证书
HTTP 403.8 – 禁止访问:禁止站点访问
HTTP 403.9 – 禁止访问:连接的用户过多
HTTP 403.10 – 禁止访问:配置无效
HTTP 403.11 – 禁止访问:密码更改
HTTP 403.12 – 禁止访问:映射器拒绝访问
HTTP 403.13 – 禁止访问:客户证书已被吊销
HTTP 403.15 – 禁止访问:客户访问许可过多
HTTP 403.16 – 禁止访问:客户证书不可信或者无效
HTTP 403.17 – 禁止访问:客户证书已经到期或者尚未生效
HTTP 404.1 – 无法找到 Web 站点
HTTP 404 – 无法找到文件
HTTP 405 – 资源被禁止
HTTP 406 – 无法接受
HTTP 407 – 要求代理身份验证
HTTP 410 – 永远不可用
HTTP 412 – 先决条件失败
HTTP 414 – 请求 – URI 太长
HTTP 500 – 内部服务器错误
HTTP 500.100 – 内部服务器错误 – ASP 错误
HTTP 500-11 服务器关闭
HTTP 500-12 应用程序重新启动
HTTP 500-13 – 服务器太忙
HTTP 500-14 – 应用程序无效
HTTP 500-15 – 不允许请求 global.asa
Error 501 – 未实现
HTTP 502 – 网关错误

标签: 服务器 返回状态码

评论(0) 浏览(32839)

nginx上传模块nginx_upload_module使用

2012-7-27 foooy Nginx

以下在nginx1.2.7上测试通过

1、安装模块

cd /data/software
wget http://www.grid.net.ru/nginx/download/nginx_upload_module-2.0.12.tar.gz
或者在https://github.com/vkholodkov/nginx-upload-module/tree/2.2下载
tar zxvf nginx_upload_module-2.0.12.tar.gz
进入nginx源码目录 
./configure --with-http_stub_status_module \ --add-module=/data/software/nginx_upload_module-2.0.12
make#新增模块,不用make install
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp ./objs/nginx /usr/local/nginx/sbin/nginx

2、修改配置文件,在server中增加一下内容

        location /upload {
            upload_pass   /info.php;#上传完成后端接受处理文件
            upload_store /data/uptmp;#上传文件夹
            upload_limit_rate 1024k;# 限制上传速度
            upload_set_form_field "${upload_field_name}_name" $upload_file_name;#文件名称
            upload_set_form_field "${upload_field_name}_content_type" $upload_content_type;#文件类型
            upload_set_form_field "${upload_field_name}_path" $upload_tmp_path;#上传到的路径
            upload_aggregate_form_field "${upload_field_name}_md5" $upload_file_md5;#md5
            upload_aggregate_form_field "${upload_field_name}_size" $upload_file_size;#文件大小
            upload_pass_form_field "^submit$|^description$";
            #如果希望把所有的表单字段都传给后端可以用upload_pass_form_field "^.*$";
        }

 

3、前端代码

up.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题文档</title>
</head>
<body>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<form name="upload" method="POST" enctype="multipart/form-data" action="/upload"><!--提交到上面的/upload-->
<input type="file" name="file"><br>
<input type="submit" name="submit" value="Upload">
</form>
</body>
</html>
info.php
<?php
    header("Content-Type:text/html; charset=utf-8");
    print_r($_POST);

上传会返回如下图数据

点击查看原图

标签: linux centos api

评论(5) 浏览(40756)

nginx X-Accel-Redirect文件下载控制

2012-7-24 foooy Nginx

1、nginx的配置文件里添加下面的配置信息:

location /upfile {#upfile文件目录名
     alias /data/wwwroot/foooy/upfile;#文件绝对路径
     internal;#只供nginx内部访问
}

重启nginx,访问upfile下文件,应该就是404了

2、php代码 down.php

<?php
        //这里可以写权限控制。。。。。
	header("Content-Type: application/force-download");//说明是一个下载请求
	header('Accept-Range : byte ');//文件单位,貌似可有可无
	header('Accept-Length: 3428');//文件长度,貌似可有可无
	header('Content-Disposition: attachment; filename=100.pdf');//保存文件名
	header("X-Accel-Redirect: /upfile/pdf/100.pdf");//nginx重定向请求,/upfile/定向到是nginx配置文件中的/data/wwwroot/foooy/upfile 

3、访问down.php应该就可以下载到100.pdf文件。

 

 

评论(0) 浏览(45392)

nginx conf 配置文件中的变量大全 可用变量列表及说明

2012-7-24 foooy Nginx

$args #这个变量等于请求行中的参数。
$content_length #请求头中的Content-length字段。
$content_type #请求头中的Content-Type字段。
$document_root #当前请求在root指令中指定的值。
$host #请求主机头字段,否则为服务器名称。
$http_user_agent #客户端agent信息
$http_cookie #客户端cookie信息
$limit_rate #这个变量可以限制连接速率。
$request_body_file #客户端请求主体信息的临时文件名。
$request_method #客户端请求的动作,通常为GET或POST。
$remote_addr #客户端的IP地址。
$remote_port #客户端的端口。
$remote_user #已经经过Auth Basic Module验证的用户名。
$request_filename #当前请求的文件路径,由root或alias指令与URI请求生成。
$query_string #与$args相同。
$scheme #HTTP方法(如http,https)。
$server_protocol #请求使用的协议,通常是HTTP/1.0或HTTP/1.1。
$server_addr #服务器地址,在完成一次系统调用后可以确定这个值。
$server_name #服务器名称。
$server_port #请求到达服务器的端口号。
$request_uri #包含请求参数的原始URI,不包含主机名,如:”/foo/bar.php?arg=baz”。
$uri #不带请求参数的当前URI,$uri不包含主机名,如”/foo/bar.html”。
$document_uri #与$uri相同。

评论(0) 浏览(53853)

让nginx支持shtml

2012-7-19 foooy Nginx

nginx支持shtml的方法为:
在nginx.conf配置文件的http标签内下面,添加:
ssi on;
ssi_silent_errors on;
ssi_types text/shtml;
然后保存,重启nginx即可。

标签: linux centos nginx

评论(0) 浏览(573)

Powered by emlog 鄂ICP备14000186号-1 sitemap