Differences
This shows you the differences between two versions of the page.
| 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 / | ||
| + | } | ||
| + | </ | ||
| - | ** React ** | + | ---- |
| + | **http2** \\ | ||
| + | Only works with TLS and modern browsers (though 95%+ usage) | ||
| <code nginx> | <code nginx> | ||
| server { | server { | ||
| - | listen | + | listen |
| - | | + | ... |
| - | | + | } |
| + | </code> | ||
| - | root / | + | ---- |
| - | 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 / { | ||
| - | | + | |
| } | } | ||
| + | } | ||
| + | </ | ||
| + | ---- | ||
| - | location ~ \.php$ { | + | ** Redirect all URLs to root** |
| - | fastcgi_pass unix:/ | + | Used, for example, on kalen.pw |
| - | fastcgi_index index.php; | + | |
| - | fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; | + | |
| - | include fastcgi_params; | + | |
| - | } | + | |
| - | + | ||
| - | location ~ /\.(? | + | |
| - | deny all; | + | |
| - | } | + | |
| - | error_page 404 / | + | |
| - | + | ||
| - | listen 443 ssl; # managed by Certbot | + | |
| - | ssl_certificate / | + | |
| - | ssl_certificate_key / | + | |
| - | include / | + | |
| - | ssl_dhparam / | + | |
| - | } | + | |
| - | </ | + | |
| - | ** Vue ** | + | |
| <code nginx> | <code nginx> | ||
| - | server | + | location / { |
| - | | + | |
| - | listen 443 ssl; # managed by Certbot | + | |
| - | server_name www.kalen.pw kalen.pw; | + | |
| - | | + | |
| - | + | ||
| - | root / | + | |
| - | index index.php index.html; | + | |
| - | + | ||
| - | location ~ \.php$ { | + | |
| - | | + | |
| - | fastcgi_pass unix:/ | + | |
| } | } | ||
| - | |||
| - | error_page 404 /404.html; | ||
| - | ssl_certificate / | ||
| - | ssl_certificate_key / | ||
| - | include / | ||
| - | |||
| - | #if ($scheme != " | ||
| - | # return 301 https:// | ||
| - | #} # managed by Certbot | ||
| } | } | ||
| </ | </ | ||
| + | ---- | ||
| - | ---- | ||