前一篇文章:CentOs7 安裝Tengine 並設置成系統服務,開機自動啟動。
本文記錄如何配置Tengine反向代理後台真實服務器,並配置建行檢查以及一些常用的功能。
/usr/local/nginx/sbin/nginx -h 可以查看Nginx的命令。 .
1.修改配置文件
/usr/local/nginx/conf/nginx.conf
修改完配置文件後使用命令 /usr/local/nginx/sbin/nginx -t 測試文件是否正確。
如果正確使用命令 /usr/local/nginx/sbin/nginx -s reload 來重新加載配置文件。
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
# load modules compiled as Dynamic Shared Object (DSO)
#
#dso {
# load ngx_http_fastcgi_module.so;
# load ngx_http_rewrite_module.so;
#}
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 off;
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
# http_proxy 設置
#允許客戶端請求的最大單文件字節數,如果有上傳較大文件,請設置它的限制值,如果設置為0表示不限制
client_max_body_size 1m;
#緩沖區代理緩沖用戶端請求的最大字節數 默認16k 如果請求request body大小超出設置 將寫入臨時文件
client_body_buffer_size 128k;
#用來設置臨時存儲客戶端請求數據的目錄
client_body_temp_path /usr/local/nginx/client_temp 1 2;
#nginx跟後端服務器連接超時時間(代理連接超時) 默認60s 最大不超過75s.
proxy_connect_timeout 75s;
#設置數據發送到代理服務器的超時時間。默認60s 最大不超過75s
#超時是針對兩次寫之間的間隔,而不是整個數據寫入傳輸的時間,如果代理服務器沒有在這段時間內收到任何東西,連接被關閉。
proxy_send_timeout 75s;
#設置從代理服務器讀取數據的超時時間。默認60s 最大不超過75s
#超時是針對兩次讀取之間的間隔,而不是整個數據讀取傳輸的時間,如果代理服務器沒有在這段時間內發送任何東西,連接被關閉。
proxy_read_timeout 75s;
proxy_buffer_size 32k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_temp_path /usr/local/nginx/proxy_temp 1 2;
proxy_cache_path /usr/local/nginx/proxy_cache levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=10g;
upstream local_tomcat {
server 127.0.0.1:8080 weight=1;
server 127.0.0.1:8088 weight=1;
#健康檢查
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;
#查看負載均衡節點狀態
location /status {
check_status html;
access_log off;
allow 192.168.80.1;
deny all;
}
location / {
proxy_passhttp://local_tomcat; }
#配置Nginx緩存,Nginx加載資源到本地進行緩存,緩存路徑配置在proxy_cache_path下面
location ^~ /examples {
proxy_passhttp://local_tomcat; proxy_cache cache_one;
proxy_cache_valid 200 302 10m;
proxy_cache_valid any 1m;
}
location /documents/ {
root html;
index index.html index.htm;
}
#配置靜態文件由Nginx處理
location ~* /*\.(gif|jpg|jpeg|css|js|png)$ {
#配置靜態文件訪問路徑
#例如訪問http://localhost/tomcat.css 那麼Nginx會去查找 /home/tomcat/apache-tomcat-7.0.47/webapps/ROOT/tomcat.css
root /home/tomcat/apache-tomcat-7.0.47/webapps/ROOT;
#配置靜態文件在客戶端緩存時間
expires 30s;
}
}
}
2.跟多配置參考淘寶Tengine中文翻譯Nginx文檔
http://tengine.taobao.org/nginx_docs/cn/docs/
參考文章
http://seanlook.com/2015/05/17/nginx-install-and-config/ 配置
http://seanlook.com/2015/05/17/nginx-location-rewrite/ URL規則
http://www.nginx.cn/115.html URL規則