我需要做两件事,首先将过期标头设置为30d,然后设置第二个以启用页面速度模块。到目前为止,它们都不起作用,这是我的nginx.conf文件
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/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 /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
expires 30d;
add_header Pragma public;
add_header Cache-Control "public";
}
include /etc/nginx/conf.d/*.conf;
}
答案 0 :(得分:1)
要打开pagespeed,首先需要使用pagespeed的模块从源代码构建nginx。 很容易!您可以按照Google的说明here然后here
进行操作在您使用pagespeed模块从源代码编写Nginx后,您可以将其添加到您的conf中:
pagespeed on;
pagespeed FileCachePath /var/ngx_pagespeed_cache;
要设置过期标头,我认为最好将代码放在服务器块中,然后放在主位置块中。如果您不介意的话,请参阅this博文,但它会使用 if 子句。
如果您正在优化您的网站,也可以考虑在您的conf中使用 gzip 。它会在将内容发送给您的客户之前对其进行压缩。它可以节省大量带宽,我认为它可以减少延迟(更快的负载)。
如果您决定将gzip与pagespeed一起使用,请务必在下面的行中添加read
pagespeed FetchWithGzip on;