CentOS 6.5安装配置Tengine(3)

location /
{
 #如果后端的服务器返回502、504、执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现故障转移。
 proxy_next_upstream http_502 http_504 error timeout invalid_header;
 proxy_cache cache_one;
 

#对不同的HTTP状态码设置不同的缓存时间
 proxy_cache_valid  200 304 12h;
 #以域名、URI、参数组合成Web缓存的Key值,Nginx根据Key值哈希,存储缓存内容到二级缓存目录内
 proxy_cache_key $host$uri$is_args$args;

proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_pass ;

proxy_pass_header Set-Cookie;

#对用户传输Set-Cookie的http头,不然无法支持一些包含cookie的应用,比如我的typecho

#过期时间3天
 expires 3d;
}

#用于清除缓存,假设一个URL为,通过访问就可以清除该URL的缓存。
    location ~ /purge(/.*)
    {
    #设置只允许指定的IP或IP段才可以清除URL缓存。
    allow            127.0.0.1;
    allow            192.168.0.0/16;
    deny            all;
    proxy_cache_purge    cache_one  $host$1$is_args$args;
    }   

# 查看nginx的并发连接数配置
location /NginxStatus
{
stub_status on;
access_log off;
auth_basic "NginxStatus";
}

#定义Nginx输出日志的路径
#access_log /data/logs/nginx_wugk/access.log main;
#error_log /data/logs/nginx_wugk/error.log crit;
#access_log off; #根据自己的需要选择是否启用access日志,注释掉代表启用
error_page 404 /404.html;
error_page 500 502 503 504 /404.html;
location = /404.html {
root html;
}
limit_conn perip 50; #同一ip并发数为50,超过会返回503
}

为Tengine配置一下系统的TCP设置,优化一下:

vi /etc/sysctl.conf内容如下:

net.ipv4.ip_forward = 0 
net.ipv4.conf.default.rp_filter = 1 
net.ipv4.conf.default.accept_source_route = 0 
kernel.sysrq = 0 
kernel.core_uses_pid = 1 
net.ipv4.tcp_syncookies = 1 
kernel.msgmnb = 65536 
kernel.msgmax = 65536 
kernel.shmmax = 68719476736 
kernel.shmall = 4294967296 
net.ipv4.tcp_max_tw_buckets = 6000 
net.ipv4.tcp_sack = 1 
net.ipv4.tcp_window_scaling = 1 
net.ipv4.tcp_rmem = 4096 87380 4194304 
net.ipv4.tcp_wmem = 4096 16384 4194304 
net.core.wmem_default = 8388608 
net.core.rmem_default = 8388608 
net.core.rmem_max = 16777216 
net.core.wmem_max = 16777216 
net.core.netdev_max_backlog = 262144 
net.core.somaxconn = 262144 
net.ipv4.tcp_max_orphans = 3276800 
net.ipv4.tcp_max_syn_backlog = 262144 
net.ipv4.tcp_timestamps = 0 
net.ipv4.tcp_synack_retries = 1 
net.ipv4.tcp_syn_retries = 1 
net.ipv4.tcp_tw_recycle = 1 
net.ipv4.tcp_tw_reuse = 1 
net.ipv4.tcp_mem = 94500000 915000000 927000000 
net.ipv4.tcp_fin_timeout = 1 
net.ipv4.tcp_keepalive_time = 30 
net.ipv4.ip_local_port_range = 1024 65000

#允许系统打开的端口范围 
使配置立即生效

/sbin/sysctl -p制作一个重启全部的脚本

vi /root/restartall


#!/bin/sh

#

#重启memcached进程

service memcached restart

#清空日志

rm -f /usr/local/tomcat1/logs/*

rm -f /usr/local/tomcat2/logs/*
 
#清空缓存

rm -rf /tmp/proxy_cache

#重启动tomcat

/usr/local/tomcat1/bin/shutdown.sh
/usr/local/tomcat2/bin/shutdown.sh

/usr/local/tomcat1/bin/startup.sh/usr/local/tomcat2/bin/startup.sh #重启nginx
service nginx restart

给运行权限

chmod 777 /root/restartall

以后重启服务只需要:

/root/restartall

相关阅读

CentOS 6.4制作Tengine的rpm包

Tengine动态开启模块试用

CentOS 6.3用ICC编译PHP5.4.8+Percona5.5.27+Tengine1.4.1

基于淘宝Tengine和Scribe的WEB日志收集方案

基于Tengine部署LNMP环境

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/2479e42ae20d086b990d24a38c37bae0.html