实现前端调度器nginx收到请求,调度到后端Apache实现动静分离

Posted 吕正元

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现前端调度器nginx收到请求,调度到后端Apache实现动静分离相关的知识,希望对你有一定的参考价值。

  一、Apache服务器上安装httpd

yum install httpd -y

  二、生成包含IP地址的新页面

echo 192.168.1.4 > /var/www/html/index.html

  三、开启服务,并设置为开机自启动

systemctl start httpd
systemctl enable httpd

  四、测试访问本机IP地址

[17:13:26 root@apache ~]#curl 192.168.1.4
192.168.1.4

  五、通过nginx官网,获取最新的yum源

http://nginx.org/en/linux_packages.html#RHEL-CentOS

vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

  六、安装nginx

yum install nginx -y

  七、新建虚拟主机配置文件(IP地址192.168.1.5)

vim /etc/nginx/conf.d/test.conf
server {
        listen 80;
        server_name www.test.net;
        root /data/site1/;
        location / {
                proxy_pass http://192.168.1.4;

        }
        access_log /var/log/nginx/test_net.log ;
}

默认是当访问www.test.net ,其家目录为 /root/下的site1下的index.html

这里的location则表示当访问到192.168.1.5这台nginx服务器的根的时候,自动转发到https://192.168.1.4 上

  八、测试访问

[17:57:27 root@apache ~]#curl www.test.net
192.168.1.4  

  九、访问图片后缀的,调度到图片服务器上,访问api 调度到api 服务器上

        listen 80;
        server_name www.test.net;
        root /data/site1/;
        location ~.*\\.(jpg|png|jpeg)$ {
                proxy_pass http://192.168.1.4;

        }
        location /api {
                proxy_pass http://192.168.1.6;
        }
        access_log /var/log/nginx/test_net.log ;
}

  十、重启服务

nginx -s stop
nginx

  十一、在放置图片的服务器上,新建图片文件

cp /usr/share/backgrounds/morning.jpg /var/www/html/a.jpg

  十二、在另外一台用做存放api的服务器上,安装服务,并设置为开机自启动,并生成新的测试页面

1 yum install httpd -y
2 systemctl start httpd
3 systemctl enable httpd
4 mkdir /var/www/html/api
5 echo /var/www/html/api/192.168.1.6 > /var/www/html/api/index.html

  十三、测试访问图片

  十四、测试访问api

 

 注意:location /api{ proxy_pass http://192.168.1.6;}后不能加斜线,添加了斜线之后,当访问的api的时候,就会直接访问192.168.1.6的根目录下的文件,而不是访问192.168.1.6下的api,不加/会把api补在192.168.1.6/api

 

 

 如果显示502错误的话,则表示调度器和后端服务器没连接上,可能原因:调度器上的端口和后端服务器上的端口并不是同一个

504 用户将包发送给服务器,但服务器将包丢弃了

 

 

    

 

以上是关于实现前端调度器nginx收到请求,调度到后端Apache实现动静分离的主要内容,如果未能解决你的问题,请参考以下文章

Nginx调度算法——基于指定的key的hash表来实现对请求的调度

nginx-负载均衡

nginx反代varnish缓存服务器实现后端amp动静分离架构

04-LVS集群调度算法

nginx反代httpd,实现三种tomcat代理模型至后端的tomcat服务器,会话绑定的三种方式

nginx varnish