中关村在线

首页 排行 新品 问答 下载 论坛 手机 笔记本 数码相机 主板 显卡 平板电脑 更多

window下nginx怎么样添加模块

举报
ng
讨论回答 (4)
wanghaoc0411
yy921311266
这里用虚拟机配置了下:

nginx 配置文件内容:

主要是这一句:

proxy_cache_path /www/ levels=1:2 keys_zone=Z:10m inactive=1m max_size=30g;

这一句定义一个区域,名字是 Z ,在内存中的空间为10MB ,硬盘中的最大空间为 30G;

inactive=1m 是,1分钟之后缓存失效 ,从新从源服务器请求

这里纠正一下,inactive=1m 如果缓存1分钟没人访问,nginx 会删除掉这些缓存

/usr/local/nginx/conf/nginx.conf
#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;
}

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;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;
proxy_cache_path /www/ levels=1:2 keys_zone=Z:10m inactive=1m max_size=30g;
server {
listen 80;
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root /www/;
#expires max;

#proxy_store on;
#proxy_store_access user:rw group:rw all:rw;
#proxy_temp_path /www/;
proxy_cache Z;
proxy_cache_valid 200 1m;
#expires max;
include proxy.conf;

if ( !-e $request_filename) {
proxy_pass
http://192.168.1.199:45815;
}
}
#这里设置当 访问 /ajax/目录下的内容时候,直接从源服务器读取,主要用于ajax 的访问请求,要求实时的
location /ajax/ {

include proxy.conf;
if ( !-e $request_filename) {
proxy_pass http://192.168.1.199:45815;
}
}

#location ~.*\.(jpg|png|jpeg|gif)
#{
# expires max;
#}

#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;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

# 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;
# server_name localhost;

# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;

# ssl_session_timeout 5m;

# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;

# location / {
# root html;
# index index.html index.htm;
# }
#}

}

/usr/local/nginx/conf/proxy.conf
proxy_redirect off;
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_set_header Accept-Encoding 'gzip';
client_max_body_size 100m;
client_body_buffer_size 256k;

proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 60;

proxy_buffer_size 512k;
proxy_buffers 8 512k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 512k;

一开始我就这样配置,认为可以成功了,结果发现动态文件无法被缓存,而html 文件可以被缓存,后来就到很多地方去问,

心想会不会是因为 文件 的 头信息或者Last-Modified
信息和 ETag 造成的,就去问,http://www.dewen.org/q/9769/nginx+%E5%A6%82%E4%BD%95%E7%BC%93%E5%AD%98%E5%8A%A8%E6%80%81%E9%A1%B5%E9%9D%A2%EF%BC%9F

发现果真如此,马上修改源服务器的动态文件,加入以下代码:

<%@ Page Language="C#" %>
<%

string date = Request.Headers.Get("If-Modified-Since");
if (date != null)
{
Response.StatusCode = 304;
Response.StatusDescription = "from cache";
return;
}

DateTime expDate = new DateTime(2037, 12, 31, 23, 55, 55);
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetExpires(expDate);
Response.Cache.SetMaxAge(expDate - DateTime.Now);
Response.Cache.SetLastModified(new DateTime(2000, 1, 1));

%>

<%=DateTime.Now.ToString()%>

然后发现就可以缓存动态文件了。至此,下一步我就可以用nginx 作为用户访问的 服务器了

这里截一些图:
19980208wb
nfzntipyph
展开查看全部 4 条讨论
精品应用推荐
新浪微博 新浪微博 天气通 天气通 淘宝特价版 淘宝特价版 UC浏览器 UC浏览器
扩展阅读

手机屏幕形态盘点,等深微曲可能是未来

评论 0

手机屏幕形态盘点,等深微曲可能是未来

ALIENWARE外星人AW2725QF双模游戏显示器评测:打造极致视觉体验

评论 0

ALIENWARE外星人AW2725QF双模游戏显示器评测:打造极致视觉体验

DIY从入门到放弃:买二手显卡如何避坑?

评论 21

DIY从入门到放弃:买二手显卡如何避坑?

千元大屏电视大揭秘!选购攻略全在这里

评论 1

千元大屏电视大揭秘!选购攻略全在这里

揭秘苹果电视缺席真相:不赚钱只是一方面

评论 2

揭秘苹果电视缺席真相:不赚钱只是一方面
热门问题

求推荐一款笔记本。工科研究生用,便于随身携带。平时做科研,处理数据,查阅文献。不玩网游和单机,至多玩棋牌游戏和影音。喜欢摄影,需要修图。附加:纠结要不要带数字键盘区。预算最多8000。尽量便宜些。

1.2万 浏览 6 回答

求推荐一款笔记本。工科研究生用,便于随身携带。平时做科研,处理数据,查阅文献。不玩网游和单机,至多玩棋牌游戏和影音。喜欢摄影,需要修图。附加:纠结要不要带数字键盘区。预算最多8000。尽量便宜些。

平面设计一个月工资一般多少

6520 浏览 5 回答

平面设计一个月工资一般多少

256gSSD是否够用?打算买个笔记本,办公为主,查阅文献等。不玩大型游戏,至多玩一些棋牌类游戏和影音娱乐。手里有2T移动硬盘,但也想在笔记本上存少量的电影。平时玩单反,处理图片比较多。

2.3万 浏览 4 回答

256gSSD是否够用?打算买个笔记本,办公为主,查阅文献等。不玩大型游戏,至多玩一些棋牌类游戏和影音娱乐。手里有2T移动硬盘,但也想在笔记本上存少量的电影。平时玩单反,处理图片比较多。

数码相机怎么用

9万 浏览 4 回答

数码相机怎么用

茅台王子酒什么价格

3599 浏览 5 回答

茅台王子酒什么价格

歪歪漫画免费页面看不了是为什么?

6775 浏览 6 回答

歪歪漫画免费页面看不了是为什么?

今日头条和今日头条极速版有什么不同?

4058 浏览 5 回答

今日头条和今日头条极速版有什么不同?

马斯克有华人血脉吗

8759 浏览 6 回答

马斯克有华人血脉吗

笔记本电脑可以连接到无线网络,但是显示无Internet,插网线也没办法上网

1.2万 浏览 7 回答

笔记本电脑可以连接到无线网络,但是显示无Internet,插网线也没办法上网

肿么找回QQ浏览器历史记录

7279 浏览 6 回答

肿么找回QQ浏览器历史记录
最新问答

百度怎样设置青少年保护模式

9763 浏览 4 回答

百度怎样设置青少年保护模式

怎么样用ps做光荣榜?

2136 浏览 4 回答

怎么样用ps做光荣榜?

word插入图片时默认锁定纵横 相对原始大小大小怎样取消默认

4933 浏览 5 回答

word插入图片时默认锁定纵横 相对原始大小大小怎样取消默认

无线路由器联网时显示用户名或密码验证失败为什么?

998 浏览 3 回答

无线路由器联网时显示用户名或密码验证失败为什么?

安卓手机怎么修改定位

3.2万 浏览 2 回答

安卓手机怎么修改定位
举报
举报成功

经过核实后将会做出处理,感谢您为社区和谐做出贡献。

请选择删除原因
删除成功
确定推荐该回答?
推荐成功

更多频道

频道导航
辅助工具