Nginx 学习

   Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器 。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的Rambler.ru 站点开发的,它已经在该站点运行超过四年多了。Igor 将源代码以类BSD许可证的形式发布。自Nginx 发布四年来,Nginx 已经因为它的稳定性、丰富的功能集、 示例配置文件和低系统资源的消耗而闻名了。目前国内各大门户网站已经部署了Nginx,如新浪、网易、腾讯等;国内几个重要的视频分享网站也部署了Nginx,如六房间、酷6等。 新近发现Nginx 技术在国内日趋火热,越来越多的网站开始部署Nginx。

 

A、 download and test.

1:下载,运行其中的nginx.exe,如果在其logs/error.log出现错误:2011/05/11 09:06:22 [emerg] 1140#3156: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions);则说明80端口被使用,需要停止使用80端口的程序,如果在logs下出现nginx.pid则说明运行成功

2:成功后,在浏览器的地址栏中输入127.0.0.1,出现welcome to nginx,说明可以使用。

B、

 nginx对于静态资源的配置

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

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

# 开启服务器读取文件的缓存,
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.abc.com  
    server {  
listen       80;  
server_name  www.abc.com;  
 
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.abc.com,而是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;  
        }  
    }  

  



 

 

posted @ 2011-11-24 12:01  雨之殇  阅读(714)  评论(0编辑  收藏  举报