"Nginx 로드 밸런싱을 사용하여 고성능 .NETweb 애플리케이션 구축 1" 기사에서 Nginx에 대한 사전 이해를 살펴보겠습니다. 아래에서는 Windows 플랫폼을 사용합니다. Nginx 데모 클러스터를 사용하여 웹 애플리케이션을 배포합니다.
Nginx 공식 웹사이트로 이동하여 Windows 플랫폼용 Nginx 배포 패키지를 다운로드합니다. 현재 nginx-1.6.2 버전을 다운로드했습니다.
다시 로드: nginx -s reload
3. 예시 구성
첫 번째 선택: 웹 애플리케이션을 iis에 배포하고 다른 컴퓨터에 배포한 다음 해당 IP와 포트 번호를 설정해야 합니다. 왜냐하면 이 컴퓨터는 효과를 시뮬레이션했기 때문입니다. 그래서 이 컴퓨터의 IIS에 2개의 웹 응용 프로그램을 배포했습니다. 첫 번째 웹 응용 프로그램은 localhost: 8011 포트에 배포되었으며 동시에 데모를 보기 위해 두 번째 응용 프로그램도 배포되었습니다. 결과적으로 우리는 WebForm1.aspx 페이지를 웹 애플리케이션 페이지로 표시했습니다. 실제로 시스템을 배포할 때 웹 애플리케이션 중 하나를 배포하기만 하면 됩니다. 아래와 같이 서버에 다른 컴퓨터가 있습니다.
웹 애플리케이션 1 주소: http://localhost:8011/WebForm1.aspx
웹 애플리케이션 2 주소: http://localhost:8012/WebForm1.aspx
(1) Nginx 서비스 시작
(2) Nginx 구성 항목을 수정합니다. 구체적인 구성 지침은 매개변수 설정부에서 설명한 후 서비스가 정상적으로 시작되는지 확인합니다.
(3) 접속 주소 http://localhost:8010/WebForm1.aspx 관찰 결과
(4) 이런 식으로 로드 밸런싱 효과를 시뮬레이션할 수 있습니다.
4. 기타 안내
(1) 도메인 이름 액세스 구성: 먼저 Nginx에 도메인 이름 설정을 추가해야 하고, 두 번째로 이 컴퓨터의 도메인 이름에 매핑되도록 127.0.0.1을 설정해야 합니다.
이러한 방식으로 다음과 같이 액세스할 수 있습니다. http://huangxiang:8010/WebForm1.aspx
(2) Ngnix에서 시작하는 프로세스 수를 구성합니다. 프로세스 중 프로세스 수의 변화에 주목할 수 있습니다
5. 매개변수 설정
#定义Nginx运行的用户和用户组 #user nobody; #Nginx进程数,建议和cpu总内核一致 worker_processes 2; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { #定义单个进程的最大连接数(实际最大连接数要除以2) worker_connections 1024; } #定义http服务器 http { include mime.types;#定义文件扩展名和文件类型映射表 default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; #服务器的集群 upstream huangxiang.com { #服务器集群名字 #server 172.16.21.13:8081 weight=1;#服务器配置 weight是权重的意思,权重越大,分配的概率越大。 #server 192.168.1.186:8081 weight=1; #server 172.16.1.14:8081 weight=2; #server 172.16.1.15:8081 weight=1; #server 172.16.1.15:80 weight=1; server 127.0.0.1:8011 weight=1; server 127.0.0.1:8012 weight=2; } #虚拟机主机配置 server { listen 8010;#端口号 server_name localhost huangxiang.com;#域名可以有多个,多个用空格分开 #charset koi8-r; #access_log logs/host.access.log main; #location / { # root html; # index index.html index.htm; #} location / { proxy_pass http://huangxiang.com; proxy_redirect default; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
위 내용은 콘텐츠를 포함하여 고성능 .NET 웹 애플리케이션 II를 구축하기 위한 Nginx 로드 밸런싱의 사용을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.