1、动静分离工作原理
1.由nginx服务器作为调度器,接收客户端的访问请求。
2.nginx分析判断访问请求的头部信息
3.如果访问的页面文件是静态页面文件如html,htm等,则由nginx服务自己处理,并给客户端返回结果。
4.如果访问的页面文件是动态页面文件如php,则由nginx转发给Apache处理,Apache返回结果给nginx服务器,nginx服务器再将结果返回给客户端,
5.如果访问的页面文件是脚本文件如jsp,则由nginx转发给tomcat处理,tomcat返回结果给nginx服务器,nginx服务器再将结果返回给客户端。
2、部署动静分离架构
1.根据需求,绘制拓扑图。
2.服务器基本配置部署
nginx服务器:ip地址 192.168.10.1 安装nginx软件
httpd1服务器:IP地址 192.168.10.2 安装httpd php
httpd2服务器:IP地址 192.168.10.3 安装httpd php
tomcat服务器:IP地址 192.168.10.4 安装tomcat
mysql服务器: IP地址 192.168.10.5 安装mariadb mariadb-server mariadb-devel
文件服务器: IP地址 192.168.10.6 配置NFS服务
3.安装部署nginx服务器
4.安装配置httpd1服务器:
yum -y install httpd php*
vim /etc/httpd/conf/httpd.conf
修改:
DirectoryIndex index.php index.html
添加:
AddType application/x-httpd-php .php
创建测试页面:
vim /var/www/html/index.php
添加:
$link=mysqli_connect('192.168.10.5','root','123.com');
if($link) echo "恭喜你,数据库连接成功啦!!";
?>
5.httpd2配置同httpd1
6.安装配置数据库
yum -y install mariadb mariadb-server mariadb-devel
[root@localhost ~]# systemctl restart mariadb
[root@localhost ~]# mysqladmin -u root password 123.com
[root@localhost ~]# mysql -u root -p123.com
MariaDB [(none)]> grant all on *.* to 'root'@'192.168.10.%' identified by '123.com';
7.安装配置tomcat
8.配置nfs服务器
9.在nginx,httpd1,httpd2,tomcat服务器上挂载共享目录
nginx: mount 192.168.10.6:/data /usr/local/nginx/html/
httpd: mount 192.168.10.6:/data /var/www/html
tomcat: mount 192.168.10.6:/data /myweb
10.配置nginx的动静分离
vim /usr/local/nginx/conf/nginx.conf
在server选项中添加:
location ~ \.php$ {
proxy_pass http://192.168.10.2:80;
}
location ~ \.jsp$ {
proxy_pass http://192.168.10.4:8080;
}