서버 에이전트 Tengine 단순 설정

6155 단어
아파 치 얘 기 가 끝나 자마자 tengine (nginx) 를 써 보 세 요.tengine 은 nginx 에 설 치 된 오픈 소스 소프트웨어 로 많은 feature 를 추 가 했 습 니 다. 또한 사용자 정의 메모리 관 리 를 사용 할 수 있 습 니 다. 전단 에이전트 든 전단 캐 시 든 효과 가 귀 엽 습 니 다.
nginx 와 tengine 은 약간 차이 가 있 습 니 다. 공식 Wiki, Tengine 을 보십시오.
##           
user  nobody;
##       CPU    
worker_processes  1;
##                  
worker_rlimit_nofile51200;
 
##       
error_log  logs/error.log;
## pid  
pid        logs/nginx.pid;
 
##           epoll    
events{
    worker_connections  1024;
    useepoll;
}
 
http{
    include       mime.types;
    default_type  application/octet-stream;
    ##       
    access_log  logs/access.log;
    ##     
    limit_req_zone$binary_remote_addr zone=one:10mrate=1r/s;
    limit_req_log_level error;
    ##     sendfile
    sendfile        on;
    ##   sendfile
    tcp_nopush     on;
    ##       
    server_info off;
    ##          
    keepalive_timeout  50;
    ##   gzip,       IE6      ,     UA  GZIP
    gzip  on;
    gzip_proxied any;
    gzip_clear_etag on;
    gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/javascript;
    ##       
    include vhosts/*;
}

apache 와 마찬가지 로 방문 을 간단하게 막 고 자신의 상황 에 따라 추가 하고 수정 합 니 다.
# robots.txt      
location=/robots.txt{access_log off;log_not_found off;}
# favicon.ico      
location=/favicon.ico{access_log off;log_not_found off;}
#                
location~/\.{access_log off;log_not_found off;deny all;}
#                    
location~*"bbs\.zip"{access_log off;log_not_found off;deny all;}
location~*"wwwroot\.zip"{access_log off;log_not_found off;deny all;}
location~*".*\.asp$|.*\.aspx$|.*\.jsp$|.*\.mdb|.*\.log"{access_log off;log_not_found off;deny all;}
location~*"fckeditor|ckfinder|~root"{access_log off;log_not_found off;deny all;}
 
# ~              
location~~${access_log off;log_not_found off;deny all;}
#          30 
location~.*\.(gif|jpg|jpeg|png|bmp|swf|js|css)${expires30d;}
 
##
#          
##
location~*"union.*select.*\(|union.*all.*select.*|concat.*\(" { deny  all; }
 
##
#            
##
location ~* "proc/self/environ" { deny  all; }
 
##
#            
##
if ($http_user_agent ~ "\b(ultram|unicauca|valium|v\iagra|vicodin|xanax|ypxaieo|erections|hoodia|huronriveracres|impotence|levitra|libido|ambien|blue\spill|cialis|cocaine|ejaculation|erectile|lipitor|phentermin|pro[sz]ac|sandyauer|tramadol|troyhamby)\b"){return404;}
 
##
#   UA     
##
set$block_user_agents0;
#    UA  
if($http_user_agent~"^$"){set$block_user_agents1;}
#         wget  curl
if($http_user_agent~"Wget|wget|curl|libwww-perl|httplib|WordPress|wordpress|PycURL|POE::Component::Client|InetURL|Microsoft URL Control"){set$block_user_agents1;}
if($http_user_agent~"WebCopier|Offline Explorer|Sphider|mail"){set$block_user_agents1;}
if($http_user_agent~"Opera/9\.0 \(Windows NT5\.1;U;en\)|Opera/6\.01 \(Windows ME;U\) \[en\]"){set$block_user_agents1;}
if($http_user_agent~"Mozilla/3\.0"){set$block_user_agents1;}
if($http_user_agent~"DotBot|YandexBot|Superfeedr"){set$block_user_agents1;}
if($block_user_agents=1){return404;}

기본 IP 접근 처리
##
#   IP  
##
server{
    listen       80default;
    server_name  _;
 
    location/{
        #     
        if(     ){
            return200;
        }
        #       IP  
        return444;
    }
}

접근 규칙 을 간단하게 설정 하고 hhvm 과 같은 fast - cgi 프로그램 에 맞 춰 사용 하 며 디 렉 터 리 반전 설정 을 생략 합 니 다.여기 apache 와 nginx 는 세부 적 인 차이 가 있 습 니 다. apache rewrite - L 은 강제 방향 으로 바 뀌 었 습 니 다. nginx 가 내 현적 301 을 실현 하려 면 프 록 시 모드 를 사용 해 야 합 니 다.
## soulteary.com www.soulteary.com
server{
    listen80;
    server_name soulteary.com www.soulteary.com;
    ##         ,    。
    ## client_max_body_size 10m;
 
    access_log/yourpath/www.soulteary.com/logs/access.log;
    error_log/yourpath/www.soulteary.com/logs/error.log;
 
    server_name_in_redirect off;
    include nginx-security.conf;
 
    root/yourpath/www.soulteary.com/public;
    index index.php index.html index.htm;
 
    location~/\.(gif|jpg|png|css|js|ico|swf|svg)${
        expires max;
    }
 
    location/{
        try_files$uri$uri//index.php?q=$uri&$args;
    }
 
    location~\.(hh|php)${
        fastcgi_keep_conn on;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME$document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

nginx 를 node 전단 으로 전송 할 때의 설정 으로 사용 합 니 다.
물론 node 가 맨 앞 에 달 려 있다 면 적당 한 수정 을 하 십시오. IP 주소 에 대해 서 는 reoteAddress 를 직접 가 져 오고 퍼 가기 를 믿 지 마 십시오.
upstreamghost_soulteary_upstream{
        server127.0.0.1:2378;
        keepalive64;
}
 
server{
    listen80;
    server_name www.soulteary.im soulteary.im;
    if_modified_since before;
 
    server_name_in_redirect off;
    include nginx-node-security.conf;
 
    location/{
        proxy_cache_valid20030m;
        proxy_cache_valid4041m;
        proxy_pass http://ghost_soulteary_upstream;
        proxy_ignore_headersX-Accel-Expires Expires Cache-Control;
        proxy_ignore_headers Set-Cookie;
        proxy_hide_header Set-Cookie;
        proxy_hide_headerX-powered-by;
        proxy_set_headerX-Real-IP$remote_addr;
        proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
        proxy_set_header Host$http_host;
        expires10m;
    }
}

간단 한 정적 사이트 만 필요 하 다 면 다음 설정 을 사용 할 수 있 습 니 다.
## www.soulteary.com
server{
    listen80;
    server_name www.soulteary.com;
 
    access_log/yourpath/www.soulteary.com/logs/access.log;
    error_log/yourpath/www.soulteary.com/logs/error.log;
 
    server_name_in_redirect off;
    include nginx-security.conf;
 
    valid_referers none blocked server_names *.soulteary.com soulteary.com;
    if($invalid_referer){
        rewrite^/"http://www.baidu.com/s?wd=       "last;
        return404;
    }
 
    root/yourpath/www.soulteary.com/public;
    index index.html;
}

다음은 network / redis / hhvm / ghost 설정 을 쓰 세 요.

좋은 웹페이지 즐겨찾기