Heim >Backend-Entwicklung >PHP-Tutorial >Lastausgleichspraxis von Nginx als PHP-Site

Lastausgleichspraxis von Nginx als PHP-Site

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-08-08 09:28:171152Durchsuche

Eine Lampenanwendung, für die ich verantwortlich bin, muss die Hochverfügbarkeit verbessern, daher habe ich Nginx als Lastausgleichstool ausgewählt.
nginx muss die nginx.conf-Konfiguration ändern:

<code>upstream qss {
     <span>82</span>         server <span>10.46</span><span>.194</span><span>.17</span>:<span>8088</span> weight<span>=</span><span>5</span>;
     <span>83</span>         server <span>10.46</span><span>.192</span><span>.41</span>:<span>8080</span> weight<span>=</span><span>5</span>;
     <span>84</span>     }
     <span>85</span><span>86</span>     server {
     <span>87</span>         listen <span>8079</span>;
     <span>88</span>         server_name cq01<span>-tdw</span><span>-bfe28</span><span>.</span>cq01<span>.</span>baidu<span>.</span>com;
     <span>89</span>         underscores_in_headers <span>on</span>;
     <span>90</span>         ignore_invalid_headers off;
     <span>91</span><span>92</span>         location <span>/</span> {
     <span>93</span>             proxy_set_header Host <span>$host</span>;
     <span>94</span>             proxy_set_header X<span>-Real</span><span>-IP</span><span>$remote_addr</span>;
     <span>95</span>             proxy_set_header X<span>-Forwarded</span><span>-For</span><span>$proxy_add_x_forwarded_for</span>;
     <span>96</span>             proxy_pass http:<span>//qss;</span><span>97</span>         }</code>

Underscores_in_headers on bedeutet, dass Headerfelder mit Unterstrichen als zulässig gelten. Wenn der Header Unterstrichfelder enthält, muss dies festgelegt werden wird Im error_log von nginx wird ein Fehler angezeigt.

Außerdem verfügt die Site über eine Sitzung, daher sollte die Sitzung in jedem PHP-Modul geteilt werden. Sie können die Konfiguration der php.ini-Datei ändern, die zuvor in der tmp-Datei gespeichert wurde kann im Memcached gespeichert werden:

<code><span>732</span> extension_dir = <span>"/home/qec/vlamp/build/php/output/lib/php/extensions/no-debug-non-zts-20100525/"</span><span>733</span> extension = memcache<span>.so</span><span>1365</span> [Session]
   <span>1366</span><span>; Handler used to store/retrieve data.</span><span>1367</span><span>; http://php.net/session.save-handler</span><span>1368</span><span>; session.save_handler = files</span><span>1369</span> session<span>.save</span>_handler = memcache
   <span>1370</span> memcache<span>.hash</span>_strategy = <span>"consistent"</span><span>1371</span> session<span>.save</span>_path = <span>"tcp://10.216.122.21:11211"</span></code>

Dann ist es soweit.

Das Obige stellt die Lastausgleichspraxis von Nginx als PHP-Site vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn