因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是什么? ##### 1、Struts2在三层架构开发中的位置 Struts2作为一款轻量级的Java Web开发框架,主要应用于三层架构(即表示层、业务逻辑层、数据访问层)中的表示层...
《鸟哥Linux私房菜》是一本广受欢迎的Linux学习书籍,它分为基础篇和服务器篇,涵盖了Linux操作系统的各个方面,旨在帮助读者从零开始掌握Linux系统管理技能。该书在豆瓣上的高评分(9.1分以上)充分体现了其在IT...
第一篇:HTTP服务器 因tomcat处理静态资源的速度比较慢,所以首先想到的就是把所有静态资源(JS,CSS,image,swf) 提到单独的服务器,用更加快速的HTTP服务器,这里选择了nginx了,nginx相比apache,更加轻量级, 配置...
Webshell查杀工具是网络安全领域中的重要组成部分,主要用于检测和清除服务器上可能存在的Webshell后门,这些后门通常由黑客植入,以便在系统中保持非法访问和控制。以下是对标题和描述中提及的10款Webshell查杀工具...
《鸟哥Linux私房菜服务器架设》是Linux系统管理员必备的经典教程,尤其在第三版中,作者深入浅出地讲解了Linux系统的基础知识以及如何搭建和管理服务器。本教程覆盖了从安装Linux操作系统到配置网络服务、安全管理、...
这篇文章是关于ThinkSNS V4版本的一个安全漏洞的实战分析,该漏洞允许攻击者通过任意文件下载来实现Getshell,即获取服务器的控制权。ThinkSNS是一款流行的社交网络平台,用于为企业和个人提供社交软件解决方案。在...
在本篇中,我们将探索如何创建并运行你的第一个 Spring Boot 应用程序。 1. **快速入门:创建项目** 要开始一个 Spring Boot 项目,你可以使用 Spring Initializr(https://start.spring.io/)。这是一个在线工具...
1. **空Referer绕过**:某些情况下,如果服务器没有正确处理空或不存在的`Referer`头部,则攻击者可以通过发送不带`Referer`头部的请求来绕过检查。 2. **特定域绕过**:即使服务器验证了`Referer`头部是否属于某个...
【实战篇】第16篇:MIPCMS 远程写入配置文件Getshell1 在本文中,我们将深入探讨MIPCMS内容管理系统V3.1.0中的一个安全漏洞,该漏洞允许攻击者通过远程写入配置文件实现Getshell。MIPCMS是一款基于PHP的开源内容...
SQL注入是一种常见的网络安全攻击手法,通过在Web应用程序的输入字段中插入恶意的SQL代码,以获取、修改、删除数据库中的敏感信息或控制服务器。在本文中,我们将探讨如何绕过护卫神·入侵防护系统的SQL防注入功能,...
本文将探讨“在线邮件伪造网站和临时邮件”这一主题,特别是针对.NET开发者,他们可能需要了解如何避免邮件被标记为垃圾邮件以及如何在某些情况下使用临时邮箱服务。 首先,我们关注第三方邮件厂商,如SendGrid和...
- **定义**:Web日志是指由Web服务器自动生成的记录文件,其中包含了客户端访问Web服务器时的各种信息。 - **作用**: - **安全审计**:通过分析Web日志,可以帮助安全团队识别潜在的攻击行为,并追溯攻击源头。 -...
1. **初始化Winsock**: 使用`WSAStartup`函数初始化Winsock库,这是进行任何网络编程之前必须做的第一步。 2. **创建监听套接字**: 使用`socket`函数创建一个套接字,然后使用`bind`函数将套接字绑定到特定的IP地址...
首先,获取用户名是暴力猜解的第一步。这可以通过多种方式实现,例如观察登录错误提示(通常会显示用户名不存在或格式错误)、检查网站上的文章编辑者信息(有时会显示作者用户名)或者运用社会工程学(社工)技巧来...
1. **远程文件包含(Remote File Inclusion, RFI)**:攻击者通过URL指定外部服务器上的文件来执行。 2. **本地文件包含(Local File Inclusion, LFI)**:攻击者通过修改程序中的文件路径来读取服务器上的敏感文件...
以下是一篇关于如何在Android系统上构建HTTP服务器的详细教程,以及如何利用其进行HTML5编程的介绍。 首先,我们需要了解Android系统上的HTTP服务器实现通常依赖于第三方库,例如NanoHTTPD。NanoHTTPD是一个轻量级...
通过《Linux私房菜》第三版,读者不仅可以了解到Linux的基本操作,还能深入理解服务器运维的各种技巧,这对于想要在IT领域尤其是云计算、大数据方向发展的人员来说,是一本不可多得的参考书。书中实例丰富,理论与...
EasySNS是一个极简社区的开源软件,其在处理远程图片时的一个函数存在安全隐患,允许攻击者下载任意文件到服务器,从而可能执行恶意代码。 首先,我们来了解漏洞发生的背景。在EasySNS V1.6中,有一个名为...
【PHP代码审计笔记--命令执行漏洞1】这篇文章主要讲解了PHP中的命令执行漏洞,这是一个严重的安全问题,允许攻击者通过浏览器在远程服务器上执行任意系统命令。与代码执行漏洞不同,命令执行漏洞更加专注于系统级别...