`
caibinghong
  • 浏览: 150086 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

第一篇:HTTP服务器

阅读更多

 

   因tomcat处理静态资源的速度比较慢,所以首先想到的就是把所有静态资源(JS,CSS,image,swf)

 

提到单独的服务器,用更加快速的HTTP服务器,这里选择了nginx了,nginx相比apache,更加轻量级,

 

配置更加简单,而且nginx不仅仅是高性能的HTTP服务器,还是高性能的反向代理服务器。

 

    目前很多大型网站都使用了nginx,新浪、网易、QQ等都使用了nginx,说明nginx的稳定性和性能还是非常不错的。

 

 1. nginx 安装(linux)

 

    http://nginx.org/en/download.html 下载最新稳定版本

 

    根据自己需要的功能先下载对应模板,这里下载了下面几个模块:

    openssl-0.9.8l,zlib-1.2.3,pcre-8.00

 

    编译安装nginx:

./configure 

--without-http_rewrite_module 

--with-http_ssl_module 

--with-openssl=../../lib/openssl-0.9.8l 

--with-zlib=../../lib/zlib-1.2.3 

--with-pcre=../../lib/pcre-8.00

--prefix=/usr/local/nginx

 

make

 

make install  

 

  2、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;

}

    }

 

    3、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;

        }

    }

 

nginx详细配置参考:http://wiki.nginx.org/

 

[声明] 转载请注明出处:http://www.blogjava.net/BearRui/。 禁止商用!

分享到:
评论

相关推荐

    Struts2 第一篇:流程篇

    ### Struts2 第一篇:流程篇 #### 一、Struts2是什么? ##### 1、Struts2在三层架构开发中的位置 Struts2作为一款轻量级的Java Web开发框架,主要应用于三层架构(即表示层、业务逻辑层、数据访问层)中的表示层...

    鸟哥linux私房菜_基础篇+服务器篇(全)

    《鸟哥Linux私房菜》是一本广受欢迎的Linux学习书籍,它分为基础篇和服务器篇,涵盖了Linux操作系统的各个方面,旨在帮助读者从零开始掌握Linux系统管理技能。该书在豆瓣上的高评分(9.1分以上)充分体现了其在IT...

    高性能WEB开发 nginx HTTP服务器篇

    第一篇:HTTP服务器 因tomcat处理静态资源的速度比较慢,所以首先想到的就是把所有静态资源(JS,CSS,image,swf) 提到单独的服务器,用更加快速的HTTP服务器,这里选择了nginx了,nginx相比apache,更加轻量级, 配置...

    第06篇:10款Webshell查杀工具1

    Webshell查杀工具是网络安全领域中的重要组成部分,主要用于检测和清除服务器上可能存在的Webshell后门,这些后门通常由黑客植入,以便在系统中保持非法访问和控制。以下是对标题和描述中提及的10款Webshell查杀工具...

    鸟哥Linux私房菜服务器架设(第三版)

    《鸟哥Linux私房菜服务器架设》是Linux系统管理员必备的经典教程,尤其在第三版中,作者深入浅出地讲解了Linux系统的基础知识以及如何搭建和管理服务器。本教程覆盖了从安装Linux操作系统到配置网络服务、安全管理、...

    【实战篇】第19篇:ThinkSNS_V4 后台任意文件下载导致Getshell1

    这篇文章是关于ThinkSNS V4版本的一个安全漏洞的实战分析,该漏洞允许攻击者通过任意文件下载来实现Getshell,即获取服务器的控制权。ThinkSNS是一款流行的社交网络平台,用于为企业和个人提供社交软件解决方案。在...

    Spring Boot 初探 | 第一篇:第一个Spring Boot程序(示例程序)

    在本篇中,我们将探索如何创建并运行你的第一个 Spring Boot 应用程序。 1. **快速入门:创建项目** 要开始一个 Spring Boot 项目,你可以使用 Spring Initializr(https://start.spring.io/)。这是一个在线工具...

    【基础篇】第03篇:PHP代码审计笔记--CSRF漏洞1

    1. **空Referer绕过**:某些情况下,如果服务器没有正确处理空或不存在的`Referer`头部,则攻击者可以通过发送不带`Referer`头部的请求来绕过检查。 2. **特定域绕过**:即使服务器验证了`Referer`头部是否属于某个...

    【实战篇】第16篇:MIPCMS 远程写入配置文件Getshell1

    【实战篇】第16篇:MIPCMS 远程写入配置文件Getshell1 在本文中,我们将深入探讨MIPCMS内容管理系统V3.1.0中的一个安全漏洞,该漏洞允许攻击者通过远程写入配置文件实现Getshell。MIPCMS是一款基于PHP的开源内容...

    第10篇:Bypass 护卫神SQL注入防御(多姿势)1

    SQL注入是一种常见的网络安全攻击手法,通过在Web应用程序的输入字段中插入恶意的SQL代码,以获取、修改、删除数据库中的敏感信息或控制服务器。在本文中,我们将探讨如何绕过护卫神·入侵防护系统的SQL防注入功能,...

    第04篇:在线邮件伪造网站和临时邮件1

    本文将探讨“在线邮件伪造网站和临时邮件”这一主题,特别是针对.NET开发者,他们可能需要了解如何避免邮件被标记为垃圾邮件以及如何在某些情况下使用临时邮箱服务。 首先,我们关注第三方邮件厂商,如SendGrid和...

    第3篇:Web日志分析.pdf

    - **定义**:Web日志是指由Web服务器自动生成的记录文件,其中包含了客户端访问Web服务器时的各种信息。 - **作用**: - **安全审计**:通过分析Web日志,可以帮助安全团队识别潜在的攻击行为,并追溯攻击源头。 -...

    VC++HTTP服务器

    1. **初始化Winsock**: 使用`WSAStartup`函数初始化Winsock库,这是进行任何网络编程之前必须做的第一步。 2. **创建监听套接字**: 使用`socket`函数创建一个套接字,然后使用`bind`函数将套接字绑定到特定的IP地址...

    第07篇:浅析web暴力猜解1

    首先,获取用户名是暴力猜解的第一步。这可以通过多种方式实现,例如观察登录错误提示(通常会显示用户名不存在或格式错误)、检查网站上的文章编辑者信息(有时会显示作者用户名)或者运用社会工程学(社工)技巧来...

    【基础篇】第05篇:PHP代码审计笔记--文件包含漏洞1

    1. **远程文件包含(Remote File Inclusion, RFI)**:攻击者通过URL指定外部服务器上的文件来执行。 2. **本地文件包含(Local File Inclusion, LFI)**:攻击者通过修改程序中的文件路径来读取服务器上的敏感文件...

    android搭建HTTP服务器工具类

    以下是一篇关于如何在Android系统上构建HTTP服务器的详细教程,以及如何利用其进行HTML5编程的介绍。 首先,我们需要了解Android系统上的HTTP服务器实现通常依赖于第三方库,例如NanoHTTPD。NanoHTTPD是一个轻量级...

    linux私房菜基础篇+服务器篇(第三版)

    通过《Linux私房菜》第三版,读者不仅可以了解到Linux的基本操作,还能深入理解服务器运维的各种技巧,这对于想要在IT领域尤其是云计算、大数据方向发展的人员来说,是一本不可多得的参考书。书中实例丰富,理论与...

    【实战篇】第15篇:EasySNS_V1.6远程图片本地化导致Getshell1

    EasySNS是一个极简社区的开源软件,其在处理远程图片时的一个函数存在安全隐患,允许攻击者下载任意文件到服务器,从而可能执行恶意代码。 首先,我们来了解漏洞发生的背景。在EasySNS V1.6中,有一个名为...

    【基础篇】第07篇:PHP代码审计笔记--命令执行漏洞1

    【PHP代码审计笔记--命令执行漏洞1】这篇文章主要讲解了PHP中的命令执行漏洞,这是一个严重的安全问题,允许攻击者通过浏览器在远程服务器上执行任意系统命令。与代码执行漏洞不同,命令执行漏洞更加专注于系统级别...

Global site tag (gtag.js) - Google Analytics