Nginx动静分离理论和实验

Nginx动静分离

  • Nginx的静态处理能力很强,但是动态处理能力不足,因此,在企业中常用动静分离技术
  • 针对PHP的动静分离
    静态页面交给 Nginx处理
    动态页面交给 PHP-FPM模块或 Apache处理
  • 在 Nginx的配置中,是通过 ocation配置段配合正则匹配实现静态与动态页面的不同处理方式

反向代理的原理

  • Nginx不仅能作为Web服务器,还具有反向代理、负载均衡和缓存的功能
  • Nginx通过 proxy模块实现将客户端的请求代理至上游服务器,此时ngInx与上游服务器的连接是通过http协议进行的
  • Nginx在实现反向代理功能时的最重要指令为proxy pass,它能够并能够根据UR、客户端参数或其它的处理逻辑将用户请求调度至上游服务器

Nginx动静分离实验

实验需求

将配置 Nginx实现动静分离,对php页面的请求转发给LAMP处理,而静态页面交给Nginx处理,以实现动静分离

推荐步骤

LAMP服务器配置
1.用yum工具安装httpd服务

[root@promote ~]# yum -y install httpd httpd-devel

2.在公共区域设置允许http和https通过

[root@promote ~]# firewall-cmd --permanent --zone=public --add-service=http
[root@promote ~]# firewall-cmd --permanent --zone=public --add-service=https
[root@promote ~]# firewall-cmd --reload   ##重新加载防火墙
!

在这里插入图片描述

3.关闭防护系统启动apache服务

[root@promote ~]# setenforce 0
[root@promote ~]# systemctl start httpd

在这里插入图片描述
4. 安装轻量级的数据库工具mariadb

[root@promote ~]# yum -y install mariadb mariadb-server mariadb-libs mariadb-devel

在这里插入图片描述

[root@promote ~]# systemctl start mariadb    ##启动服务

5.设置mysql

[root@promote ~]# mysql_secure_installation 

在这里插入图片描述

Remove anonymous users? [Y/n] n        ##是否删除匿名用户
 ... skipping.
Disallow root login remotely? [Y/n] n      ##是否拒绝root进行远程登录 ... skipping.
Remove test database and access to it? [Y/n] n       ##是否删除测试数据库 ... skipping. 
Reload privilege tables now? [Y/n] y      ##是否决定重载权限列表 ... Success!

[root@promote ~]# yum -y install php     ##安装php
[root@promote ~]# yum -y install php-mysql   ##安装php依赖mysql的工具包

6.用yum安装php的插件包
[root@promote ~]# yum install -y php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath
7. 在首页中写入信息

[root@promote ~]# cd /var/www/html/
[root@promote html]# ls
[root@promote html]# vim index.php
<?php
phpinfo();
?>

8.重启httpd服务,访问呢网站192.168.148.135/index.php
在这里插入图片描述

Nginx虚拟机配置
1.启动另一台虚拟机改名为nginx,手工编译安装nginx

[root@promote ~]# setenforce 0
[root@promote ~]# iptables -F
[root@promote ~]# hostnamectl set-hostname nginx
[root@promote ~]# yum -y install gcc \ gcc-c++ \ make \ pcre-devel \ expat-devel \ perl \ zlib-devel \ pcre    ##安装环境包
[root@promote ~]# useradd -M -s /sbin/nologin nginx     ##创建用户管理
[root@promote ~]# ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --with-http_stub_status_module
make编译和make install       ##编译安装
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin     ##nginx命令执行路径优化
[root@nginx nginx-1.12.2]# vim /lib/systemd/system/nginx.service   ##配置启动脚本归systemctl管理
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile =/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/bin/kill -S HUP $MAINPID
ExecStop=/usr/bin/kill -S QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

[root@nginx nginx-1.12.2]# chmod 754 /lib/systemd/system/nginx.service    ##给予权限
[root@nginx nginx-1.12.2]# yum -y install elinks  ##安装网页管理工具
[root@nginx system]# systemctl start nginx   ##用systemclt去启动nginx

10.修改配置文件,将动态请求交给148.135的地址区处理

# proxy the PHP scripts to Apache listening on 127.0.0.1:80        
             #        
             location ~ \.php$ {            
             proxy_pass   http://192.168.148.135;        
             }         
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000   
  1. 重启服务,再次访问验证结果
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值