私はウェブサーバーにnginxを導入しています。nginxはそもそも高速なサーバーとして有名ですが、サイト表示のパフォーマンスを上げるために色々カスタマイズを行っています。そこで、私が使っている設定を公開してみようかなと思います。
一応この設定でPageSpeed Insightsのチェックでは最もスコアが良かったはず。多分。もちろんユーザーなどは適宜書き換えてくださいね。
user www-data;
worker_processes auto;
worker_rlimit_nofile 100000;
pid /run/nginx.pid;events {
worker_connections 2048;
multi_accept on;
use epoll;
}http {
##
# Basic Settings
##sendfile on;
tcp_nopush on;
tcp_nodelay on;keepalive_timeout 10;
client_header_timeout 10;
client_body_timeout 10;
reset_timedout_connection on;
send_timeout 10;limit_conn_zone $binary_remote_addr zone=addr:5m;
limit_conn addr 100;types_hash_max_size 2048;
server_tokens off;# server_names_hash_bucket_size 64;
# server_name_in_redirect off;include /etc/nginx/mime.types;
default_type application/octet-stream;
charset UTF-8;##
# Logging Settings
##access_log /var/log/nginx/access.log;
log_format main ‘$remote_addr – $remote_user [$time_local] “$request” ‘
‘”$status” $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for” “$gzip_ratio”‘;
error_log /var/log/nginx/error.log;##
# Gzip Settings
##gzip on;
gzip_disable “msie6”;gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 8 8k;
gzip_min_length 1000;
gzip_http_version 1.0;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;open_file_cache max=100000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;##
# nginx-naxsi config
##
# Uncomment it if you installed nginx-naxsi
###include /etc/nginx/naxsi_core.rules;
##
# nginx-passenger config
##
# Uncomment it if you installed nginx-passenger
###passenger_root /usr;
#passenger_ruby /usr/bin/ruby;##
# Virtual Host Configs
##include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
主な変更点はログの形式とgzip圧縮の設定だと思います。worker関係はかなり多めにとっているので、マシンスペックによって調整してくださいね。ログの形式は、apacheと同じ形式にしてるんだったかな…?webalizerで解析できる形式で保存させています。webalizer使っていない方はこんなことしなくておっけー。(accesslogとerrorlogの間の三行削除)
gzip圧縮は有効にしておくと、ページを圧縮して転送量を減らし、表示速度を改善することが出来ます。PageSpeed Insightsのスコアに関わってくるので、適用してみてもいいのではないでしょうか。
細かい解説がなくて申し訳ないですが、紹介だけしておきます。