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. 【Linux】一步一步学Linux——Unix发展史(02)

    目录 00. 目录 01. 请参考Unix传奇 02. 03. 00. 目录 @ 本博客后面会更新 01. 请参考Unix传奇 链接: https://coolshell.cn/articles/23 ...

  2. 简单理解JavaScript原型链

    简单理解原型链 什么是原型 ? 我是这样理解的:每一个JavaScript对象在创建的时候就会与之关联另外一个特殊的对象,这个对象就是我们常说的原型对象,每一个对象都会从原型"继承" ...

  3. java使用poi操作word, 支持动态的行(一个占位符插入多条)和表格中动态行, 支持图片

    依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifa ...

  4. 解决webpack4.x使用autoprefixer 无效

    安装 npm i webpck webpack-cli style-loader postcss-loader -D 配置 webpack.config.js module: { rules: [{ ...

  5. [BZOJ3681]Arietta(可持久化线段树合并优化建图+网络流)

    暴力建图显然就是S->i连1,i->j'连inf(i为第j个力度能弹出的音符),j'->T连T[j]. 由于是“某棵子树中权值在某区间内的所有点”都向某个力度连边,于是线段树优化建图 ...

  6. dg搭建后oracle_redo不存在

    目的:在oracle 10.2.0.4 环境中,搭建oracle dg遇到 备库redo不存在的问题,另一位同事搭建oracle 11.2.0.4 dg在备库也遇到同样的问题,如下描述处理过程. 参考 ...

  7. vue 做的tabBar组件

    效果如下 调用 <tabbar :selected='selected'></tabbar> 组件 <template> <div class='tabbar ...

  8. 如何在SAP云平台ABAP编程环境里把CDS view暴露成OData服务

    Jerry 2016年在学习SAP CDS view时,曾经写过一个CDS view的自学系列,其中有一篇提到了一个很方便的注解: @OData.publish: true 加上这个注解的CDS vi ...

  9. Innodb学习

    一.并发控制 为什么要进行并发控制? 因为并发的任务会对同一个临界资源进行操作,如果不进行并发控制,可能导致不一致,故必须进行并发控制. 如何进行并发控制? 1.锁. 2.数据多版本. 施工ing.. ...

  10. CI,CD理解

    一.什么是CI,CD ​ 当我们在谈论现代的软件编译和发布流程的时候,经常会听到CI 和CD这样的缩写短语.CI很容易理解,就是持续集成. ​ 但是CD既可以指代码持续交付,也可理解为代码持续部署.C ...