nginx 설정 확인 부탁드립니다.
안녕하세요. 오라클 프리티어를 사용중입니다.
인터넷에서 nginx 빨라지게하는 설정보고 복사 붙여넣기한건데 빼야될것이나 수정하면 좋을게 있을까요
워드프레스를 사용했었으나 라이믹스를 설치하려고하는데 이 세팅 그대로 써도 될까요?
# Default HTTPS server configuration
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name 사이트.com;
ssl_certificate /etc/letsencrypt/live/사이트.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/사이트.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/사이트.com/fullchain.pem;
include /etc/nginx/snippets/ssl.conf;
root /var/www/html;
index index.php index.html index.htm;location ~* \.(js|css|png|jpg|jpeg|gif|ico) {
access_log off;
}
location / {# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
## enable pagespeed module on this server block
pagespeed on;
pagespeed RedisServer "localhost:6379";
## Cache setting
pagespeed FileCachePath /var/pagespeed_cache;
pagespeed FileCacheSizeKb 20096000; # cache를 적용 후 다 차면 비운다
pagespeed FileCacheInodeLimit 50000000;
pagespeed CssFlattenMaxBytes 102400;
pagespeed LRUCacheKbPerProcess 8192;
pagespeed LRUCacheByteLimit 16384;
#pagespeed DefaultSharedMemoryCacheKB 75000;
## Speed up PageSpeed by storing it in the super duper fast memcached
#pagespeed MemcachedThreads 1;
#pagespeed MemcachedServers ”localhost:11211”;
## PageSpeed Cache Purge
pagespeed EnableCachePurge on;
pagespeed PurgeMethod PURGE;
pagespeed DownstreamCacheRewrittenPercentageThreshold 95;
# needs to exist and be writable by nginx 755로 되어 있음
# cache 비우는 방법 Flushing PageSpeed Sever-ide Cache
# rm -rf /var/pagespeed_cache/ or touch /var/pagespeed_cache/cache.flush
# service nginx restart
## Filter settings
pagespeed EnableFilters responsive_images ;
pagespeed EnableFilters convert_to_webp_animated ;
pagespeed EnableFilters resize_mobile_images ;
#pagespeed EnableFilters lazyload_images; # 이는 트래픽 절감용으로 최근에는 트래픽절약용이 아니라면 사용하지 말라고 가이드 됨
#pagespeed EnableFilters move_css_above_scripts;
#pagespeed EnableFilters outline_css ;
pagespeed EnableFilters remove_quotes ;
pagespeed EnableFilters collapse_whitespace;
pagespeed EnableFilters in_place_optimize_for_browser ;
# 이미지관련 대부분이 Core에 기본으로 들어가 있음, 사용하지 않으려면 비활성화 해야 함 예를 들어 pagespeed DisableFilters convert_to_webp_animated; 기본 rewrite_images, convert_jpeg_to_progressive, convert_png_to_jpeg, convert_jpeg_to_webp, convert_to_webp_lossless, inline_images, recompress_images, recompress_jpeg, recompress_png, recompress_webp, convert_gif_to_png, strip_image_color_profile, strip_image_meta_data, jpeg_sampling, resize_images, resize_rendered_image_dimensions,
#JS
#pagespeed EnableFilters rewrite_javascript ; # rewrite_javascript is equivalent to #enabling both rewrite_javascript_inline and rewrite_javascript_external
#pagespeed EnableFilters combine_javascript;
#pagespeed EnableFilters defer_javascript; # 페이지 로딩 완료 시까지 자바 실행 지연
pagespeed EnableFilters insert_dns_prefetch; # DNS resolution time 축소
pagespeed EnableFilters insert_ga; # pagespeed EnableFilters make_show_ads_async; 는 불필요 이미 동기 실행
#pagespeed AnalyticsID UA––;
#pagespeed EnableFilters make_google_analytics_async;
## Tuning the Filters
pagespeed CssImageInlineMaxBytes 0;
pagespeed CssInlineMaxBytes 2048;
pagespeed CssOutlineMinBytes 3000;
pagespeed ImageInlineMaxBytes 3072;
pagespeed ImageLimitOptimizedPercent 100;
pagespeed ImageLimitResizeAreaPercent 100;
pagespeed ImageRecompressionQuality 80;
pagespeed ImageResolutionLimitBytes 32000000;
#pagespeed JpegRecompressionQuality –1;
#pagespeed JpegRecompressionQualityForSmallScreens 80;
pagespeed WebpRecompressionQuality 85;
pagespeed WebpAnimatedRecompressionQuality 80;
pagespeed WebpRecompressionQualityForSmallScreens 80;
pagespeed JsInlineMaxBytes 2048;
pagespeed JsOutlineMinBytes 3000;
#pagespeed MaxInlinedPreviewImagesIndex –1;
pagespeed MinImageSizeLowResolutionBytes 3072;
pagespeed RewriteRandomDropPercentage 0;
## Ngx_pagespeed Console관련
pagespeed Statistics on;
pagespeed StatisticsLogging on;
pagespeed LogDir /var/log/pagespeed;
pagespeed AdminPath /pagespeed_admin;
location ~ ^/pagespeed_admin {
allow 211.237.91.55;
deny all;
}
# Ensure requests for pagespeed optimized resources go to the pagespeed handler
# and no extraneous headers get set.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
add_header “” “”;
}
location ~ “^/pagespeed_static/“ { }
location ~ “^/ngx_pagespeed_beacon$” { }set $skip_cache 0;
# ---------------------------------------------------------------------
# 캐싱을 하지 말아야 할 경우가 있는데 이를 정의하는 구간 CACHE SKIP RULES - START
# ---------------------------------------------------------------------# Do not cache POST requests - they should always go to PHP
if ($request_method = POST) {
set $skip_cache 1;
}# Do not cache URLs with a query string - they should always go to PHP
if ($query_string != "") {
set $skip_cache 1;
}# WooCommerce-specific cache skip rules
if ($request_uri ~* "/store.*|/cart.*|/my-account.*|/checkout.*|/addons.*") {
set $skip_cache 1;
set $skip_cache_reason WP_WooCommerce;
}if ($cookie_woocommerce_items_in_cart) {
set $skip_cache 1;
set $skip_cache_reason WP_WooCommerce;
}if ($request_uri ~* ("/cart.*")) {
set $skip_cache 1;
}# Don't cache URIs containing the following segments (admin panel, sitemaps, feeds, etc.)
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
set $skip_cache 1;
}# Don't use the cache for logged-in users or recent commenters
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
set $skip_cache 1;
}# ---------------------------------------------------------------------
# CACHE SKIP RULES - END
# ---------------------------------------------------------------------location ~ \.php$ {
#include snippets/fastcgi-php.conf;
try_files $uri =404; # comment out this line if php-fpm is hosted on a remote machine
include /etc/nginx/fastcgi.conf;
fastcgi_cache WORDPRESS;
fastcgi_cache_valid 404 1m;
fastcgi_cache_valid 60m;
add_header X-Cache $upstream_cache_status;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
}
}
# HTTPS CNAME Connect www.사이트.com to 사이트.com
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.사이트.com;
ssl_certificate /etc/letsencrypt/live/사이트.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/사이트.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/사이트.com/fullchain.pem;
include /etc/nginx/snippets/ssl.conf;
location / {
return 301 https://사이트.com$request_uri;
}
}# HTTP server configuration
server {
listen 80;
listen [::]:80;
server_name 사이트.com;
location / {
return 301 https://사이트.com$request_uri;
}
}
# HTTP - CNAME Connect www.사이트.com to 사이트.com
server {
listen 80;
listen [::]:80;
server_name www.사이트.com;
location / {
return 301 https://사이트.com$request_uri;
}
}
redis 서버와 페이지스피드 모듈을 모두 사용하고계신건가요?
워드프레스와 라이믹스 모두 redis를 지원하고있어서 굳이 nginx에서 설정할필요는없어보이긴합니다
cmt alert