#Linux服务器的配置、维护、环境搭建和安全配置之四nginx反向代理(nginx -->apche)
//nginx中提供静态资源服务,假设/var/www/html是静态资源所在的文件夹,那么可以通过修改nginx的配置文件处理这些静态资源。
//在 /etc/nginx/conf.d/default.conf中增加代码
//加载静态资源
location /asset {
root /var/www/html;
index index.html;
}
//location还支持正则表达式,可以用正则表达式来匹配html、css、js、png、jpg、gif、ico这些为扩展名的请求:
location ~* \.(html|css|js|png|jpg|gif|ico)$ {
root /var/www;
}
反向代理:代理服务器将对应的请求转发到应用服务器处理然后将应用服务器的响应内容返回给客户端。
- 通过配置location可以将客户端请求转发到配置的地址(应用服务器),通过nginx把客户端请求接受到 然后发到apache服务器(tomcat服务器)上
location / {
#转发的应用服务器路径
proxy_pass http://localhost:81;
}
- nginx负载均衡
当请求量过大的时,一台应用服务器显然是不能满足需求的,所以就需要多台应用服务器来实现负载均衡。
#在/etc/nginx/conf.d/default.conf中配置如下代码
#upstream中weight表示weight表示权重,权重越大,请求转发到这个地址的概率就越大。
upstream local_servers {
server 192.168.1.180:81 weight=1;
server 127.0.0.1:81 weight=1;
}
location / {
proxy_pass http://local_servers; //转发的应用服务器路径
proxy_set_header Host $host; // $host就是nginx代理服务器
proxy_set_header X-Real-IP $remote_addr; //客户端真是ip
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off; //代理缓存删除
}
注意需要把当前nginx中对php的设置注释掉才可以