我正在嘗試設置多個php-fpm服務器來處理流量峰值?,F在我有一臺機器運行Nginx + PHP7.3-fpm + Redis(6vCPU和16GB內存),另一臺單獨的機器僅運行php-fpm 7.3和相同的擴展。一切都很好,但我必須為流量高峰制定一個計劃。我不知道如何連接這臺新的隔離機器與主服務器一起工作而不會遇到很多麻煩。我已經研究了很多關于它的東西,并沒有發現任何特別的東西。我能找到的最有價值的鏈接是:https://serverfault.com/questions/744124/file-issue-with-nginx-php-fpm-on-separate-serversnginx - php-fpm clusterhttps://blog.digitalocean.com/horizontally-scaling-php-applications/恩金克斯提供來自不同服務器的php文件我閱讀了幾篇關于它的文檔,但主要的疑問仍然存在:我可以簡單地從所有nginx位置中刪除try_files行,并在php中設置cgi.fix_pathinfo = 0.ini這樣我就不必在所有服務器上都有文件嗎?或者為了安全起見,最好安裝一個NFS系統,讓每個.php文件在所有服務器中,包括php-fpm專用服務器?有些人說“創建一個NFS并掛載到所有php-fpm代理服務器或使用rsync通過服務器同步文件”,其他人說“刪除try_files它會起作用”,但我確實找到了一篇文章說“刪除try_files并交叉手指不要被黑客入侵”。:O什么是更好/正確/最安全的方法?我們現在還可能被黑客入侵以刪除try_files?如果我可以簡單地刪除try_files,那么使用不同軟件的不同位置是否正常工作?假設我在根文件夾上有一個WP,在/論壇/文件夾上有一個Xenforo安裝。try_files彼此不同。服務器之前的上游塊{} upstream backend { server unix:/var/run/php/php7.3-fpm.sock weight=100 max_fails=5 fail_timeout=5; server unix:/var/run/php/php7.3-fpm-2.sock weight=100 max_fails=5 fail_timeout=5; #I want to add 192.168.x.x:9000 here to balance with this origin server }服務器塊的示例: location / { try_files $uri $uri/ /index.php; } #AMP location /amp/ { try_files $uri $uri/ /amp/index.php; } #forum location /forum/ { try_files $uri $uri/ /forum/index.php?$uri&$args; index index.php index.html; } location ~ \.php$ { include snippets/fastcgi-php.conf; #fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; fastcgi_pass backend; }我還綁定了php-fpm服務器以在其內部IP(不是127.0.0.1)上運行,并設置為在php中listen.allowed_clients上訪問nginx代理IP.ini此外,nmap是否從源服務器在php-fpm-服務器-IP:9000上運行,它說它正在運行和啟動。如果您知道如何或可能有一個鏈接顯示如何,請分享。我有機器待命,只是等待一起工作,請幫助實現這一目標。
使用代理的內聯負載均衡 - try_files
喵喵時光機
2022-09-17 17:55:42