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)

MySQLdb/mysql-python安装时EnvironmentError: mysql_config not found

2012-7-19 foooy python

python setup.py install 

sh: mysql_config: not found
Traceback (most recent call last):
  File "setup.py", line 15, in <module>
    metadata, options = get_config()
  File "/root/MySQL-python-1.2.3/setup_posix.py", line 43, in get_config
    libs = mysql_config("libs_r")
  File "/root/MySQL-python-1.2.3/setup_posix.py", line 24, in mysql_config
    raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found

原因mysql_config.path位置不对,首先查找mysql_config的位置,使用find / -name mysql_config,可以找到位置,本人的是/data/webserver/mysql/bin/mysql_config

修改setup_posix.py26行:

mysql_config.path = "mysql_config" 修改为:
mysql_config.path = " /data/webserver/mysql/bin/mysql_config " //这里是你搜索到的位置
修改完成后保存,再执行
python setup.py build
python setup.py install
python setup.py bdist_rpm

评论(0) 浏览(203816)

import MySQLdb UserWarning错误

2012-7-19 foooy python

import MySQLdb

/usr/lib/python2.4/site-packages/MySQL_python-1.2.3-py2.4-linux-i686.egg/_mysql.py:3: UserWarning: Module _mysql was already imported from /usr/lib/python2.4/site-packages/MySQL_python-1.2.3-py2.4-linux-i686.egg/_mysql.pyc, but /root/soft/MySQL-python-1.2.3 is being added to sys.path

 

原因是,install后MySQLdb模块已经被放到python的site-pachages目录中;但我在当前目录也存在相同的模块,所以可能会重复导入。只要切换到其他目录运行就可以了。

评论(0) 浏览(220741)

Centos安装安装MySQLdb模块

2012-7-19 foooy python

1、下载安装python setup编译工具 

wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c9.tar.gz
tar zxvf setuptools-0.6c9.tar.gz
cd setuptools-0.6c9
python setup.py build
sudo python setup.py install

2、下载安装MySQLdb模块

https://pypi.python.org/pypi/MySQL-python

wget http://nchc.dl.sourceforge.net/project/mysql-python/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz
tar zxvf MySQL-python-1.2.3.tar.gz
cd MySQL-python-1.2.3
python setup.py build
python setup.py install

 

3、测试是否可用

python
import MySQLdb
如果没有报错,说明已经安装好了

评论(0) 浏览(49629)

关闭SELinux的两种方法

2012-7-19 foooy linux

1 永久方法 – 需要重启服务器

修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。

 

2 临时方法 – 设置系统参数

使用命令setenforce 0

 

PS:

setenforce 1 设置SELinux 成为enforcing模式

setenforce 0 设置SELinux 成为permissive模式

标签: linux selinux

评论(0) 浏览(34303)

centos安装memcache

2012-7-19 foooy linux

memcached 依赖libevent库 ,所以要先安装libevent库

http://libevent.org/下载
wget https://github.com/downloads/libevent/libevent/libevent-2.0.20-stable.tar.gz
tar zxvf libevent-2.0.20-stable.tar.gz
cd libevent-2.0.20-stable
./configure --prefix=/usr/local/libevent-2.0.20-stable/
make && make install
cd ../

http://memcached.org/下载
wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
tar zxvf memcached-1.4.15.tar.gz
cd memcached-1.4.15
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent-2.0.20-stable
make && make install

启动
/usr/local/memcached/bin/memcached -d -u nobody -m 128 127.0.0.1 -p 11211

memcache启动参数说明:

-d选项是启动一个守护进程,

-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,

-u是运行Memcache的用户,我这里是root,

-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,

-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,

-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,

-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid

 

清空所有内容可以在终端执行下列命令

 
echo ”flush_all” | nc localhost 11211

 

 查看memcache的内部状态

memcache的运行状态可以方便的用stats命令显示。首先用telnet 127.0.0.1 11211这样的命令连接上memcache,然后直接输入stats就可以得到当前memcache的状态。这些状态的说明如下:

pid memcache服务器的进程ID
uptime 服务器已经运行的秒数
time 服务器当前的unix时间戳
version memcache 版本
pointer_size 当前操作系统的指针大小(32位系统一般是32bit)
rusage_user 进程的累计用户时间
rusage_system 进程的累计系统时间
curr_items 服务器当前存储的items数量
total_items 从服务器启动以后存储的items总数量
bytes 当前服务器存储items占用的字节数
curr_connections 当前打开着的连接数
total_connections 从服务器启动以后曾经打开过的连接数
connection_structures 服务器分配的连接构造数
cmd_get get命令(获取)总请求次数
cmd_set set 命令(保存)总请求次数
get_hits 总命中次数
get_misses 总未命中次数
evictions 为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items)
bytes_read 总读取字节数(请求字节数)
bytes_written 总发送字节数(结果字节数)
limit_maxbytes 分配给memcache的内存大小(字节)
threads 当前线程数

标签: libevent memcache centos

评论(0) 浏览(31278)

dedecms后台登陆一片空白,dedecms不兼容php5.4处理方法

2012-7-19 foooy PHP

    登陆dedemcs后台输入用户名和密码后没有提示显示为空白,主要原为是php5.4的版本废除了session_register函数
