• 欢迎访问ByWei.Cn,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,加入百味博客 软件定制QQ群
  • 已升级为最新版主题,并将持续优化改造中,支持说说碎语功能,可像添加文章一样直接添加说说,博客主题升级啦
  • 感谢您百度求点赞啊!百度网址
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏百味博客吧
  • 博主热烈欢迎 软件定制开发 联系:http://www.bywei.cn

HTTP服务器 nginx for windows下载 详细安装与配置

开源软件 百味博客 13年前 (2011-08-24) 1815次浏览 0个评论 扫描二维码

nginx for windo

Nginx内容导航

本文内容大纲如下
一、nginx的特性和简介
二、nginx for windows的下载与安装
三、nginx处理静态资源的配置
四、nginx 反向代理设置
五、nginx 常见错误

引言:为什么要使用nginx

目前很多大型网站都使用了nginx,新浪、网易、QQ等都使用了nginx,说明nginx的稳定性和性能还是非常不错的。这主要是因tomcat处理静态资源的速度比较慢,所以首先想到的就是把所有静态资源(JS,CSS,image,swf),提到单独的服务器,用更加快速的HTTP服务器,这里选择了nginx了,nginx相比apache,更加轻量级,配置更加简单,而且nginx不仅仅是高性能的HTTP服务器,还是高性能的反向代理服务器。

一、nginx的特性和简介

  nginx简介
Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用。  其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用nginx网站用户有:新浪、网易、 腾讯,另外知名的微网志Plurk也使用nginx。

  nginx的特性
1.目前官方 Nginx 并不支持Windows,您只能在包括Linux,UNIX,BSD系统下安装和使用
2.Nginx 本身只是一个HTTP和反向代理服务器,它无法像Apache一样通过安装各种模块来支持不同的页面脚本,例如PHP、CGI等
3.Nginx 支持简单的负载均衡和容错
4.支持作为基本 HTTP 服务器的功能,例如日志、压缩、Byte ranges、Chunked responses、SSL、虚拟主机等等,应有尽有

二、nginx for windows的下载与安装

–下载: 国内几大软件站都有已经封装好的nginx下载地址,管网的nginx由于没有封装,所以安装起来有点儿麻烦,推荐下载地址:

CSDN下载  51CTO下载   程序员下载  ITeye下载

 –安装:一直点下一步,操作非常简单

三、nginx处理静态资源的配置

nginx的配置到,nginx的配置文件目录:nginx/conf/nginx.conf

下面是各个配置文件的参数解释:

#启动GZIP压缩CSS和JS
gzip on;
# 压缩级别 1-9,默认是1,级别越高压缩率越大,当然压缩时间也就越长
gzip_comp_level 4;
# 压缩类型
gzip_types text/css application/x-javascript;

# 定义静态资源访问的服务,对应的域名:res.bywei.cn
server {
listen 80;
server_name res.bywei.cn;

# 开启服务器读取文件的缓存,
open_file_cache max=200 inactive=2h;
open_file_cache_valid 3h;
open_file_cache_errors off;

charset utf-8;

# 判断如果是图片或swf,客户端缓存5天
location ~* ^.+.(ico|gif|bmp|jpg|jpeg|png|swf)$ {
root /usr/local/resource/;
access_log off;
index index.html index.htm;
expires 5d;
}

# 因JS,CSS改动比较频繁,客户端缓存8小时
location ~* ^.+.(js|css)$ {
root /usr/local/resource/;
access_log off;
index index.html index.htm;
expires 8h;
}

# 其他静态资源
location / {
root /usr/local/resource;
access_log off;
expires 8h;
}
}

四、nginx 反向代理设置

# 反向代理服务,绑定域名www.bywei.cn
server {
listen 80;
server_name www.bywei.cn;

charset utf-8;

# BBS使用Discuz!
# 因反向代理为了提高性能,一部分http头部信息不会转发给后台的服务器,
# 使用proxy_pass_header 和 proxy_set_header 把有需要的http头部信息转发给后台服务器
location ^~ /bbs/ {
root html;
access_log off;
index index.php;
# 转发host的信息,如果不设置host,在后台使用request.getServerName()取到的域名不是www.bywei.cn,而是127.0.0.1
proxy_set_header Host $host;
# 因Discuz! 为了安全,需要获取客户端User-Agent来判断每次POST数据是否跟第一次请求来自同1个浏览器,
# 如果不转发User-Agent,Discuz! 提交数据就会报"您的请求来路不正确,无法提交"的错误
proxy_pass_header User-Agent;
proxy_pass http://127.0.0.1:8081;
}

# 其他请求转发给tomcat
location / {
root html;
access_log off;
index index.jsp;
proxy_pass http://127.0.0.1:8080;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

 

五、nginx 常见错误

1. nginx启动时: bind() to 0.0.0.0:80 failed (98: Address already in use)  这个错误是80端口别占用,可以检查一下是否有程序在占用这个端口,nginx的默认端口

2. 配置php – fpm_children_bury() fpm_children_make()错误

php-fpm的日志情况:
Aug 06 16:18:48.813346 [WARNING] fpm_children_bury(), line 215: child 15381 (pool default) exited on signal 9 SIGKILL after 19293.913994 seconds from start
Aug 06 16:18:48.816439 [NOTICE] fpm_children_make(), line 352: child 26844 (pool default) started
解决:
修改php-fpm.conf的配置,将max_requests和max_children调整为合适的值。
<span style="font-family: Arial; line-height: normal; font-size: medium;"><value name="max_requests">102400</value><br style="clear: both;" /><value name="max_children">100</value></span>

3.“upstream timed out”的解决办法

I found answer on my posting on nginx forum – http://forum.nginx.org/read.php?2,127854

The answer is in my case was to set:

request_terminate_timeout=30s

in php-fpm config.

Note, you can use values other than 30s also.

I used it to match my value in main php.ini file which is:

max_execution_time = 30

其它解决办法:

504 Gateway Time-out问题常见于使用nginx作为web server的服务器的网站, 我遇到这个问题是在升级discuz论坛的时候遇到的。一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果你的fastcgi服务对这个挂起处理的不好, 那么最后就极有可能导致504 Gateway Time-out
现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百K,默认的fastcgi进程响应的缓冲区是8K, 我们可以设置大点在nginx.conf里,


百味博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:HTTP服务器 nginx for windows下载 详细安装与配置
喜欢 (3)
[微信扫一扫]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址