proxy client web1 web2
 
1.部署LNMP环境
1.1 部署nginx(前面已部署过)
1.2 部署mariadb
]# yum -y install mariadb mariadb-server mariadb-devel
]# systemctl start mariadb
]# systemctl enable mariadb 
]# mysql
1.3 部署php
]# yum -y install php php-mysql php-fpm
]# yum -y install php-fpm-5.4.16-42.el7.x86_64.rpm(自备)
]# systemctl start php-fpm
]# systemctl status php-fpm
]# systemctl enable php-fpm 
 
2.构建LNMP平台
2.1 查看php-fpm配置文件(实验中不需要修改该文件)
[root@proxy etc]# vim /etc/php-fpm.d/www.conf
[www]
listen = 127.0.0.1:9000    //PHP端口号
pm.max_children = 32       //最大进程数量
pm.start_servers = 15      //最小进程数量
pm.min_spare_servers = 5   //最少需要几个空闲着的进程
pm.max_spare_servers = 32  //最多允许几个进程处于空闲状态
2.2 修改Nginx配置文件支持php页面,并启动服务
]# vim /usr/local/nginx/conf/nginx.conf
location ~ \.php$ {
   root           html;
   fastcgi_pass   127.0.0.1:9000;
   fastcgi_index  index.php;
 # fastcgi_param  SCRIPT_FILENAME /scripts$fastcgi_script_name;
   include        fastcgi.conf;
   }
 
]# nginx -s reload
2.3 创建PHP测试页面,连接并查询MariaDB数据库
~]# vim /usr/local/nginx/html/test.php
<?php
$mysqli = new mysqli('localhost','root','123qqq...A','mysql');
if (mysqli_connect_error()){
    die('Unable to connect!'). mysqli_connect_error();
}
$sql = "select * from user";
$result = $mysqli->query($sql);
while($row = $result->fetch_array()){
    printf("Host:%s",$row[0]);
    printf("</br>");
    printf("Name:%s",$row[1]);
    printf("</br>");
}
?>
client测试:
 
3.地址重写
3.1 修改配置文件(访问a.html重定向到b.html)
]# vim /usr/local/nginx/conf/nginx.conf
... 
server_name  www.a.com;
  rewrite /a.html /b.html;
...
]# nginx -s reload
]# echo "aaa" > /usr/local/nginx/html/a.html
]# echo "bbb" > /usr/local/nginx/html/b.html
client测试:
]# firefox 192.168.4.5/a.html
]# firefox 192.168.4.5/b.html
3.2 访问a.html重定向到b.html(跳转地址栏)
]# vim /usr/local/nginx/conf/nginx.conf
...
server_name  www.a.com;
   rewrite /a.html /b.html redirect;
...
]# nginx -s reload
client测试:
]# firefox 192.168.4.5/a.html
3.3 修改配置文件(访问192.168.4.5的请求重定向至www.baidu.com)
]# vim /usr/local/nginx/conf/nginx.conf
...
server_name  www.a.com;
  rewrite ^/ http://www.baidu.com/;
...
]# nginx -s reload
]# firefox 192.168.4.5
3.4 修改配置文件(访问192.168.4.5/下面子页面,重定向至www.baidu.com/下相同的页面)
]# vim /usr/local/nginx/conf/nginx.conf
...
server_name  www.a.com;
  rewrite ^/(.*)$ http://www.baidu.com/$1;
...
]# nginx -s reload
lient测试:
]# firefox 192.168.4.5/a.html
3.5 修改配置文件(实现curl和火狐访问相同链接返回的页面不同)
]# echo "I am Normal page" > /usr/local/nginx/html/test.html
]# mkdir -p /usr/local/nginx/html/firefox/
]# echo "firefox page" > /usr/local/nginx/html/firefox/test.html
]# vim /usr/local/nginx/conf/nginx.conf
...
location / {
   root   html;
   index index.php index.html index.htm;
    }
 
if ($http_user_agent ~* firefox) {
             
    rewrite ^(.*)$ /firefox/$1;
    }
...
]# nginx -s reload
client 测试:
**********************
地址重写格式【总结】
rewrite 旧地址 新地址 [选项];
last 不再读其他rewrite
break 不再读其他语句,结束请求
redirect 临时重定向
permament 永久重定向
**********************

