部署LNMP平台和相关的实验

该实验分为四个部分,实验一为搭建LNMP平台,实验二为测试能否解析php的文件

和连接数据库的效果,实验三为实现地址重写的功能,实验四为不同的浏览器,给出不同样式的页面

实验一:部署LNMP环境

一、目标

安装部署Nginx、MariaDB、PHP环境

  • 安装部署Nginx、MariaDB、PHP、PHP-FPM;
  • 启动Nginx、MariaDB、FPM服务;
  • 并测试LNMP是否工作正常。

二、各软件的安装

1、安装源码包安装时需要的依赖包

yum -y install gcc openssl-devel pcre-devel zlib-devel

2、源码安装nginx

useradd -s /sbin/nologin nginx              //添加帐号和组

tar -xf nginx-1.8.0.tar.gz                     //解压源码包

cd nginx-1.8.0/                                  //进入解压后的目录

./configure \

> -prefix=/usr/local/nginx \          //指定安装路径

> -user=nginx \                         //指定用户名

> -group=nginx \                      //指定用户组

> -with-http_ssl_module          //安装安全模块

make  && make install                    //编译和安装

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/   //做软链接,方便服务启动

3、安装mariadb

yum –y install   mariadb   mariadb-server   mariadb-devel

mariadb-devel     //指的是包含开发首要的文件和一些静态库

4、安装php和php-fpm

yum –y  install  php   php-mysql     //安装php解释器和连接mysql的工具

rpm    -ivh php-fpm-5.4.16-36.el7_1.x86_64.rpm    //FastCGI进程管理器

5、启动三个服务

nginx                                  //启动nginx服务

systemctl start mariadb      //启动mariadb数据库

systemctl start php-fpm      //启动fastcgi进程管理器

实验二、构建LNMP平台

一、目标

沿用实验一,通过调整Nginx服务端配置,实现以下目标:

  1. 配置Fast-CGI支持PHP网页
  2. 创建PHP测试页面,测试使用PHP连接数据库的效果

二、方案

使用2台RHEL7虚拟机,其中一台作为LNMP服务器(192.168.4.103)、

另外一台作为测试用的Linux客户机(192.168.4.101)

Nginx结合FastCGI技术即可支持PHP页面架构,因此本案例,需要延续实验一的实验内容

通过修改Nginx及php-fpm配置文件实现对PHP页面的支持

三、实施步骤

1、创建并修改php-fpm配置文件

  1. [www]
  2. listen = 127.0.0.1:9000                  //php的监听端口
  3. listen.allowed_clients = 127.0.0.1   //
  4. user = apache
  5. group = apache
  6. pm = dynamic                              //进程管理方式为动态
  7. pm.max_children = 50                  //最大进程数
  8. pm.start_servers = 5                   //最小进程数
  9. pm.min_spare_servers = 5           //最少需要几个空闲着的进程
  10. pm.max_spare_servers = 35         //最多允许几个进程处于空闲状态

    重启服务

2、修改Nginx配置文件并启动服务

  1. location / {
  2. root   html;
  3. index  index.php  index.html   index.htm;
  4. }
  5. location  ~  \.php$  {
  6. root           html;
  7. fastcgi_pass   127.0.0.1:9000;   //把找到的页面给php来解析
  8. fastcgi_index  index.php;
  9. include        fastcgi.conf;     //包含的文件,此处需修改
  10. }

    重启服务

3、创建PHP测试页面,来测试是否能解析成功

  1. [[email protected] ~]# vim /usr/local/nginx/html/test1.php
  2. <?php
  3. $i="This is a test Page";
  4. echo $i;
  5. ?>

4、创建PHP测试页面,连接MariaDB数据库

<?php

$links=mysql_connect("localhost","root","");

if($links){

echo "link mysqldb ok";

}

else{

echo "link mysqldb no";

}

?>

5、创建PHP测试页面,连接并查询MariaDB数据库

<?php

$mysqli = new mysqli('localhost','root','','mysql');

if (mysqli_connect_errno()){

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>");

}

?>

日志文件的两个地址:   /usr/local/nginx/logs/error.log       /var/log/php-fpm/error.log

实验三、地址重写

一、实验目标

沿用实验一,通过调整Nginx服务端配置,实现以下目标:

  1. 所有访问a.html的请求,重定向到b.html;
  2. 所有访问192.168.4.103的请求重定向至www.baidu.com;
  3. 所有访问192.168.4.103/下面子页面,重定向至www.baidu.com/下相同的页面;
  4. 实现curl访问不同的页面。

二、方案

关于Nginx服务器的地址重写,主要用到的配置参数是rewrite:

rewrite  旧地址或文件(支持正则表达式)新地址或文件   [选项];

三、实施步骤

步骤一:修改配置文件(访问a.html重定向到b.html)

1、修改Nginx服务配置,只需要修改一行:

  1. server {
  2. listen       80;
  3. server_name  localhost;
  4. location / {
  5. root   html;
  6. index  index.html index.htm;
  7. rewrite /a.html  /b.html;       //访问a.html页面时自动跳转到b.html
  8. }
  9. }

2、创建两个不同的页面文件

3、重新加载服务,去客户端测试

步骤二:修改配置文件(访问192.168.4.5的请求重定向至www.baidu.com)

1、修改Nginx服务配置

  1. server {
  2. listen       80;
  3. server_name  www.test.com;
  4. rewrite    ^/      http://www.baidu.com/;   //    ^/表示以/开头的所有,
  5. 即不管访问www.test.com网站都会跳转到www.baidu.com
  6. location / {
  7. root   html;
  8. index  index.html index.htm;
  9. }
  10. }

