제가 담당하고 있는 램프 애플리케이션의 고가용성 향상이 필요하여 로드 밸런싱 도구로 nginx를 선택했습니다.
nginx는 nginx.conf 구성을 수정해야 합니다.
<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은 헤더에 밑줄 필드가 있는 경우 이를 설정해야 하며 그렇지 않은 경우 밑줄이 포함된 헤더 필드를 허용한다는 의미입니다. nginx의 error_log에 오류가 표시됩니다.
또한 사이트에는 세션이 있으므로 각 PHP 모듈에서 세션을 공유해야 합니다. 이전에는 tmp 파일에 저장되어 있었지만 지금은 php.ini 파일의 구성을 수정할 수 있습니다. memcached에 저장할 수 있습니다 :
<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>
그럼 그게 다입니다.
위 내용은 내용의 측면을 포함하여 PHP 사이트로서 nginx의 로드 밸런싱 실습을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.