配置文件nginx.conf的配置介绍:
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
proxy_cache_path /cache/nginx/ levels=1:1 keys_zone=mycache:23m;
#建立缓存目录,目录必须是nginx用户,levels是可建目录几级,mycache是名称,开启缓存,只能在http中开启,具体功能可在http,server,location,if中使用
fastcgi_cache_path /cache/fastcgi levels=1:1 keys_zone=fcgicache:10m inactive=3m max_size=1g;
#factcgi接口使用的命令,建立fastcgi的缓存
upstream upservers {
#建立后端负载均衡技术
#ip_hash;负载均衡中的指令,可不加
server 192.168.1.11 max_fails=2 fail_timeout=1 weight=2;
#添加一台服务器,max_fails失败两次即暂停,fail_timeout 失败后暂停的时间,weigth权重
server 192.168.1.12 max_fails=2 fail_timeout=1;
#后加down即人为停掉这台服务
}
server {
listen 80;
server_name localhost;
add_header X-Via $server_addr; # 可以放在任意里面,首部自定义添加内容
add_header X-cache $upstream_cache_status; #根据是否缓存命中给出状态,如miss,hit
location / {
proxy_pass http://upservers/;
#按组的形式,把后端已经作成组的服务器加进来
}
location /root {
proxy_pass http://192.168.1.11/root/; #代理后端服务器
proxy_set_header Host $remote_addr; #日志会记录源ip的日志,而不是代理服务器请求的日志,还需要修改后端服务器的日志格式logFormat "%{X-Real-IP}i"
proxy_cache mycache; #使用mycahce缓存,http中定义
proxy_cache_valid 200 1d; #根据响应码确定缓存市场,可多次定义
proxy_cache_valid 301 10m;
proxy_cache_valid any 1m; #其他未定的一律1m缓存
proxy_cache_use_stale error timeout invalid_header http_500 http_502 http_504; #缓存过期后,哪些情况可以继续使用缓存,以上缓存命令在其他location 中可继续使用
}
location /forum/ { #此处可以用其他名字,可以不同
proxy_pass http://192.179.1.11/bbs/; #此处必须加上/bbs/
}
location ~* \.(jpg|png|gif)$ {
proxy_pass http://192.168.1.12; #因为是正则表达式,所以不能加,表示所有访问图片类型的都走这台服务器
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
#动静分离,动态页面全走这里
#注意此处开启php动态功能,需要安装php-fpm,并重启服务
#如果想用mysql,可安装php-msyql, mysql-server,并重启服务即可
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
}本文出自 “学无止境” 博客,请务必保留此出处http://chickengg.blog.51cto.com/10402610/1701044
原文:http://chickengg.blog.51cto.com/10402610/1701044