下载地址:下载 - The Tengine Web Server
- $ wget http://tengine.taobao.org/download/tengine-2.3.3.tar.gz #下载
- $ tar zxvf tengine-2.3.3.tar.gz #解压
文档:文档 - The Tengine Web Server
- $ yum install -y zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc gcc-c++ #安装依赖包
- $ ./configure --prefix=/usr/myapp/tengine --add-module=./modules/ngx_http_upstream_check_module
- $ make && make install
官方文档写的是: 该模块可以为Tengine提供主动式后端服务器健康检查的功能。 该模块在Tengine-1.4.0版本以前没有默认开启,它可以在配置编译选项的时候开启:./configure --with-http_upstream_check_module
执行时,会报错: $ ./configure --with-http_upstream_check_module
./configure: error: invalid option “–with-http_upstream_check_module”
- $ cd /usr/myapp/tengine
- $ sbin/nginx #启动
-
- #user nobody;
- worker_processes 1;
-
- #error_log logs/error.log;
- #error_log logs/error.log notice;
- #error_log logs/error.log info;
- #error_log "pipe:rollback logs/error_log interval=1d baknum=7 maxsize=2G";
-
- #pid logs/nginx.pid;
-
-
- events {
- worker_connections 1024;
- }
-
-
- http {
- include mime.types;
- default_type application/octet-stream;
-
- #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
- # '$status $body_bytes_sent "$http_referer" '
- # '"$http_user_agent" "$http_x_forwarded_for"';
-
- #access_log logs/access.log main;
- #access_log "pipe:rollback logs/access_log interval=1d baknum=7 maxsize=2G" main;
-
- sendfile on;
- #tcp_nopush on;
-
- #keepalive_timeout 0;
- keepalive_timeout 65;
-
- #gzip on;
-
- upstream cluster1 {
- # simple round-robin
- server 127.0.0.1:8080;
- server 127.0.0.1:8081;
-
- check interval=3000 rise=2 fall=5 timeout=1000 type=http;
- check_http_send "HEAD / HTTP/1.0\r\n\r\n";
- check_http_expect_alive http_2xx http_3xx;
- }
-
- server {
- listen 80;
- server_name localhost;
-
- #charset koi8-r;
-
- #access_log logs/host.access.log main;
- #access_log "pipe:rollback logs/host.access_log interval=1d baknum=7 maxsize=2G" main;
-
- location / {
- root html;
- index index.html index.htm;
- }
-
- # 健康检查测试
- location /test/ {
- proxy_pass http://cluster1/;
- }
-
- # 服务器状态的列表
- location /status {
- check_status;
-
- access_log off;
- allow all;
- #deny all;
- }
-
-
- #error_page 404 /404.html;
-
- # redirect server error pages to the static page /50x.html
- #
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
-
- # proxy the PHP scripts to Apache listening on 127.0.0.1:80
- #
- #location ~ \.php$ {
- # proxy_pass http://127.0.0.1;
- #}
-
- # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
- #
- #location ~ \.php$ {
- # root html;
- # fastcgi_pass 127.0.0.1:9000;
- # fastcgi_index index.php;
- # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
- # include fastcgi_params;
- #}
-
- # pass the Dubbo rpc to Dubbo provider server listening on 127.0.0.1:20880
- #
- #location /dubbo {
- # dubbo_pass_all_headers on;
- # dubbo_pass_set args $args;
- # dubbo_pass_set uri $uri;
- # dubbo_pass_set method $request_method;
- #
- # dubbo_pass org.apache.dubbo.samples.tengine.DemoService 0.0.0 tengineDubbo dubbo_backend;
- #}
-
- # deny access to .htaccess files, if Apache's document root
- # concurs with nginx's one
- #
- #location ~ /\.ht {
- # deny all;
- #}
- }
-
- # upstream for Dubbo rpc to Dubbo provider server listening on 127.0.0.1:20880
- #
- #upstream dubbo_backend {
- # multi 1;
- # server 127.0.0.1:20880;
- #}
-
- # another virtual host using mix of IP-, name-, and port-based configuration
- #
- #server {
- # listen 8000;
- # listen somename:8080;
- # server_name somename alias another.alias;
-
- # location / {
- # root html;
- # index index.html index.htm;
- # }
- #}
-
-
- # HTTPS server
- #
- #server {
- # listen 443 ssl;
- # server_name localhost;
-
- # ssl_certificate cert.pem;
- # ssl_certificate_key cert.key;
-
- # ssl_session_cache shared:SSL:1m;
- # ssl_session_timeout 5m;
-
- # ssl_ciphers HIGH:!aNULL:!MD5;
- # ssl_prefer_server_ciphers on;
-
- # location / {
- # root html;
- # index index.html index.htm;
- # }
- #}
-
- }
健康检查接口为:http://127.0.0.1:8080、http://127.0.0.1:8081,要保证这两个有返回值。