Create Jellyfin CDN using Nginx Rumi, March 20, 2024March 23, 2024 user www-data; worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; 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; ## # SSL Settings ## ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; # gzip_vary on; # gzip_proxied any; # gzip_comp_level 6; # gzip_buffers 16 8k; # gzip_http_version 1.1; # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; proxy_cache_path /var/www/cache keys_zone=mycache:10m inactive=23h loader_threshold=300 loader_files=4096 max_size=4g; server { listen 80; proxy_cache mycache; location / { proxy_pass http://<jellyfin_server_domain>:8096; } location /web { proxy_pass http://<jellyfin_server_domain>:8096; proxy_cache_valid any 1m; proxy_cache_min_uses 3; proxy_cache_bypass $cookie_nocache $arg_nocache$arg_comment; } location /socket { # Proxy Jellyfin Websockets traffic proxy_pass http://<jellyfin_server_domain>:8096; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; 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 X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Protocol $scheme; proxy_set_header X-Forwarded-Host $http_host; } } } #mail { # # See sample authentication script at: # # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript # # # auth_http localhost/auth.php; # # pop3_capabilities "TOP" "USER"; # # imap_capabilities "IMAP4rev1" "UIDPLUS"; # # server { # listen localhost:110; # protocol pop3; # proxy on; # } # # server { # listen localhost:143; # protocol imap; # proxy on; # } #} Src: https://www.peterbe.com/plog/how-i-simulate-a-cdn-with-nginx https://docs.nginx.com/nginx/admin-guide/content-cache/content-caching/ https://www.oodlestechnologies.com/dev-blog/creating-custom-cache-server-nginx/ https://dev.to/janreges/how-to-build-a-cdn-23-server-and-reverse-proxy-configuration-16md Related Administrations Configurations (Linux) Jellyfin CDNNginx CDN
Recover MySQL root Password December 27, 2011 You can recover MySQL database server password with following five easy steps. Step # 1: Stop the MySQL server process. Step # 2: Start the MySQL (mysqld) server/daemon process with the –skip-grant-tables option so that it will not prompt for password. Step # 3: Connect to mysql server as the… Read More
Install MariaDB on CentOS 7 May 25, 2020 Start by adding the MariaDB YUM repository file MariaDB.repo for RHEL/CentOS and Fedora systems. # vi /etc/yum.repos.d/MariaDB.repo Now add the following lines to your respective Linux distribution version as shown. On CentOS 7 [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 Step 2: Install MariaDB in CentOS 7 Once… Read More
Add Geolocation to Graylog 2 August 16, 2020 The Graylog Map Widget is the plugin providing geolocation capabilities to Graylog. The plugin is compatible with Graylog 2.0.0 and higher, and it is installed by default, although some configuration is still required on your side. This section explains how to configure the plugin in detail. In case you need to reinstall the… Read More