Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
development:deploy:nginx [2021/07/06 09:30]
kalenpw
development:deploy:nginx [2021/07/06 09:48] (current)
kalenpw
Line 1: Line 1:
 ====== Nginx ====== ====== Nginx ======
-  * [[.nginx : config | Config ]] 
- 
  
 ---- ----
 ===== Example Server Blocks ===== ===== Example Server Blocks =====
 +Note: These are messy and need cleaned up. Don't blindly copy-paste may be errors.
   * [[.nginx : dokuwiki | Dokuwiki ]]   * [[.nginx : dokuwiki | Dokuwiki ]]
   * [[.nginx: laravel | Laravel ]]   * [[.nginx: laravel | Laravel ]]
Line 11: Line 10:
   * [[.nginx: vue | Vue ]]    * [[.nginx: vue | Vue ]] 
  
-Note: These are messy and need cleaned up. Don't blindly copy-paste may be errors.\\ 
 ---- ----
-===== Example Server Blocks =====+===== Config ===== 
 +** Caching ** 
 +<code nginx> 
 +location /_assets { 
 +    expires 30d; 
 +    root /web/kalen.pw; 
 +
 +</code>
  
-** React **+---- 
 +**http2** \\ 
 +Only works with TLS and modern browsers (though 95%+ usage)
 <code nginx> <code nginx>
 server { server {
-    listen 80 default_server+    listen 443 http2 ssl
-    server_name www.schedukal.ml schedukal.ml; +    ... 
-    access_log /var/log/nginx/access-SITENAME.log;+
 +</code>
  
-    root /web/schedukal.ml; +---- 
-    index index.php index.html;+**Reverse Proxy** \\ 
 +Useful for services that run on abnormal ports, but you want to have clean urls to access them
  
 +<file nginx reverse_proxy.conf>
 +server {
 +    server_name example.domain.com;
     location / {     location / {
-        try_files $uri /index.html;+        proxy_pass http://127.0.0.1:8000;
     }     }
 +}
 +</file>
 +----
  
-    location ~ \.php$ { +** Redirect all URLs to root** \\ 
-        fastcgi_pass unix:/run/php/php7.2-fpm.sock; +Used, for example, on kalen.pw so any non-found files are redirected to the homepage (as opposed to serving a 404)
-        fastcgi_index index.php; +
-        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; +
-        include fastcgi_params; +
-    } +
- +
-    location ~ /\.(?!well-known).*{ +
-        deny all; +
-    } +
-    error_page 404 /404.html; +
- +
-    listen 443 ssl; # managed by Certbot +
-    ssl_certificate /etc/letsencrypt/live/kalen.pw/fullchain.pem; # managed by Certbot +
-    ssl_certificate_key /etc/letsencrypt/live/kalen.pw/privkey.pem; # managed by Certbot +
-    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot +
-    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot +
-+
-</code> +
-** Vue **+
 <code nginx> <code nginx>
-server +location / 
-    listen 80; +    if (!-$request_filename) 
-    listen 443 ssl; # managed by Certbot +        rewrite ^ permanent;
-    server_name www.kalen.pw kalen.pw; +
-   access_log /var/log/nginx/access-SITENAME.log; +
- +
-    root /web/kalen.pw; +
-    index index.php index.html;     +
- +
-    location ~ \.php$ { +
-        include snippets/fastcgi-php.conf; +
-        fastcgi_pass unix:/run/php/php7.0-fpm.sock;+
     }     }
- 
-    error_page 404 /404.html; 
-    ssl_certificate /etc/letsencrypt/live/kalen.pw/fullchain.pem; # managed by Certbot 
-    ssl_certificate_key /etc/letsencrypt/live/kalen.pw/privkey.pem; # managed by Certbot 
-    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot 
- 
-    #if ($scheme != "https") { 
-    #    return 301 https://$host$request_uri; 
-    #} # managed by Certbot 
 } }
 </code> </code>
 +----
  
-----