使用Nginx负载均衡搭建高性能.NETweb应用程序二

时间:2024-01-01 08:48:03

在文章《使用Nginx负载均衡搭建高性能.NETweb应用程序一》中,让我们对Nginx有了一个初步认识,下面我们将在windows平台下面使用Nginx演示集群部署我们的web应用。

一、下载Nginx部署包

到Nginx官网去下载一个windows平台下面的Nginx部署包,目前我下载的是一个nginx-1.6.2版本的。

二、命令启动服务
启动:start nginx.exe
停止:nginx -s stop

重新加载: nginx -s reload

三、实例搭建

选:我们要在我们的iis上面把我们做好的web应用部署上去,部署到不同的机器上面,设置好对应的ip和端口号,因为我在本机模拟出效果,所以我就在本
机的iis上面部署了2个web应用,第一个web应用部署在localhost:8011端口,第二个应用部署为localhost:8012端口,同
时为了看到演示效果,我们把里面的WebForm1.aspx页面做了一个标记,里面标记为:第几个web应用程序的页面,实际我们部署系统,不需要这样
做,就是把我们的一个web应用部署到不同机器上面的服务器上,下面所示。

web应用1地址:http://localhost:8011/WebForm1.aspx
web应用2地址:http://localhost:8012/WebForm1.aspx

(1)启动Nginx服务

使用Nginx负载均衡搭建高性能.NETweb应用程序二

(2)修改Nginx配置项,具体配置说明,我们在参数设置部门说明,然后验证服务是否正常启动。

使用Nginx负载均衡搭建高性能.NETweb应用程序二

(3)访问地址http://localhost:8010/WebForm1.aspx观察结果

使用Nginx负载均衡搭建高性能.NETweb应用程序二

使用Nginx负载均衡搭建高性能.NETweb应用程序二

(4)这样我们就可以模拟出负载均衡效果了,ok

四、其他说明

(1)配置域名访问:首先我们要在Nginx中添加域名设置,其次我们要在本机设置127.0.0.1映射为域名

使用Nginx负载均衡搭建高性能.NETweb应用程序二

这样我们就可以这样访问了:http://huangxiang:8010/WebForm1.aspx

(2)配置Ngnix启动的进程数量,我们可以在进程中关注其进程数量变化

使用Nginx负载均衡搭建高性能.NETweb应用程序二


五、参数设置

    1. #定义Nginx运行的用户和用户组
    2. #user  nobody;
    3. #Nginx进程数,建议和cpu总内核一致
    4. worker_processes  2;
    5. #error_log  logs/error.log;
    6. #error_log  logs/error.log  notice;
    7. #error_log  logs/error.log  info;
    8. #pid        logs/nginx.pid;
    9. events {
    10. #定义单个进程的最大连接数(实际最大连接数要除以2)
    11. worker_connections  1024;
    12. }
    13. #定义http服务器
    14. http {
    15. include       mime.types;#定义文件扩展名和文件类型映射表
    16. default_type  application/octet-stream;
    17. #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    18. #                  '$status $body_bytes_sent "$http_referer" '
    19. #                  '"$http_user_agent" "$http_x_forwarded_for"';
    20. #access_log  logs/access.log  main;
    21. sendfile        on;
    22. #tcp_nopush     on;
    23. #keepalive_timeout  0;
    24. keepalive_timeout  65;
    25. #gzip  on;
    26. #服务器的集群
    27. upstream  huangxiang.com {  #服务器集群名字
    28. #server   172.16.21.13:8081 weight=1;#服务器配置   weight是权重的意思,权重越大,分配的概率越大。
    29. #server   192.168.1.186:8081 weight=1;
    30. #server   172.16.1.14:8081 weight=2;
    31. #server   172.16.1.15:8081 weight=1;
    32. #server   172.16.1.15:80 weight=1;
    33. server    127.0.0.1:8011 weight=1;
    34. server    127.0.0.1:8012 weight=2;
    35. }
    36. #虚拟机主机配置
    37. server {
    38. listen       8010;#端口号
    39. server_name  localhost huangxiang.com;#域名可以有多个,多个用空格分开
    40. #charset koi8-r;
    41. #access_log  logs/host.access.log  main;
    42. #location / {
    43. #    root   html;
    44. #    index  index.html index.htm;
    45. #}
    46. location / {
    47. proxy_pass http://huangxiang.com;
    48. proxy_redirect default;
    49. }
    50. #error_page  404              /404.html;
    51. # redirect server error pages to the static page /50x.html
    52. #
    53. error_page   500 502 503 504  /50x.html;
    54. location = /50x.html {
    55. root   html;
    56. }
    57. # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    58. #
    59. #location ~ \.php$ {
    60. #    proxy_pass   http://127.0.0.1;
    61. #}
    62. # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    63. #
    64. #location ~ \.php$ {
    65. #    root           html;
    66. #    fastcgi_pass   127.0.0.1:9000;
    67. #    fastcgi_index  index.php;
    68. #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    69. #    include        fastcgi_params;
    70. #}
    71. # deny access to .htaccess files, if Apache's document root
    72. # concurs with nginx's one
    73. #
    74. #location ~ /\.ht {
    75. #    deny  all;
    76. #}
    77. }
    78. # another virtual host using mix of IP-, name-, and port-based configuration
    79. #
    80. #server {
    81. #    listen       8000;
    82. #    listen       somename:8080;
    83. #    server_name  somename  alias  another.alias;
    84. #    location / {
    85. #        root   html;
    86. #        index  index.html index.htm;
    87. #    }
    88. #}
    89. # HTTPS server
    90. #
    91. #server {
    92. #    listen       443 ssl;
    93. #    server_name  localhost;
    94. #    ssl_certificate      cert.pem;
    95. #    ssl_certificate_key  cert.key;
    96. #    ssl_session_cache    shared:SSL:1m;
    97. #    ssl_session_timeout  5m;
    98. #    ssl_ciphers  HIGH:!aNULL:!MD5;
    99. #    ssl_prefer_server_ciphers  on;
    100. #    location / {
    101. #        root   html;
    102. #        index  index.html index.htm;
    103. #    }
    104. #}
    105. }