Just for ease of administration and allowing for more uptime I’ve moved the server the site is on from a server in my house to one hosted on a Vultr cloud server. Since everything is static and there are no other applications needed a small 1 core, 512mb VPS should suffice. I’ve taken this time to clean up my nginx config files and apply some optimizations that were long overdue. I’ve attached snippets of the configuration files in case anyone else would find them useful. nginx.conf

user  nginx;
worker_processes  auto;
worker_rlimit_nofile 8192;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  65535;
    use epoll;
    multi_accept on;
}


http {
    include       /etc/nginx/mime.types;

    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;


    ## optimizations  ##
    sendfile        on;
    tcp_nopush     on;
    tcp_nodelay on;
    client_body_buffer_size 128k;
    client_max_body_size 10m;
    client_header_buffer_size 1k;
    large_client_header_buffers 4 4k;
    output_buffers 1 32k;
    postpone_output 1460;
    client_header_timeout 60s;
    client_body_timeout 60s;
    send_timeout 60s;
    open_file_cache max=1000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;

    keepalive_timeout  20s;

    server_tokens off;
    default_type  application/octet-stream;
    charset_types
        text/css
        text/plain
        text/vnd.wap.wml
        application/javascript
        application/json
        application/rss+xml
        application/xml;

    include /etc/nginx/conf.d/*.conf;
}

default.conf

server {
    listen 443 http2 default_server;
    server_name neverlocate.me;
    root /home/nginx/default;
    index index.html index.htm index.php;
    access_log /var/log/nginx/neverlocate.log main;
    error_log /var/log/nginx/neverlocate.error.log;

    ## compression ##
    gzip on;
    gzip_disable "msie6";
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_min_length 256;
    gzip_types
        text/plain
        text/css
        application/json
        application/javascript
        application/x-javascript
        text/xml
        application/xml
        application/xml+rss
        text/javascript
        application/vnd.ms-fontobject
        application/x-font-ttf
        font/opentype
        image/svg+xml
        image/x-icon
        image/png;

    ssl on;
    ssl_certificate /cert/path.crt;
    ssl_certificate_key /cert/path.key;
    ssl_dhparam /dkparam/path.pem;
    ssl_protocols TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
    ssl_ecdh_curve secp384r1;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;

    location /. {
        deny  all;
    }

    location ~* /\.(?!well-known\/) {
        deny all;
    }

    location ~* (?:\.(?:bak|conf|dist|fla|in[ci]|log|psd|sh|sql|sw[op])|~)$ {
        deny all;
    }

    location ~* \.(?:manifest|appcache|html?|xml|json)$ {
        add_header Cache-Control "max-age=0";
    }

    location ~* \.(?:rss|atom)$ {
        add_header Cache-Control "max-age=3600";
    }

    location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|mp4|ogg|ogv|webm|htc)$ {
        access_log off;
        add_header Cache-Control "max-age=2592000";
    }

    location ~* \.svgz$ {
        access_log off;
        gzip off;
        add_header Cache-Control "max-age=2592000";
    }

    location ~* \.(?:css|js)$ {
        add_header Cache-Control "max-age=31536000";
        access_log off;
    }

    location ~* \.(?:ttf|ttc|otf|eot|woff|woff2)$ {
        add_header Cache-Control "max-age=2592000";
        access_log off;
    }

    location / {
        autoindex on;
        try_files $uri $uri.html $uri/ =404;
    }
}

server {
    listen 80 default_server;
    server_name neverlocate.me www.neverlocate.me;

    return 301 https://neverlocate.me$request_uri;
}