什么是负载均衡?
当一台服务器的单位时间内的访问量越大的时候,服务器的压力会越大。当一台服务器压力大得超过自身的承受能力的时候,服务器会崩溃。为了避免服务器崩溃,让用户有更好地体验,我们通常通过负载均衡的方式来分担服务器的压力。那么什么是负载均衡呢?是这样,我们可以建立很多很多个服务器,这些服务器组成一个服务器集群,然后,当用户访问我们网站的时候,先访问一个中间服务器,再让这个中间服务器在服务器集群中选择一个压力较小的服务器,然后将该访问请求引入该选择的服务器。这样,用户的每次访问,都会保证服务器集群中的每个服务器的压力趋于平衡,分担了服务器压力,避免了服务器崩溃的情况。
什么是反向代理?
我们有时候,用自己的计算机A想访问国外的某个网站B,但是访问不了,此时,有一台中间服务器C可以访问国外的网站B,那么,我们可以用自己的电脑访问服务器C,通过C来访问B这个网站。那么这个时候,服务器C称为代理服务器,这种访问方式叫做正向代理。正向代理有一个特点,就是我们明确知道要访问哪个网站。再如,当我们有一个服务器集群,并且服务器集群中的每台服务器的内容一样的时候,同样我们要直接从个人电脑访问到服务器集中的服务器的时候无法访问,且此时第三方服务器能访问集群,这个时候,我们通过第三方服务器访问服务器集群的内容,但是此时我们并不知道是哪一台服务器提供的内容,此时的代理方式称为反向代理。
kill -HUP pid,则是告诉 nginx,从容地重启 nginx,我们一般用这个信号来重启 nginx,或重新加载配置,因为是从容地重启,因此服务是不中断的。
这里我们提到的压缩功能指的是gzip压缩技术。通过gzip压缩技术,可以使原来的网页的内容大小压缩成原来的30%,这样,用户在访问网页的时候,由于传输的内容比原内容小很多,故而访问速度会快很多。Nginx服务器支持gzip压缩技术,但是,需要进行配置。下面我们通过实例来讲解一下Nginx中压缩功能的配置。
gzip_min_length 1k; //最小压缩大小[小于1K的文件不适合gzip压缩]
gzip_buffers 4 16k; //压缩内存大小 4*16k
gzip_http_version 1.1; //压缩的http版本
gzip_vary on; //判断浏览器是否支持gzip压缩技术
server {
# 监听 80 端口
listen 80;
autoindex on;
server_name www.jaydenmall.com;
access_log /usr/local/nginx/logs/access.log combined;
index index.html index.htm index.jsp index.php;
if ( $query_string ~* ".*[\;'\<\>].*" ){
return 404;
}
location / {
# 反向代理到 8080 端口
proxy_pass http://127.0.0.1:8080;
add_header Access-Control-Allow-Origin *;
}
}