nginx+php上传大文件失败
默认情况下,nginx允许客户端请求的最大的单个文件字节数为1M,就是说如果上传的文件超过1M就上传不了。可以人为修改这个参数,例如把下面代码放在http段,这样就可以上传10M以下的文件
另外限制上传文件大小配置在php.ini也有配置,默认是
upload_max_filesize = 2M
如果要上传大文件,可能也要相应调整这两个配置项。
默认情况下,nginx允许客户端请求的最大的单个文件字节数为1M,就是说如果上传的文件超过1M就上传不了。可以人为修改这个参数,例如把下面代码放在http段,这样就可以上传10M以下的文件
另外限制上传文件大小配置在php.ini也有配置,默认是
如果要上传大文件,可能也要相应调整这两个配置项。
下面是在网上看到关于vim的一些常用配置,记录在此,算是做个笔记吧。
"双引号开始的行为注释行,下同 "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 set nocompatible "显示行号 set number "检测文件的类型 filetype on "记录历史的行数 set history=1000 "背景使用黑色 set background=dark "语法高亮度显示 syntax on "下面两行在进行编写代码时,在格式对起上很有用; "第一行,vim使用自动对起,也就是把当前行的对起格式应用到下一行; "第二行,依据上面的对起格式,智能的选择对起方式,对于类似C语言编 "写上很有用 set autoindent set smartindent "第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格 set tabstop=4 set shiftwidth=4 "设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号 set showmatch "去除vim的GUI版本中的toolbar set guioptions=T "当vim进行编辑时,如果命令错误,会发出一个响声,该设置去掉响声 set vb t_vb= "在编辑过程中,在右下角显示光标位置的状态行 set ruler "默认情况下,寻找匹配是高亮度显示的,该设置关闭高亮显示 set nohls "查询时非常方便,如要查找book单词,当输入到/b时,会自动找到第一 "个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的单词,依 "次类推,进行查找时,使用此设置会快速找到答案,当你找要匹配的单词 "时,别忘记回车 set incsearch "修改一个文件后,自动进行备份,备份的文件名为原文件名加"~"后缀 if has("vms”) //注意双引号要用半角的引号" " set nobackup else set backup endif 如果去除注释后,一个完整的.vimrc配置信息如下所示: set nocompatible set number filetype on set history=1000 set background=dark syntax on set autoindent set smartindent set tabstop=4 set shiftwidth=4 set showmatch set guioptions-=T set vb t_vb= set ruler set nohls set incsearch if has("vms") set nobackup else set backup endif
在vim中发现开启显示行号(set number)或语法高亮(syntax on)时,发现文档中很多地方都有下划线,对视觉产生极大干扰。开始还以为是vim的某个配置造成的,后来发现真正的元凶是securecrt,但是可以通过配置来去掉下划线。具体配置如下:
session option–>terminal–>appearance,这里有current color scheme选项,不论选择哪一项,或者是新建的,都可以点击edit…按钮,里面底部有三个复选框,中间一个是show underline,取消选择,那进入vi后如果显示行号,那行号不会有下划线!
对应汉化版的securect,配置如下:
会话选项 –> 终端 –> 外观 –> 当前颜色方案 –> 编辑,在出来的对话框中把显示下划线前面的勾去掉。
在有些linux发行版本的vim中,默认是开启了自动高亮显示匹配的括号。这个功能有时候给查阅文档造成视觉误差,关闭的方法是在自己用户目录下的.vimrc文件添加
更多信息,可以在vim里面输入 :help pi_paren.txt 查看。
另外一个括号(包括大、中、小)上可以通过shift + 5 快速将光标移动到和它匹配的另一个括号上。
linux中每次执行的命令都会纪录,一般默认最近纪录1000条。可以通过history来查看先前输入的命令,有时候重复执行某条命令多次,这样对查找先前执行的命令造成不方便,可以在/et/bashrc中进行如下设置。
去除连续重复的命令
消除整个命令历史中的重复命令
如果需要记录更多命令历史记录,例如2000条
#!/bin/bash case "$1" in start) echo -n "Staring to write your Iptbales:..." /sbin/iptables -F /sbin/iptables -X /sbin/iptables -Z /sbin/iptables -A INPUT -i lo -j ACCEPT /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP /sbin/iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT /sbin/iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT /sbin/iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT /sbin/iptables -P INPUT DROP echo "OK" ;; stop) echo -n "Stop iptables...." /sbin/iptables -P INPUT ACCEPT /sbin/iptables -F /sbin/iptables -X /sbin/iptables -Z echo "OK" ;; *) echo "Usage: $0 {start|stop}" ;; esac
使用 /sbin/iptables -F 要小心,搞不好,你就马上同服务器断开连接了,以下是来自 http://wiki.ubuntu.org.cn/IptablesHowTo 上的说明
可以通过/sbin/iptables -F清除所有规则来暂时停止防火墙: (警告:这只适合在没有配置防火墙的环境中,如果已经配置过默认规则为deny的环境,此步骤将使系统的所有网络访问中断)
如果想清空的话,先执行
然后执行
通过iptables -L 看到如下信息
Chain INPUT (policy DROP 0 packets, 0 bytes) (注意 是DROP)
执行/sbin/iptables -F就肯定立马断开连接
当执行了/sbin/iptables -P INPUT ACCEPT,再次通过iptables -L看信息的话就是
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
所以现在是可以安全使用/sbin/iptables -F了
话说cd这个命令是Linux上使用率最高的两个命令之一不为过吧(另一个当然是ls了),前两天看到了一个cd命令的小技巧是我一直都不知道的,呵呵,这里顺便记下来。
cd - #回到上次所在目录,感觉还是比较有用,省略了很多输入。 cd !$ #把上个命令的参数作为输入。 cd #回到主目录 cd ~ #同样也是回到主目录
如果不设置cookie过期时间,则表示这个cookie的生命期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览器会话期的 cookie被称为会话cookie。会话cookie一般不存储在硬盘上而是保存在内存里,当然这种行为并不是规范规定的。如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间。
存储在硬盘上的 cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存里的cookie,不同的浏览器有不同的处理方式。对于IE,在一个打开的窗口上按Ctrl-N(或者从文件菜单)打开的窗口可以与原窗口共享,而使用其他方式新开的IE进程则不能共享已经打开的窗口的内存cookie;对于 Mozilla Firefox、chrome、IE8,所有的进程和标签页都可以共享同样的cookie。一般来说是用javascript的window.open打开的窗口会与原窗口共享内存cookie。
用mysqldump导出一个数据库,其中有两个表数据有20多W,执行导入的时候老是保内存溢出,试验了多种方法,始终不行,后来看mysql的服务器的配置,发现里面没有啥设置,于是在里面增加一个max_allowed_packet=32M配置,然后重新导入时候没有报错,数据完全导入了。
后来发现mysqldump导出的数据默认是–complete-insert,及把所有的值都写在一行,估计插入的时候会全部读入内存从而导致内存溢出,然后可以通过–extended-insert=false(默认为true)来设置每一条记录都是一个insert语句,但是这样速度上肯定不及前面那种。