可以采用如$_SESSION[$this->keepUserIDTag] = $this->userID; 这种方式处理完整代码如下
    首先打开 include/userlogin.class.php这个文件,在287行到308行原内容如下:

@session_register($this->keepUserIDTag);
$_SESSION[$this->keepUserIDTag] = $this->userID;
@session_register($this->keepUserTypeTag);
$_SESSION[$this->keepUserTypeTag] = $this->userType;
@session_register($this->keepUserChannelTag);
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
@session_register($this->keepUserNameTag);
$_SESSION[$this->keepUserNameTag] = $this->userName;
@session_register($this->keepUserPurviewTag);
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
@session_register($this->keepAdminStyleTag);
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
PutCookie(‘DedeUserID’, $this->userID, 3600 * 24, ‘/’);
PutCookie(‘DedeLoginTime’, time(), 3600 * 24, ‘/’);

替换成

global $admincachefile,$adminstyle;
if(empty($adminstyle)) $adminstyle = ‘dedecms’;
//@session_register($this->keepUserIDTag);
$_SESSION[$this->keepUserIDTag] = $this->keepUserIDTag;
$_SESSION[$this->keepUserIDTag] = $this->userID;
//@session_register($this->keepUserTypeTag);
$_SESSION[$this->keepUserTypeTag] = $this->keepUserTypeTag;
$_SESSION[$this->keepUserTypeTag] = $this->userType;
// @session_register($this->keepUserChannelTag);
$_SESSION[$this->keepUserChannelTag] = $this->keepUserChannelTag;
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
//@session_register($this->keepUserNameTag);
$_SESSION[$this->keepUserNameTag] = $this->keepUserNameTag;
$_SESSION[$this->keepUserNameTag] = $this->userName;
//@session_register($this->keepUserPurviewTag);
$_SESSION[$this->keepUserPurviewTag] = $this->keepUserPurviewTag;
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
// @session_register($this->keepAdminStyleTag);
$_SESSION[$this->keepAdminStyleTag] = $this->keepAdminStyleTag;
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
PutCookie(‘DedeUserID’, $this->userID, 3600 * 24, ‘/’);
PutCookie(‘DedeLoginTime’, time(), 3600 * 24, ‘/’);







标签: dedecms php5.4

评论(0) 浏览(37362)

常用数列求和公式

2012-7-19 foooy other

1. 1+2+3+......+n=n(n+1)/2
2. 1^2+2^2+3^2+......+n^2=n(n+1)(2n+1)/6
3. 1^3+2^3+3^3+......+n^3=( 1+2+3+......+n)^2=n^2*(n+1)^2/4
4. 1*2+2*3+3*4+......+n(n+1)=n(n+1)(n+2)/3
5. 1*2*3+2*3*4+3*4*5+......+n(n+1)(n+2)=n(n+1)(n+2)(n+3)/4

6. 1+3+6+10+15+......
=1+(1+2)+(1+2+3)+(1+2+3+4)+......+(1+2+3+...+n)
=[1*2+2*3+3*4+......+n(n+1)]/2
=n(n+1)(n+2)/6

7. 1+2+4+7+11+......+ n
=1+(1+1)+(1+1+2)+(1+1+2+3)+......+(1+1+2+3+...+n)
=(n+1)*1+[1*2+2*3+3*4+......+n(n+1)]/2
=(n+1)+n(n+1)(n+2)/6

8. 1/2+1/2*3+1/3*4+......+1/n(n+1)
=1-1/(n+1)=n/(n+1)

9. 1/(1+2)+1/(1+2+3)+1/(1+2+3+4)+......+1/(1+2+3+...+n)
= 2/2*3+2/3*4+2/4*5+......+2/n(n+1)=(n-1)/(n+1)
10. 1/1*2+2/2*3+3/2*3*4+......+(n-1)/2*3*4*...*n
=(2*3*4*...*n-1)/2*3*4*...*n

11. 1^2+3^2+5^2+..........(2n-1)^2=n(4n^2-1)/3
12. 1^3+3^3+5^3+..........(2n-1)^3=n^2(2n^2-1)
13. 1^4+2^4+3^4+..........+n^4=n(n+1)(2n+1)(3n^2+3n-1)/30
14. 1^5+2^5+3^5+..........+n^5=n^2 (n+1)^2 (2n^2+2n-1) /12

15. 1+2+2^2+2^3+......+2^n=2^(n+1) – 1

标签: php 公式 数列

评论(0) 浏览(9466)

ASP 32位程序运行与64位问题:ADODB.Connection 错误

2012-7-19 foooy other

ADODB.Connection 错误 '800a0ea9'
未指定提供程序,也没有指派的默认提供程序。
 
 64位 Windows 2003  IIS 运行32bit程序,不完全兼容就出现:“Windows 64 bit ADODB.Connection 错误 '800a0ea9' 未指定提供程序”
    解决方法:进CMD命令窗口:依次运行:
    1. cd /d %systemdrive%/Inetpub/AdminScripts
    2. cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true"

如果出现: Service Unavailable
运行以下命令: C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe -i
 
重新访问就OK了

标签: asp access windows

评论(0) 浏览(9313)

Powered by emlog 鄂ICP备14000186号-1 sitemap