NGINX 中文站

NGINX安装,最新下载,配置,优化等

  • 首页
  • About NGINX
  • NGINX 最新版本下载
  • 看看都有哪些网站在使用Nginx

存档

‘Nginx 成功分享’ 分类的存档

NGINX 502错误

2010年3月31日 iNginx 没有评论

NGINX 502 Bad Gateway错误是FastCGI有问题,造成NGINX 502错误的可能性比较多。将网上找到的一些和502 Bad Gateway错误有关的问题和排查方法列一下,先从FastCGI配置入手:

1.查看FastCGI进程是否已经启动
NGINX 502错误的含义是sock、端口没被监听造成的。我们先检查fastcgi是否在运行

2.检查系统Fastcgi进程运行情况
除了第一种情况,fastcgi进程数不够用、php执行时间长、或者是php-cgi进程死掉也可能造成nginx的502错误
运行以下命令判断是否接近FastCGI进程,如果fastcgi进程数接近配置文件中设置的数值,表明worker进程数设置太少
netstat -anpo | grep “php-cgi” | wc -l

3.FastCGI执行时间过长
根据实际情况调高以下参数值
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

4.头部太大
nginx和apache一样,有前端缓冲限制,可以调整缓冲参数
fastcgi_buffer_size 32k;
fastcgi_buffers 8 32k;
如果你使用的是nginx的负载均衡Proxying,调整
proxy_buffer_size 16k;
proxy_buffers 4 16k;
参见:http://www.ruby-forum.com/topic/169040

5.https转发配置错误
正确的配置方法
server_name www.mydomain.com;
location /myproj/repos {
set $fixed_destination $http_destination;
if ( $http_destination ~* ^https(.*)$ )
{
set $fixed_destination http$1;
}
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Destination $fixed_destination;
proxy_pass http://subversion_hosts;
}
参见:http://www.ruby-forum.com/topic/169040

当然,还要看你后端用的是哪种类型的FastCGI,我用过的有php-fpm,流量约为单台机器40万PV(动态页面), 现在基本上没有碰到502。

分类: Nginx 成功分享 标签: 502, 错误

Nginx禁止通过IP,未绑定域名访问服务器

2010年3月9日 iNginx 1 条评论

今天要在Nginx上设置禁止通过IP访问服务器,只能通过域名访问,这样做是为了避免别人把未备案的域名解析到自己的服务器IP而导致服务器被断网,从网络上搜到以下解决方案:
==============================
nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时候生效

最关键的一点是,在server的设置里面添加这一行:
listen 80 default;
后面的default参数表示这个是默认虚拟主机。

这个设置非常有用。
比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500.
目前国内很多机房都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦。就可以这样设置:
server {
listen 80 default;
return 500;
}

也可以把这些流量收集起来,导入到自己的网站,只要做以下跳转设置就可以:
server {
listen 80 default;
rewrite ^(.*) http://www.mydomain.com permanent;
}
==============================

按照如上设置后,确实不能通过IP访问服务器了,但是在应该用中出现当server_name后跟多个域名时,其中一个域名怎么都无法访问:

