#####################

---LNMP
企业主流的网站平台
L --> Linux系统
N --> Nginx网站服务软件
M --> Mariadb数据库
P --> Php网站开发语言

#####################

---LNMP环境搭建

(1)安装Nginx 端口:80
nginx软件包不在光盘内,需源码包编译安装

安装依赖软件包
yum -y install gcc openssl-devel(支持https) pcre-devel(支持正则表达式)

tar xf nginx-1.8.0....
cd nginx-1.8.0
./configure \

--prefix=/usr/local/nginx \ //指定安装目录
--with-http_ssl_module //增加安全模块
make //编译
make install //安装

ln -s /usr/local/nginx/sbin/nginx /usr/sbin //制作快捷方式
ls /usr/local/nginx
logs :日至文件
sbin :程序文件
conf :配置文件
html :网页文件

nginx //启动服务
nginx -s stop //停止服务
nginx -s reload //重新加载配置文件
nginx -V //查看nginx信息

#####################################

安装php软件包 端口:9000

yum -y install php php-mysql(实现php与数据库连接)
rpm -ivh php-fpm....

/etc/php-fpm/www
####################################

安装mariadb软件包 端口:3306
yum -y install mariadb mariadb-server mariadb-devel

###################################

启动LNMP 环境
nginx
systemctl restart mariadb
systemctl restart php-fpm

##################################

---制作动静分离页面

【LNMP】
vim test.php


php test.php
33

mv test.php /usr/local/nginx/html

【客户端】

firefox 192.168.4.5/test.php
                  //需要下载,并且看到的只是源代码
                  //这是所谓的静态页面

所谓的动态页面,即把源代码经过解释后,显示到屏幕上的内容

为了让客户端能够读到静态页面和动态页面,需要在nginx上进行区分
【LNMP】
/usr/local/nginx/conf/nginx.conf
http {
   server {
        listen 80;
        server_name localhost;
        location / {
            root html
            index index.html index.htm;      //对应静态页面   
    }

        location ~\.php$ {
            root html
            fasticgi_pass 127.0.0.1:9000;
            fasticgi_index index.php;
             #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name; 
            include        fastcgi.conf;            //对应动态页面 
        }
     }
}

nginx -s reload 

【客户端】

firefox 192.168.4.5/test.php
33

File not found. 出现这个 表示selinux 限制 test.php 没有安全上下文(标签)selinux 改成premissive
##########################################

    ---地址重写

意义: 换ip地址后,对于一些用户将无法访问,使用地址重写,即把访问老地址 转换成新地址
   如:访问 www.360.com -->www.so.com

   (1)访问此网站的内容跳转到新的内容
【LNMP】   
   http {
    server {
        listen 80;
        server_name localhost;

        location / {
            root html
            index index.html
            rewrite /a\.html /b\.html      //因为支持正则,.代表匹配任意单个字符,所以屏蔽特殊字符
        }
    }
   }

   echo "aaaa" > /usr/local/nginx/html/a.html
   echo "bbbb" > /usr/local/nginx/html/b.html

【客户端】

firefox 192.168.4.5/a.html
bbbb

(2)访问此网站跳转到别的网站

http {
    server {
        listen 80;
        server_name localhost;
        rewrite ^/(.*)  http://www.tmooc.cn/$1;  // 匹配到 / 时 跳转到 http://www.tmooc.cn/ 网站中
                                                        // (.*)是把/后面的保存起来  $1粘贴  正则中为 \1
        location / {
            root html;
            index index.html;
            #rewrite /a\.html /b\.html;   
        }
    }
   }

【客户端】
firefox 192.168.4.5/yyyy  ---> www.tmooc.cn/yyyy

(3)区分浏览器或者是不同设备   让电脑端(手机端)显示相同内容,格式不同

http {
    server {
        listen 80;
        server_name localhost;
        if ($http_user_agent ~* firefox) {         
        rewrite ^/(.*) /firefox/$1;
        }
        //$http_user_agent 日至消息中的一段,其中包含firefox等浏览器信息,匹配到此浏览器后跳转到其网页中

        #rewrite ^/(.*)  http://www.tmooc.cn/$1;  // 匹配到 / 时 跳转到 http://www.tmooc.cn/ 网站中
                                                        // (.*)是把/后面的保存起来  $1粘贴  正则中为 \1
        location / {
            root html;
            index index.html;
            #rewrite /a\.html /b\.html;   
        }
    }
   }
    mkdir /usr/local/nginx/html/firefox
    echo "firefox" > /usr/local/nginx/html/firefox/test.html
    echo "chrome" > /usr/local/nginx/html/test.html

    【客户端】
    firefox 192.168.4.5/test.html  //使用火狐浏览器
    firefox
    curl 192.168.4.5/test.html   //使用curl 浏览器
    chrome

    在实际网站中  两个访问的内容相同,格式不同
###########################################################