短视频网站开发,网页怎么做才美观,北京建设工程网,装修平台排行榜什么是动静分离为了提高网站的响应速度#xff0c;减轻程序服务器#xff08;apachephp#xff0c;nginxphp等#xff09;的负载#xff0c;对于静态资源比如图片#xff0c;js#xff0c;css#xff0c;html等静态文件#xff0c;我们可以在反向代理服务器中设置减轻程序服务器apachephpnginxphp等的负载对于静态资源比如图片jscsshtml等静态文件我们可以在反向代理服务器中设置将访问不同类型的资源分别调度到后端不同服务器组这样客户端请求一个静态资源时代理服务器将请求代理到静态资源服务器组。用户请求的动态文件比如php,jsp则转发给后端php服务器或tomcat应用服务器处理这就是动静分离。这也是反向代理服务器的一个重要的作用。本文的动静分离主要是通过nginxhttpd和phpnginx来实现其中一台nginx作为前端反向代理服务器负责分离用户访问的请求httpdphp处理php的动态请求另外一台nginx处理图片、html、JS、CSS等静态文件。基础知识了解完后咱们来具体实践一下动静分离的感觉。。环境介绍服务器名称系统类型预装的软件ip地址域名nginx代理服务器Centos7.5nginx192.168.2.221www.aa1.comhttpdphp动态解析服务器Centos7.5httpdphp192.168.2.222www.aa2.com静态资源服务器Centos7.5nginx192.168.2.225www.aa5.com 1、代理服务器 服务Nginx并配置代理与动静分离到后端两台动态与静态服务器上 2、动态服务器 服务httpd、PHP负责处理客户端请求php动态页面 3、静态服务器 服务nginx负责处理客户端请求的图片、js、css、html等静态资源配置过程一、配置前的初始配置配置好ip地址、关闭防火墙、selinux、配置hosts解析文件使用虚拟主机的不同域名实现各主机互访这个步骤三个主机都操作我只操作一个[rootcentos01 /]# systemctl stop firewalld
[rootcentos01 /]# setenforce 0
[rootcentos01 /]# vim /etc/hosts
192.168.2.221 www.aa1.com
192.168.2.222 www.aa2.com
192.168.2.225 www.aa5.com二、给各服务器安装需要的软件代理服务器安装nginx软件[rootcentos01 /]# yum install -y nginxhttpdphp服务器安装软件[rootcentos02 /]# yum install -y php php-mysql php-mbstring php-gd php-common httpd静态服务器安装软件[rootcentos03 /]# yum install -y nginx三、各服务器配置参数配置httpdphp服务器 1.配置httpd支持php解析添加index.php主页支持添加在httpd配置调用php模块[rootcentos02 /]# vim /etc/httpd/conf/httpd.conf
IfModule log_config_moduleLogFormat %{X-Real-IP}i %l %u %t \%r\ %s %b \%{Referer}i\ \%{User-Agent}i\ proxylog ##代理的请求日志格式CustomLog logs/access_log proxylog ##调用代理的日志格式显示真实客户端ip地址默认日志只显示代理服务器ip
/IfModule
IfModule dir_moduleDirectoryIndex index.php index.html
/IfModule
...略AddType application/x-httpd .php
...略LoadModule php5_module modules/libphp5.so 2.在网站根目录新建一个php测试页将httpd服务加入开启自启然后启动httpd服务[rootcentos02 /]# vim /var/www/html/index.php
?php
phpinfo();
?
[rootcentos02 /]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[rootcentos02 /]# systemctl start httpd 3.使用客户端添加hosts解析浏览器访问http://www.aa2.com 验证php解析是否正常配置nginx代理服务器 1.新建一个虚拟主机配置文件添加代理服务器配置参数[rootcentos01 /]# vim /etc/nginx/conf.d/proxy.conf
server {listen 80;server_name www.aa1.com;
#设置真实客户端的ip地址proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#匹配php请求将请求转发到动态服务器组location ~* \.php$ {proxy_pass http://www.aa2.com;}
#匹配直接访问流量将请求转发到动态服务器组location / {proxy_pass http://www.aa2.com;}
#匹配以静态资源后缀结尾的将请求转发到静态服务器组location ~* \.(png|jpg|jpeg|html|htm|js|css|xml)$ {proxy_pass http://www.aa5.com;}
} 2.检查nginx配置文件语法是否正确并启动nginx代理服务[rootcentos01 /]# nginx -t
[rootcentos01 /]# nginx
[rootcentos01 /]# ss -tnl | grep 80 3.使用客户端访问代理服务器域名www.aa1.com验证动态资源反代是否成功静态服务器配置 1.新建静态web虚拟主机配置静态资源网站根目录配置访问日志格式使用proxy格式显示真实的客户端ip地址[rootlocalhost /]# vim /etc/nginx/conf.d/static.conf
server {listen 80;server_name www.aa5.com;access_log /var/log/nginx/accecc.log proxy;location / {root /web/;}
} 2.修改静态服务器主配置文件添加一个proxy日志格式名称一定和上面一致测试配置文件语法是否正确启动nginx服务[rootlocalhost /]# vim /etc/nginx/nginx.conf
http {
...略log_format proxy $http_x_forwarded_for - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for;
...略
}
[rootlocalhost /]# nginx -t
[rootlocalhost /]# nginx 3.创建静态网站根目录新建一个静态页面文件[rootlocalhost /]# mkdir /web
[rootlocalhost /]# vim /web/aa5.html
h1This is static server resources h1最后的结果验证 方法一 1.使用客户端访问http://www.aa1.com/index.php或者直接访问主页结果反馈的是httpdphp服务器的php信息页面 2.客户端访问代理服务器http://www.aa1.com/aa5.html的静态html页面结果返回的是静态服务器上面的静态资源网页httpd服务器没有 方法二搭建phpMyAdmin网站程序验证动静分离 1.将phpMyAdmin的网站源码上传至httpd网站根目录并解压然后客户端访问代理服务器http://www.aa1.com/查看结果可以看到php页面可以访问静态图片无法正常显示 2.将phpMadmin源码上传到静态服务器网站根目录然后再次访问代理服务器的www.aa1.com网页查看结果可以发现页面已经显示正常 转载于:https://blog.51cto.com/13777759/2396984