• 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;  
            }  
        }  
    

      



    欢迎加入我的QQ群(JAVA开发):216672921,程序 元 世界
  • 相关阅读:
    GO语言常量和变量
    GO基础
    Dockfile基本语法
    Docker常用命令
    Docker基础
    kibana添加ES索引403错误解决
    CentOS7 重启网卡Failed to start LSB: Bring up/down networking.解决方法
    Logstash进程杀不掉
    ( 转)性能测试--地铁模型分析
    [六]SpringBoot 之 连接数据库(mybatis)
  • 原文地址:https://www.cnblogs.com/icerainsoft/p/2261478.html
Copyright © 2020-2023  润新知