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 | ||
} | } | ||
</ | </ | ||
+ | ---- | ||
- | ---- |