十九.部署LNMP环境、构建LNMP平台、地址重写的更多相关文章

  1. JBoss 系列十九:使用JGroups构建块RspFilter对群组通信返回消息进行过滤

    内容概述 本部分说明JGroups构建块接口RspFilter,具体提供一个简单示例来说明如何使用JGroups构建块RspFilter对群组通信返回消息进行过滤. 示例描述 我们知道构建块基于通道之 ...

  2. 【第五课】LNMP环境的入门

    目录 一. LNMP环境介绍 二.Mysql的二进制免编译安装 三.PHP 7.2.5编译部署 四.Nginx的编译安装 五.YUM安装Nginx 一. LNMP环境介绍 LNMP(Linux + N ...

  3. Spring Boot 2.X(十九):集成 mybatis-plus 高效开发

    前言 之前介绍了 SpringBoot 整合 Mybatis 实现数据库的增删改查操作,分别给出了 xml 和注解两种实现 mapper 接口的方式:虽然注解方式干掉了 xml 文件,但是使用起来并不 ...

  4. 高级运维(三):部署Lnmp环境、构建Lnmp平台、地址重写

    一.部署LNMP环境 目标: 安装部署Nginx.MariaDB.PHP环境 1> 安装部署Nginx.MariaDB.PHP.PHP-FPM: 2> 启动Nginx.MariaDB.FP ...

  5. centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课

    centos shell编程5  LANMP一键安装脚本 lamp  sed  lnmp  变量和字符串比较不能用-eq  cat > /usr/local/apache2/htdocs/ind ...

  6. docker:Dockerfile构建LNMP平台

    docker:Dockerfile构建LNMP平台   1.dockerfile介绍  Dockerfile是Docker用来构建镜像的文本文件,包含自定义的指令和格式.可以通过docker buil ...

  7. Docke--Dockerfile 构建LNMP环境

    Dockerfile 构建nginx并结合php 1.构建基础镜像 先构建一个基础镜像,添加repo的环境和编译的环境,而centos镜像就是初始的官方镜像,后面构建php.nginx.mysql都使 ...

  8. 原lnmp环境服务器升级为mysql+nginx+php单个docker容器构建的lnmp环境

    时间:2018年2月 一.项目背景 我单位现web服务架构为lnmp环境,服务器软件.硬件升级部署难:同时开源软件日新月异,考虑到技术升级,领导决定服务器架构整体升级为容器架构,维护性.移植性强. 二 ...

  9. docker中基于centos镜像部署lnmp环境 php7.3 mysql8.0 最新版

    Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源. Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux机器上 ...

随机推荐

  1. Redis客户端、服务端的安装以及命令操作

    目的: redis简介 redis服务端安装 redis客户端安装 redis相关命令操作 redis简介 官网下载(https://redis.io/) Redis 是完全开源免费的,遵守BSD协议 ...

  2. Docker 学习笔记(三):数据、网络、系统权限、docker-compose

    一.Docker 数据管理 Docker 持久化数据有两种方式: 使用数据卷:更安全,和主机耦合度低 将主机的目录挂载到容器中:更方便,主机和容器可以很方便地交换数据. 数据卷相关的命令: docke ...

  3. vscode之万里挑一

    前置 我们经常在工作区中打开很多项目文件夹,找起来比较麻烦. 步骤

  4. CentOS 7忘记了root密码解决方案

    1.启动系统,在选择进入系统的界面按“e”进入编辑页面 2.按向下键,找到以“Linux16”开头的行,在该行的最后面输入“init=/bin/sh”  3.按“ctrl+X”组合键进入单用户模式 4 ...

  5. pip源设置为国内源

    windows系统步骤如下: (1)打开文件资源管理器(文件夹地址栏中) (2)地址栏上面输入 %appdata% (3)在这里面新建一个文件夹 pip (4)在pip文件夹里面新建一个文件叫做 pi ...

  6. vue组件间的数据传递

    父组件向子组件传递数据 在 Vue 中,可以使用 props 向子组件传递数据.   App.vue HelloWorld.vue 在子组件部分: 如果需要从父组件获取 logo 的值,就需要使用 p ...

  7. css中哪些属性会脱离文档流

    一共有三个属性会使元素脱离文档流: (1)浮动 (2)绝对定位 (3)固定定位 元素脱离文档流会导致父元素高度塌陷,要修复高度塌陷问题,可以将子元素与父元素放在同一个BFC中

  8. switch语句中 参数的类型

    switch可作用于char byte short int switch可作用于char byte short int对应的包装类 switch不可作用于long double float boole ...

  9. SVM-支持向量机总结

    一.SVM简介 (一)Support Vector Machine 支持向量机(SVM:Support Vector Machine)是机器学习中常见的一种分类算法. 线性分类器,也可以叫做感知机,其 ...

  10. HttpContext & HttpRuntime

    问题引出 HttpContext.Current.Cache .VS. HttpRuntime.Cache HttpRuntime.Cache:获取当前应用程序的Cache HttpContext.C ...