本文共 4367 字,大约阅读时间需要 14 分钟。
什么是Ngnix?
Nginx是一个http服务器。是一个使用c语言开发的高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
为什么要配置Nginx的负载均衡?
负载均衡是 Nginx常用的一个功能,当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃。为了避免服务器崩溃,让用户有更好的体验,我们通过负载均衡的方式来分担服务器压力。
我们可以建立很多很多服务器,组成一个服务器集群,当用户访问网站时,先访问一个中间服务器,在让这个中间服务器在服务器集群中选择一个压力较小的服务器,然后将该访问请求引入该服务器。
如此以来,用户的每次访问,都会保证服务器集群中的每个服务器压力趋于平衡,分担了服务器压力,避免了服务器崩溃的情况。负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。
主机名 | IP | 服务 |
---|---|---|
server1 | 172.25.79.1 | nginx |
server2 | 172.25.79.2 | apache |
server3 | 172.25.79.3 | apache |
foundation79 | 172.25.79.250 | 用于测试 |
[root@server1 ~]# tar zxf nginx-1.15.7.tar.gz
[root@server1 ~]# cd nginx-1.15.7[root@server1 nginx-1.15.7]# vim src/core/nginx.h14 #define NGINX_VER "nginx/" ##隐藏版本号,防止黑客攻击
[root@server1 nginx-1.15.7]# vim auto/cc/gcc 171 # debug172 #CFLAGS="$CFLAGS -g" ##注释掉(关闭debug日至)
[root@server1 ~]# cd nginx-1.15.7[root@server1 nginx-1.15.7]# ./configure --prefix=/usr/local/nginx --with-threads --with-file-aio --with-http_ssl_module --with-http_stub_status_module [root@server1 nginx-1.15.7]# make && make install
[root@server1 nginx-1.15.7]# cd /usr/local/nginx/conf/ ##主配置文件的位置[root@server1 conf]# vim nginx.conf 2 user nginx nginx; ##使用户为nginx用户进行管理 3 worker_processes 4; ##nginx的工作进程数,一般设置为cpu核数 ,auto为自动识别cpu核数,但是一般不推荐使用 4 worker_cpu_affinity 0001 0010 0100 1000; 12 events { 13 worker_connections 65535; # 进程最大连接数 14 } 17 http { 18 upstream westos{ 19 server 172.25.79.2:80; # 后端服务器server2 20 server 172.25.79.3:80; # 后端服务器server3 21 } 22 include mime.types; 23 default_type application/octet-stream;##在文章最后一个}前面添加120 server { 121 listen 80; ### nginx监听80端口122 server_name www.westos.org; # 访问域名www.westos.org123 124 location / { 125 proxy_pass http://westos; #访问上边的虚拟主机126 }127 }
##首先要进入nginx命令的位置,如下[root@server1 sbin]# pwd/usr/local/nginx/sbin ##检查语法错误[root@server1 sbin]# ./nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful ##显示成功##开启nginx[root@server1 sbin]# ./nginx
[root@server2 bin]# yum install httpd -y[root@server2 bin]# /etc/init.d/httpd start[root@server2 ~]# cd /var/www/html[root@server2 html]# vim index.htmlserver2[root@server3 bin]# yum install httpd -y[root@server3 bin]# /etc/init.d/httpd start[root@server3 ~]# cd /var/www/html/[root@server3 html]# vim index.htmlserver3
9.在测试主机中添加解析
[root@foundation79 ~]# vim /etc/hosts172.25.79.1 www.westos.org
10.测试:
显示server2,server3轮询被访问到
如果server2关闭httpd,则只能访问到server3
配置文件解析:
[root@server1 sbin]# pwd/usr/local/nginx/sbin[root@server1 sbin]# ./nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@server1 sbin]# ./nginx -s reload
[root@server1 sbin]# pwd/usr/local/nginx/sbin[root@server1 sbin]# ./nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@server1 sbin]# ./nginx -s reload
[root@server1 ~]# yum install -y httpd[root@server1 ~]# /etc/init.d/httpd start[root@server1 ~]# cd /usr/local/nginx/html/[root@server1 html]# ls50x.html index.html[root@server1 html]# mv index.html index.html.back ##可以将默认发布文件备份[root@server1 html]# vim index.html网页正在维护中...
[root@server2 html]# /etc/init.d/httpd stop[root@server2 html]# /etc/init.d/httpd stop
转载地址:http://cghrn.baihongyu.com/