设置如下:
server
{
listen 80;
server_name www.abc.com abc.com
没更改之前,通过server_name 中的www.abc.com abc.com均可访问服务器,加入禁止IP访问的设置后,通过abc.com无法访问服务器了,www.abc.com可以访问

用 nginx -t 检测配置文件会提示warning:

[warn]: conflicting server name “abc.com” on 0.0.0.0:80, ignored
the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/webserver/nginx/conf/nginx.conf test is successful

最后通过在listen 80 default;后再加server_name _;解决,形式如下:

#禁止IP访问
server
{
listen 80 default;
server_name _;
return 500;
}
或者
server {
listen 80 dufault;
server_name _;
rewrite ^(.*) http://www.inginx.com permanent;
}
这样,通过abc.com就能访问服务器了,问题解决了,但具体原因还是不清楚。

分类: Nginx 成功分享 标签: 301, ip

Nginx 使用中文URL,中文目录路径

2010年3月3日 iNginx 没有评论

一:确定你的系统是UTF编码
[root@Tserver ~]# env|grep LANG
LANG=en_US.UTF-8

二:NGINX配置文件里默认编码设置为utf-8
server
{
listen 80;
server_name .inginx.com ;
index index.html index.htm index.php;
root /usr/local/nginx/html/inginx.com;
charset utf-8;
}

三:如果使用putty
windows –> translation –>UTF-8

mkdir NGINX中文技术站
echo ‘NGINX中文技术站’ > NGINX中文技术站/中国.html

四,如果是用securecrt 上传文件,请选择 回话–>外观–UTF-8
如果是FTP软件也将默认编码设置为TUF-8

五,如果上传的文件名出现乱码显示
执行
for f in `ls *.html` ; do mv $f `ls $f|iconv -f GBK -t UTF-8`; done

完毕

分类: Nginx 成功分享 标签: 中文URL, 编码

Nginx 设置301重定向

2010年3月2日 iNginx 没有评论

第一种情况:访问A站定向到B站
server {
server_name www.A.com ;
rewrite ^(.*) http://www.B.com$1 permanent;
}
第二种情况:不是访问A站的全部重定向到指定页面
server {
server_name www.A.com;
if ($host != ‘A.com’ ) {
rewrite ^/(.*)$ http://www.B.com/$1 permanent;
}
}
如果写在第一个server段
使用IP访问时也将被重定向

分类: Nginx 成功分享 标签: 301, 重定向

分享一份nginx重启脚本

2010年2月27日 iNginx 没有评论

修改完配置文件后一般需要重启nginx进程
可以使用
killall -9 nginx
如果机器比较慢,kill进程时一瞬间杀不完,再执行一次即可。这种重启方式不是特别安全,如果配置有误,则会重启失败,需要重新修改配置文件然后再启动,期间会消耗一点时间。不过对于目前普遍还是不怎么严格的http界而言,这点时间还不至于产生太大损失,只要不是在关键时刻搞出来就好。如果希望沿用这种重启办法,我提议还是先好好测试吧。

另一种方法:
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

这种方式的好处是实现“平滑重启”,在ps -aux中可以看到,nginx首先启动新进程,旧的进程仍然提供服务,在一段时间后,旧的进程服务结束就自动关闭,剩下新进程继续服务。但是这种方式也是有缺点的,如果配置文件有误,或者资源冲突,则重启失效,但nginx并没有任何的提示!这就会时常发现改动的配置文件没有生效,又比较难找到问题。

下面介绍一个shell重启NGINX
#!/bin/sh

BASE_DIR=’/usr/local/’
${BASE_DIR}nginx/sbin/nginx -t -c ${BASE_DIR}nginx/conf/nginx.conf >& ${BASE_DIR}nginx/logs/nginx.start
info=`cat ${BASE_DIR}nginx/logs/nginx.start`
if [ `echo $info | grep -c "syntax is ok" ` -eq 1 ]; then
if [ `ps aux|grep "nginx"|grep -c "master"` == 1 ]; then
kill -HUP `cat ${BASE_DIR}nginx/logs/nginx.pid`
echo “ok”
else
killall -9 nginx
sleep 1
${BASE_DIR}nginx/sbin/nginx
fi
else
echo “######## error: ########”
cat ${BASE_DIR}nginx/logs/nginx.start
fi
———————————————

分类: Nginx 成功分享 标签: 脚本
Page 2 of 3«123»
订阅
  • Google
  • 有道
  • 鲜果
  • 抓虾
  • My Yahoo!
  • newsgator
  • Bloglines
  • 哪吒

最新文章

  • nginx和squid配合搭建的web服务器前端系统
  • Nginx中文手册下载
  • Nginx+tomcat 做负载均衡
  • nginx编译参数选项详解
  • nginx 在 centos 环境下安装
  • nginx轻松搭建自己的flv流媒体服务器
  • DirectAdmin安装Nginx方法
  • Nginx 最新版本 0.8.38 发布
  • Nginx重大漏洞,文件类型错误解析
  • Nginx 目录访问末尾自动加斜线 /

标签云

上传 下载 中文URL 升级 密码 新闻 漏洞 独立IP 目录浏览 缓存 编码 脚本 虚拟主机 认证 负载均衡 配置文件 重定向 错误 防盗链 限制 301 404 502 apache cache conf DirectAdmin discuz fastcgi ip Mysql Nginx nginx电子书 nginx log PHP rewrite supesite URL vps WEB服务器 windows wordpress

分类

  • Nginx 优化技巧
  • Nginx 安装使用
  • Nginx 成功分享
  • Nginx 最新下载
  • Nginx 疑难解决

链接

  • Nginx 官方网站
  • UnixBeta.com
  • 手机图片
  • 神印王座

存档

  • 2012年二月
  • 2011年九月
  • 2011年五月
  • 2010年九月
  • 2010年五月
  • 2010年四月
  • 2010年三月
  • 2010年二月

Meta

  • 注册
  • 登录
回到顶部
版权所有 © 2010 NGINX 中文站
Powered by wordpress. Theme by NeoEase . 通过 XHTML 1.1 和 CSS 3 验证.