2、重新加载配置文件,去客户端测试

步骤三:修改配置文件(访问www.test.com/下面子页面,重定向至www.baidu.com/下相同的页面)

1、修改Nginx服务配置

  1. server {
  2. listen       80;
  3. server_name  www.test.com;
  4. rewrite ^/(.*) http://www.baidu.com/$1;   //前面括号里面的时正则表达式,$1复制前面的内容
  5. location / {
  6. root   html;
  7. index  index.html index.htm;
  8. }
  9. }

2、重新加载文件,去客户端测试

实验四、不同浏览器得到不同样式的页面

其它同上,只需要在配置文件里面加一个判断语句

if ($http_user_agent ~* firefox){     //如果里面有firefox字段,

rewrite ^/(.*)   /curl/$1;             //跳转页面

}

其它浏览器走默认的

原文地址:http://blog.51cto.com/453412/2058898

时间: 2024-11-05 16:41:09

部署LNMP平台和相关的实验的相关文章

脚本_部署LNMP平台

#!bin/bash#功能:部署LNMP平台,实际运行脚本时,需要去除备注.#作者:liusingbonfunction menu {                //定义函数menu         clear         echo " ##############----Menu----##############"         echo "# 1. Install Nginx"         echo "# 2. Install MySQ

41.部署LNMP平台源码

源码部署LNMP v 环境需求:关闭防火墙,设置静态IP地址,部署YUM库 # systemctl stop firewalld                  #关闭firewalld防火墙 # systemctl disable firewalld.service           #禁止firewalld服务自启 # sed -i -e 's|SELINUX=enforcing|SELINUX=disabled|' /etc/selinux/config  #关闭SELINUX # s

Centos6部署LNMP平台(二)

[本文档所介绍的内容适用于公司测试/生产常见的php,HTML等web环境部署,即常见的LAMP/LNMP环境部署] 上一小结我们介绍关于LNMP的部署安装,但LNMP的配置还有一个很重要的部分,就是nginx主配置文件nginx.conf的配置,下面就讲讲关于nginx的主配置文件(nginx.conf)的相关参数介绍 如下所示:为nginx主配置文件:nginx.conf参考模板 #user  nobody; user nginx ;   //指定nginx服务的运行账号       wor

Centos6部署LNMP平台(一)

[本文档所介绍的内容适用于公司测试/生产常见的php,HTML等web环境部署,即常见的LAMP/LNMP环境部署] 一:LAMP环境部署前准备: 1.1相关软件以及系统 系统要求:Centos 6.0以上 (64位) 相关中间件:Nginx: 1.6.0 以上   php:版本5.5  mysql-5.5 .25 1.2相关系统依赖包安装检查准备 1.2.1 检查系统自带httpd,mysql是否安装 # rpm -qa | grep httpd  # rpm -qa | grep mysql

Docker compose 一键部署LNMP平台

docker-compose.yml version: '3' services: nginx: hostname: nginx build: context: ./nginx dockerfile: Dockerfile ports: - 80:80 links: - php:php-cgi volumes: - ./wwwroot:/usr/local/nginx/html php: hostname: php build: ./php links: - mysql:mysql-db vol

老司机教你使用shel脚本15分钟部署LNMP

防伪码:我喜欢出发,只为到达的地方都属于昨天!          老司机教你使用shel脚本15分钟部署LNMP 一.环境简介 1.LNMP,顾名思义,就是Linux系统下Nginx+MySQL+PHP的一种网站服务器架构. 2.Linux是目前最流行的免费操作系统,代表版本有debian.centos.fedora.gentoo等, 今天我们使用CentOS-6.5作为LNMP架构的基础. 3.Nginx是一个高性能的HTTP和反向代理服务器,其性能稳定.功能丰富.运维简单.处理静态文件速度快

【中级篇】Linux下部署LNMP架构及应用

部署LNMP架构及应用 1.          实验需求: 1)     搭建Nginx 2) 构建PHP运行环境 3) 搭建MySQL 数据库 2.          实验环境: Linux服务器系统版本:Red Hat Enterprise Linux 6.5  IP:192.168.10.30 WIN7系统客户机: IP: 192.168.10.1 3.      实验步骤: 基本安装操作: 1.搭建Nginx 配置: 这里要把光盘挂载到yum源里 再次执行配置的参数: 这时可能还会有报错

Puppet基于Master/Agent模式实现LNMP平台部署

前言 随着IT行业的迅猛发展,传统的运维方式靠大量人力比较吃力,运维人员面对日益增长的服务器和运维工作,不得不把很多重复的.繁琐的工作利用自动化处理.前期我们介绍了运维自动化工具ansible的简单应用,本期带来的是运维自动化神器puppet基于Master/Agent模式实现LNMP平台部署. Puppet 简介 Puppet是基于ruby语言开发的一种Linux.Unix.Windows平台的集中配置管理系统,可以C/S模式或独立运行,使用自有的puppet描述语言,可管理配置文件.用户.c

LNMP平台部署及应用

LAMP平台应该是目前应用最为广泛的网站服务器架构,但随着Nginx在企业中的使用越来越多,LNMP(或LEMP)架构也受到越来越多Linux系统工程师的青睐,其中"E"来自于Nginx的发音[engine x] 构建LNMP网站平台 构建LNMP平台需要Linux服务器.Nginx服务器.MySQL数据库.PHP解析环境,具体方法和LAMP差不多,Nginx服务器的搭建方法上篇博客已经介绍了,下面以安装好的Nginx服务器为基础,搭建LNMP平台 1. 安装MySQL数据库 MySQ