Top Banner
Revisited: The Webstack in 2015 Arne Blankerts | Dutch PHP Conference 2015
22

Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9

Aug 23, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9

Revisited: The Webstack in 2015Arne Blankerts | Dutch PHP Conference 2015

Page 2: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9

Arne BlankertsCo-Founder, The PHP Consulting Company

Page 3: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9
Page 4: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9
Page 5: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9
Page 6: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9
Page 7: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9

?

Page 8: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9
Page 9: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9
Page 10: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9
Page 11: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9
Page 12: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9
Page 13: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9
Page 14: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9

NGINX Server section for PHP-FPM Pool1 root /varvar/www/htdocs;2 location / {3 try_files $uri$uri @php4 }5 location @php {6 fastcgi_pass PHP_POOL;7 includeinclude fastcgi_params;8 fastcgi_param SCRIPT_FILENAME /varvar/www/bootstrap.php;9 }

Page 15: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9

NGINX Server section for PHP-FPM Pool1 root /varvar/www/htdocs;2 location / {3 try_files $uri$uri @php4 }5 location @php {6 fastcgi_pass PHP_POOL;7 includeinclude fastcgi_params;8 fastcgi_param SCRIPT_FILENAME /varvar/www/bootstrap.php;9 }

Page 16: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9

Load Balancing PHP1 upstream PHP_POOL {2 server 192.168.1.101:9000 weight=10;3 server 192.168.1.102:9000 weight=5 max_fails=3 fail_timeout=30s;4 server 192.168.1.103:9000 backup;5 }

Page 17: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9

Classical Download with PHP1 <?php23 $file$file = '/somewhere/' . basename($_GET$_GET['file']);45 requirerequire 'auth.php';67 ifif (file_exists($file$file) && checkAuth($file$file)) {8 header('Content-Description: File Transfer');9 header('Content-Type: application/octet-stream');10 header('Content-Disposition: attachment;' .11 filename='.basename($file));12 header('Content-Transfer-Encoding: binary');13 header('Expires: 0');14 header('Cache-Control: must-revalidate');15 header('Pragma: publicpublic');16 header('Content-Length: ' . filesize($file));17 ob_clean();18 flush();19 readfile($file);20 exit;21 }

Page 18: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9

Better Download - Let the webserver do the work1 <?php2 $file$file = '/somewhere/' . basename($_GET$_GET['file']);34 requirerequire 'auth.php';5 IfIf (!checkAuth($file$file)) {6 DieDie('Access denied.');7 }89 header('X-Accel-Redirect: ' . $file$file);

Page 19: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9

Session in Redis?1 [Session]2 session.save_handler = redis3 session.save_path = "tcp://192.168.1.200:6379"

Page 20: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9

Advanced PHP Pools1 upstream PHP56 {2 server 192.168.1.101:9000;3 }4 upstream PHP70 {5 server 192.168.1.102:9000;6 }78 location /forum/ {9 fastcgi_pass PHP56;10 includeinclude fastcgi_params;11 fastcgi_param SCRIPT_FILENAME /varvar/www/legacy/forum.php;12 }13 location /app/ {14 fastcgi_pass PHP70;15 includeinclude fastcgi_params;16 fastcgi_param SCRIPT_FILENAME /varvar/www/app/bootstrap.php;17 }

Page 22: Revisited: The Webstack in 2015 · Advanced PHP Pools 1 upstream PHP56 {2 server 192.168.1.101:9000; 3 } 4 upstream PHP70 {5 server 192.168.1.102:9000; 6 } 7 8 location /forum/ {9

sharing experience