nginx以高并发,省内存著称。
相信大多数安装nginx的同学都想知道自己的nginx性能如何。
我想跟大家分享下我使用ab工具的压力测试方法和结果,
ab是针对apache的性能测试工具,可以只安装ab工具。
ubuntu安装ab
apt-get install apache2-utils
1
apt-get install apache2-utils
centos安装ab
yum install httpd-tools
1
yum install httpd-tools
...
之前使用盛大云服务器,用的是ubuntu装的apache服务器,
但网站总是莫名其妙的失去响应,需要重启apache才可以正常服务,看日志也没什么 异常,也就懒得研究,直接换成nginx。
把wordpress从apache挪到nginx比较容易,源文件拷到nginx根目录下,不需要修改代码,修改下wordpress在nginx下的重写规则就可以了。
但当我写文章发图片时,却提示我"无法将上传的文件移动至" 上传目录的错误。
今天(2012.12.4增加)又发现这个错误也可以用同样方式解决,nginx上传图片出现http error 错误
[crit] 22919#0: *600783 open() "/usr/lo...
linux系统下vim或者vi编辑器默认是没有对nginx的语法高亮设置。
需要自己手动配置。
1.下载vi语法高亮配置到 ~/.vim/syntax,如果不存在则创建该目录
cd ~/.vim/syntax
wget http://www.vim.org/scripts/download_script.php?src_id=14376 -O nginx.vim
2.增加配置~/.vim/filetype.vim 到最后一行,如果文件不存在则创建
vi ~/.vim/filetype.vim
加入如下内容:
au BufRead,BufNewFile /usr/local/nginx/* set ft=nginx
其中红色路径为你的nginx.conf文件路径
nginx自定义页面非常简单,两条指令就可以搞定
1. 在http{}段加入红色指令,如下
http {
...
fastcgi_intercept_errors on;
error_page 404 /404.html;
...
}
2. 把404页面放到根目录(root指令定义的目录下),默认是安装目录的html目录下。
3.测试配置是否正确
/usr/local/nginx/nginx -t
4.重新载入配置
kill -HUP cat /usr/local/nginx/nginx.pid
注:
自定义的404.html的内容必须大于512字节,否则ie下会显示默认404错误页面,不能显示自定义的404页面...
server {
listen 80;
server_name www.redis.com.cn;
rewrite ^(.*) http://redis.com.cn$1 permanent;
}
server {
listen 80;
server_name redis.com.cn;
# root directive should be global
root /var/www/redis.com.cn/public/app/webroot/;
access_log /var/www/redis.com.cn/log/access.log;
error_log /var/www/redis.com.cn/log/error.log;
location / {
index index.php index.html index.htm;
try_files $uri $...
.apk 和 .ipa分别是android应用和ios应用的扩展名。
如果在浏览器下载这些文件为后缀的文件时,会自动重命名为zip文件。
当然可以下载后手动修改后缀,依然可以安装。
如果想下载后缀直接就是apk ipa的,可以修改 /usr/local/nginx/conf目录下的mime.types
增加如下配置,重启nginx生效
Apache
application/vnd.android.package-archive apk;
application/iphone pxl ipa;
12
application/vnd.android.package-archive apk;application/iphone ...
标题有点大,当我们仔细分析后,实际上一般都是配置问题。
如果有人想攻击服务器时,都会扫描机器哪里有漏洞可以上传恶意脚本文件,上传脚本是第一步,
当恶意的php脚本被上传到服务器时(其后缀可能是php,也可能伪装如jpg等其它后缀),
如果该脚本能被解析执行,那想攻击者就可以为所欲为了。
那从源头上来避免这个问题可以从如下两方面入手:
1.上传前就应该判断文件不能是php脚本文件,如果是不能允许其上传(包括伪装后缀的)。
2.上传后就应该把上传的附件文件单独放在一个服务器,该机器只做静态解析,就没什么问题了。
第一条需...
wordpress 自带的重写规则都是关于apache的,本文将介绍如何配制nginx下的wordpress重写规则。
首先,配置一个php的upstream,这样可以方便backend的机器和端口的改变,然后配置对应博客域名虚拟机。
Apache
# Upstream to abstract backend connection(s) for php
upstream php {
server unix:/tmp/php-cgi.socket;
server 127.0.0.1:9000;
}
server {
## Your website name goes here.
server_name domain.tld;
## Your only path reference.
root /...
try_files 指令的介绍比较让人摸不着头脑,经网上一番总结查看,try_files最核心的功能是可以替代rewrite。
try_files
语法: try_files file ... uri 或 try_files file ... = code
默认值: 无
作用域: server location
try_files $uri $uri/ /index.php?q=$uri&$args;
1
try_files $uri $uri/ /index.php?q=$uri&$args;
按顺序检查参数列出的文件是否存在,返回第一个找到的文件。结尾有斜线的 $uri/ 表示文件夹。...
nginx的配置文件中可以使用的内置变量以美元符$开始,也有人叫全局变量。其中,部分预定义的变量的值是可以改变的。
$arg_PARAMETER 这个变量值为:GET请求中变量名PARAMETER参数的值。
$args 这个变量等于GET请求中的参数。例如,foo=123&bar=blahblah;这个变量只可以被修改
$binary_remote_addr 二进制码形式的客户端地址。
$body_bytes_sent 传送页面的字节数
$content_length 请求头中的Content-length字段。
$content_type 请求头中的Content-Type字段。
$cookie_COOKIE cookie COOKIE的值。
$document_root 当前请求在root...