Nginx 动静分离

Nginx 动静分离

一:概述

  • Nginx 的静态处理能力很强,但是动态处理能力不足,因此,在企业中常用动静态分离技术。

  • 针对 PHP 的动静分离:

  • 静态页面交给Nginx 处理

  • 动态页面交给PHP-FPM模块或 Apache处理

  • 在Nginx的配置中,是通过location 配置段配合正则匹配实现静态与动态页面的不同处理方式。

二:反向代理原理

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

三:实验过程

1、实验准备

一台centos7-12 ,作为 LAMP架构 (192.168.34.144)

一台centos7-2 ,作为 Nginx (192.168.34.143)

2、步骤
在centos7-12中:
(1)首先安装apache
[root@localhost ~]# yum install httpd httpd-devel -y
(2)允许防火墙通过
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=http
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=https
                              '持久化设置'       '公共区域'    '开启http和https' 
[root@localhost ~]# firewall-cmd --reload   ’加载防火墙‘
(3)安装mysql的分支 ----mariadb
[root@localhost ~]# yum install mariadb-server mariadb-libs mariadb-devel -y
[root@localhost ~]# systemctl start mariadb.service      ‘开启服务’
[root@localhost ~]# netstat -ntap | grep 3306        ‘查看是否能运行’
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      3489/mysqld      

[root@localhost ~]# mysql_secure_installation     ‘安全安装’
‘按回车 -- y -- 输密码 -- n -- n -- n -- y’

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rYyuwnbv-1577170421007)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1577167938210.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rkSbbZKK-1577170421009)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1577167973680.png)]

(4)安装php 插件
[root@localhost ~]# yum install php -y
[root@localhost ~]# yum install php-mysql -y    ‘建立php和mysql关联’
[root@localhost ~]# yum install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devdel php-bcmath -y         ‘可解析php和各种插件’
(5)创建php首页
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# ls
[root@localhost html]# vim index.php     ‘创建php首页’
<?php
   phpinfo();
?>
[root@localhost html]# systemctl start httpd.service      ‘开启服务’

LAMP 架构搭建好了,可以解析php

在centos7-2 中:
1、创建一个目录,挂载共享文件,再进行压缩
[root@nginx ~]# mkdir /abc
[root@nginx ~]# mount.cifs //192.168.10.29/share /abc
[root@nginx abc]# tar zxvf nginx-1.12.2.tar.gz -C /opt/
2、创建运行用户
[root@nginx opt]# cd nginx-1.12.2/
[root@nginx nginx-1.12.2]# useradd -M -s /sbin/nologin nginx     ‘创建运行用户’
3、安装环境包,再编译
[root@nginx nginx-1.12.2]# yum install pcre-devel zlib-devel gcc gcc-c++ -y       ‘安装环境包’
[root@nginx nginx-1.12.2]#./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
[root@nginx nginx-1.12.2]# make && make install
4、创建一个软链接和 nginx的启动脚本
[root@nginx nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin     '创建软链接 ,优化路径'
[root@nginx nginx-1.12.2]# vim /etc/init.d/nginx        ‘创建nginx的启动脚本’
#!/bin/bash
#chkconfig: 345 85 15
#description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/bginx.pid"
case "$1" in
  start)
        $PROG
        ;;
  stop)
        kill -s QUIT $(cat $PIDF)
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  reload)
        kill -s HUP $(cat $PIDF)
        ;;
  *)
        echo "Usage: $0 {star|stop|restart|reload}"
        exit 1
esac
exit 0
[root@nginx nginx-1.12.2]# chmod +x /etc/init.d/nginx     ‘给权限’
[root@nginx nginx-1.12.2]# chkconfig --add nginx      ‘添加到nginx列表中’
5、修改 Nginx 的配置文件,将PHP文件请求转发到 Apache 处理
[root@nginx nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf     ‘修改配置文件’

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d2JxAdGn-1577170421009)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1577170310117.png)]

6、有两种方式验证, 用elinks验证,直接在centos7-2中显示
[root@nginx nginx-1.12.2]# yum install elinks -y     ‘网页的验证,远程可查看字符界面网页’
[root@nginx nginx-1.12.2]# service nginx start      
[root@nginx nginx-1.12.2]# netstat -ntap | grep 80          ‘启动nginx’
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      41608/nginx: master 
[root@nginx nginx-1.12.2]# systemctl stop firewalld.service          ‘关闭防火墙’
[root@nginx nginx-1.12.2]# setenforce 0
[root@nginx nginx-1.12.2]# elinks http://192.168.34.143/       ‘输入虚拟主机的IP地址,会出现以下界面’

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-65j6Zwxa-1577170421010)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1577153367021.png)]

点击 OK ,再按 q ,点击yes
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l2G4gHgL-1577170421010)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\15

7、还可以在win10客户机上验证, 输入虚拟主机地址 192.168.34.143/index.html ,出现以下界面

(静态请求)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cGw4DnJh-1577170421011)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1577153639720.png)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值