- 浏览: 209268 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
a66756675:
...
tomcat:tomcat的OutOfMemoryError解决 -
ooo456mmm:
说的对,如果用Mina框架来处理,要简单很多了
NIO socket服务器注意的几点. -
long_ltoy:
这样的话,看上去是代替了session,但这不和session ...
在JSP中使用JAVABEAN代替Session -
linzx0212:
关注下,不错……
tomcat:tomcat的OutOfMemoryError解决 -
liudeh_009:
总结得很好
NIO socket服务器注意的几点.
在calomel.org这个网站上看到关于nginx的几个优化,觉得比较有用,并且能够方便大家配置nginx,所以翻译过来。 1. nginx关于服务静态文件的配置 我们的目标是配置一个服务最快且cpu/io利用最有效的服务器,更重要的是一个安全的web服务器,下面的配置文件适用于最新版nginx。
### Calomel.org /etc/nginx.conf BEGIN
#######################################################
#
pid /var/run/nginx.pid;
user nginx nginx;
worker_processes 2;
events {
worker_connections 1024;
}
http {
## MIME types
include mime.types;
# types {
# image/gif gif;
# image/jpeg jpg;
# image/png png;
# image/bmp bmp;
# image/x-icon ico;
# text/css css;
# text/html html;
# text/plain bob;
# text/plain txt;
}
default_type application/octet-stream;
## Size Limits
client_body_buffer_size 8k;
client_header_buffer_size 1k;
client_max_body_size 1k;
large_client_header_buffers 1 1k;
## Timeouts
client_body_timeout 5;
client_header_timeout 5;
keepalive_timeout 5 5;
send_timeout 5;
## General Options
ignore_invalid_headers on;
limit_zone gulag $binary_remote_addr 1m;
recursive_error_pages on;
sendfile on;
server_name_in_redirect off;
server_tokens off;
## TCP options
tcp_nodelay on;
tcp_nopush on;
## Compression
gzip on;
gzip_static on;
gzip_buffers 16 8k;
gzip_comp_level 9;
gzip_http_version 1.0;
gzip_min_length 0;
gzip_types text/plain text/html text/css image/x-icon image/bmp;
gzip_vary on;
## Log Format
log_format main '$remote_addr $host $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" "$http_user_agent" "$gzip_ratio"';
## Deny access to any host other than (www.)mydomain.com
server {
server_name _; #default
return 444;
}
## Server (www.)mydomain.com
server {
access_log /var/log/nginx/access.log main buffer=32k;
error_log /var/log/nginx/error.log info;
expires 31d;
limit_conn gulag 5;
listen 127.0.0.1:8080 rcvbuf=64k backlog=128;
root /disk01/htdocs;
server_name mydomain.com www.mydomain;
## SSL Options (only enable if you use a SSL certificate)
# ssl on;
# ssl_certificate /ssl_keys/mydomain.com_ssl.crt;
# ssl_certificate_key /ssl_keys/mydomain_ssl.key;
# ssl_ciphers HIGH:!ADH:!MD5;
# ssl_prefer_server_ciphers on;
# ssl_protocols SSLv3;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
## Only allow GET and HEAD request methods
if ($request_method !~ ^(GET|HEAD)$ ) {
return 444;
}
## Deny illegal Host headers
if ($host !~* ^(mydomain.com|www.mydomain.com)$ ) {
return 444;
}
## Deny certain User-Agents (case insensitive)
## The ~* makes it case insensitive as opposed to just a ~
if ($http_user_agent ~* (Baiduspider|Jullo) ) {
return 444;
}
## Deny certain Referers (case insensitive)
## The ~* makes it case insensitive as opposed to just a ~
if ($http_referer ~* (babes|click|diamond|forsale|girl|jewelry|love|nudit|organic|poker|porn|poweroversoftware|sex|teen|video|webcam|zippo) ) {
return 444;
}
## Redirect from www to non-www
if ($host = 'www.mydomain.com' ) {
rewrite ^/(.*)$ http://mydomain.com/$1 permanent;
}
## Stop Image and Document Hijacking
location ~* (\.jpg|\.png|\.css)$ {
if ($http_referer !~ ^(http://mydomain.com) ) {
return 444;
}
}
## Restricted Access directory
location ^~ /secure/ {
allow 127.0.0.1/32;
allow 10.10.10.0/24;
deny all;
auth_basic "RESTRICTED ACCESS";
auth_basic_user_file /var/www/htdocs/secure/access_list;
}
## Only allow these file types to document root
location / {
if ($request_uri ~* (^\/|\.html|\.jpg|\.org|\.png|\.css|favicon\.ico|robots\.txt)$ ) {
break;
}
return 444;
}
## Serve an empty 1x1 gif _OR_ an error 204 (No Content) for favicon.ico
location = /favicon.ico {
#empty_gif;
return 204;
}
## System Maintenance (Service Unavailable)
if (-f $document_root/system_maintenance.html ) {
error_page 503 /system_maintenance.html;
return 503;
}
## All other errors get the generic error page
error_page 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417
500 501 502 503 504 505 /error_page.html;
location /error_page.html {
internal;
}
}
}
#
#######################################################
### Calomel.org /etc/nginx.conf END
#######################################################
2. nginx关于对后端服务器的反向代理配置
有三个后端服务,一个为web内容服务,一个是论坛服务,一个为文件服务。
当一个请求来时,nginx代理服务器其查看url把请求定向到相应的服务器,这个配置也缓冲文件服务的内容,但是论坛的和数据下载的内容就不缓存了,这个配置也使用了压缩,更好的节省内存
### Calomel.org /etc/nginx.conf BEGIN
#######################################################
pid /var/run/nginx.pid;
user nginx nginx;
worker_processes 10;
events {
worker_connections 1024;
}
http {
## MIME types
#include /etc/nginx_mime.types;
default_type application/octet-stream;
## Size Limits
client_body_buffer_size 128K;
client_header_buffer_size 128K;
client_max_body_size 1M;
large_client_header_buffers 1 1k;
## Timeouts
client_body_timeout 60;
client_header_timeout 60;
expires 24h;
keepalive_timeout 60 60;
send_timeout 60;
## General Options
ignore_invalid_headers on;
keepalive_requests 100;
limit_zone gulag $binary_remote_addr 5m;
recursive_error_pages on;
sendfile on;
server_name_in_redirect off;
server_tokens off;
## TCP options
tcp_nodelay on;
tcp_nopush on;
## Compression
gzip on;
gzip_buffers 16 8k;
gzip_comp_level 6;
gzip_http_version 1.0;
gzip_min_length 0;
gzip_types text/plain text/css image/x-icon application/x-perl application/x-httpd-cgi;
gzip_vary on;
## Log Format
log_format main '$remote_addr $host $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" "$http_user_agent" '
'"$gzip_ratio"';
## Proxy options
proxy_buffering on;
proxy_cache_min_uses 3;
proxy_cache_path /usr/local/nginx/proxy_temp/ levels=1:2 keys_zone=cache:10m inactive=10m max_size=1000M;
proxy_cache_valid any 10m;
proxy_ignore_client_abort off;
proxy_intercept_errors on;
proxy_next_upstream error timeout invalid_header;
proxy_redirect off;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 60;
## Backend servers (web1 is the primary and web2 will come up if web1 is down)
upstream webbackend {
server web1.domain.lan weight=10 max_fails=3 fail_timeout=30s;
server web2.domain.lan weight=1 backup;
}
server {
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log;
index index.html;
limit_conn gulag 50;
listen 127.0.0.1:80 default;
root /usr/local/nginx/html;
server_name _;
## Only requests to our Host are allowed
if ($host !~ ^(mydomain.com|www.mydomain.com)$ ) {
return 444;
}
## Only allow these request methods
if ($request_method !~ ^(GET|HEAD|POST)$ ) {
return 444;
}
## Only allow these file types to document root
location / {
if ($request_uri ~* (^\/|\.html|\.jpg|\.pl|\.png|\.css|\.ico|robots\.txt)$ ) {
break;
}
return 444;
}
## PROXY - Forum
location /forum/ {
proxy_pass http://forum.domain.lan/forum/;
}
## PROXY - Data
location /files/ {
proxy_pass http://data.domain.lan/;
}
## PROXY - Web
location / {
proxy_pass http://webbackend;
proxy_cache cache;
proxy_cache_valid 200 24h;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
proxy_ignore_headers Expires Cache-Control;
}
## All other errors get the generic error page
error_page 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417
500 501 502 503 504 505 506 507 /error_page.html;
location /error_page.html {
internal;
}
}
}
#
#######################################################
### Calomel.org /etc/nginx.conf END
#######################################################
发表评论
-
tomcat7.0.8的bio,nio.apr高级运行模式
2011-02-28 11:00 3162一 前言 tomcat的运行模式有3种.修改他们的运行 ... -
详细解析 tomcat6 启动过程与请求过程
2011-02-24 12:22 1471面向组件架构 tomcat代码看似很庞大,但从结 ... -
提高tomcat并发
2010-05-04 17:00 0为了提高动态数据并发量,有效利用硬件资源,于是开始着手在一台高 ... -
软件版本号讲解:什么是Alpha,Beta,RC,Release
2010-01-12 09:05 1054一、 软件版本阶段说明 Alpha版: 此版本表示该软 ... -
tomcat配置 server.xml
2008-12-16 19:46 794server.xml <Service name=&qu ... -
数据源配置大全
2008-12-16 19:44 1134hibernate开发组推荐使用c3p0; spring ... -
基于事件的NIO多线程服务器
2008-12-04 16:55 1320http://www.ibm.com/developerwor ... -
tomcat:tomcat的OutOfMemoryError解决
2008-11-26 09:27 18816最近在熟悉一个开发了 ... -
winXP下Apache1.3+php5.0 配置及应射文件的配置(inber write)
2004-09-21 00:14 2301以前我个人用apache是老是懂不懂,装上不会玩儿,呵呵,也许 ... -
tomcat 并发问题 (terminating thread)
2006-03-09 11:29 1401服务器配置的是Apache Tomcat/5.0.16,由于访 ... -
tomcat 支持中文编码
2006-09-15 11:40 819tomcat 支持中文编码 wt 说: <C ... -
Tomcat中用web.xml控制Web应用详解(1)转
2006-09-26 10:33 775... -
apache2 整合tomcat5(Inber 原)
2006-12-29 13:40 841一 准备工作 1)安装apache2 apache_2.0. ... -
apache2 同一ip 多域名 虚拟主机配置
2007-03-21 23:11 2839最近项目开发用到 apache2+tomcat 遇到一个问题: ...
相关推荐
1.6.2 利用TCMalloc优化Nginx的性能 1.6.3 Nginx内核参数优化 1.7 实战Nginx与PHP(FastCGI)的安装、配置与优化 1.7.1 什么是 FastCGI 1.7.2 Nginx+FastCGI运行原理 1.7.3 spawn-fcgi与PHP-FPM 1.7.4 ...
优化 去除小程序图标导航一屏时下方的点 优化 后台资源卡密类型添加库存显示 优化 小程序 首页列表卡密资源库存显示 优化 资源页资源未解锁时图片不让切换查看 修复 将微擎uniacid串号问题进行了修复 修复 部分带...
要进行网站设置也十分简单,几分钟就可以完成。 博客系统功能介绍: 1、会员系统 2、支付功能 3、标签功能 4、熊掌号提交功能 5、文章发布功能 6、SEO设置功能 7、多语言版(后台一键开启) 8、插件功能 博客系统...
这里php采用fastcgi的方式接入nginx,php5.3 自带的php-fpm已经很好了,相比于apache的php模块方式,这里由php自己直接处理php请求是比较好的,并且可调控进程数量以优化并发性能。 上面说的是基本环境,我有一台...
负载均衡:nginx 搜索:solr集群(solrCloud),配合zookeeper搭建, 使用spring-data-solor 缓存:redis集群,使用spring-data-redis 图片存储:fastDFS集群 网页静态化:freemarker 单点登录:cas 权限管理:...
毫无疑问iWebShop是目前国内同类产品中价格最低的高端电商产品,不同阶梯价格完全可以满足各方需求,仅仅几千元就可以实现您的电商梦想! 5. 一键安装!仅仅5分钟就可以拥有一个属于自己的电商平台。 6. 跨平台性...
xSite企业自助建站软件是一部专业为搜索引擎营销(网站优化/SEO)而设计,操作极简单,网站极稳定、故障自动修复、在线升级维护、建站速度极快、专为大众上网营销而设计的完全免费开源企业建站系统! xSite企业自助建...
选择快速安装整个过程不到十几分钟,特别适合那种刚刚接触Linux类VPS的朋友建站使用,至于LuManager在占用VPS内存和运行效率这一块,小内存的VPS还是安装个LNMP好点。 部落之前在LuManager VPS主机控制面板安装中...
要进行网站设置也十分简单,几分钟就可以完成。优优博客系统功能介绍:1、会员系统2、支付功能3、标签功能4、熊掌号提交功能5、文章发布功能6、SEO设置功能7、多语言版(后台一键开启)8、插件功能优优博客系统安装...
易优企业官网系统安装十分方便,只需输入域名,然后再点两次鼠标,期间填入一些必要的安装信息就可以轻松完成整个安装过程。 使用十分便捷,安装后进后台,无需事先进行任何设置操作。 要进行网站设置也十分简单,几...
工业电子元件开源系统特点:简单方便工业电子元件开源系统安装十分方便,只需输入域名,然后再点两次鼠标,期间填入一些必要的安装信息就可以轻松完成整个安装过程。使用十分便捷,安装后进后台,无需事先进行任何...
欧式风格家具网站源码安装十分方便,只需输入域名,然后再点两次鼠标,期间填入一些必要的安装信息就可以轻松完成整个安装过程。 使用十分便捷,安装后进后台,无需事先进行任何设置操作。 要进行网站设置也十分简单...
律师事务所法律咨询源码安装十分方便,只需输入域名,然后再点两次鼠标,期间填入一些必要的安装信息就可以轻松完成整个安装过程。 使用十分便捷,安装后进后台,直接写咨询的内容就可以了,无需事先进行任何设置...
旧物回收类网站系统特点:简单方便旧物回收类网站系统安装十分方便,只需输入域名,然后再点两次鼠标,期间填入一些必要的安装信息就可以轻松完成整个安装过程。使用十分便捷,安装后进后台,直接写旧物回收内容就...
养殖企业网站管理系统(含小程序)特点:简单方便养殖企业网站管理系统(含小程序)安装十分方便,只需输入域名,然后再点两次鼠标,期间填入一些必要的安装信息就可以轻松完成整个安装过程。使用十分便捷,安装后进后台...
建筑设计行业绿色风格整站源码安装十分方便,只需输入域名,然后再点两次鼠标,期间填入一些必要的安装信息就可以轻松完成整个安装过程。 使用十分便捷,安装后进后台,直接写旧物回收内容就可以了,无需事先进行...
作为一个Java开发人员,如果没有研究过Netty,那么你对Java语言的使用和理解仅仅停留在表面,会点SSH,写几个MVC,访问数据库和缓存,这些只是初级Java程序员干的事。如果你要进阶,想了解Java服务器的深层高阶知识...
此软件仅为演示学习版,软件中自带一套模板和两种国家语言,该软件商业版拥有几十种国家语言和上千种商业模板,若要商用,请联系开发 商进行购买。 -----------------------------------------------------------...
对于iNews来说,技术上基本没太多难点,主要有几个点需要关注:安全性、性能、易用、适配(Responsive)、社会化接入等。 安全性主要是XSS和数据库过滤。Pagon框架已实现自动XSS处理的,只要开启了safe_query 的...
【Nginx】Nginx如何配置防止DDOS攻击? 139 限制每秒请求数 139 限制IP连接数 139 白名单设置 139 【数据结构】数组与链表的优缺点 139 【算法】什么是hash? 140 【算法】排序 141 【算法】冒泡排序 141 【算法】...