LNMP环境肯定是先要配置好的。可以参考我之前的博客。那我们直接进行配置,我这里使用了三台机器进行动静分离部署,第一台负责nginx反向代理,第二台负责php-fpm应用程序以及mariadb的服务器。第三台是静态网页存放站点。

1、首先是配置nginx。

server{
listen ;
server_name www.lnmp.io;
index index.php index.html;
location / {
proxy_pass http://172.16.0.53:80;
}
location ~* \.php$ {
fastcgi_pass 172.16.0.58:;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /data/nginx_php/$fastcgi_script_name;
}
}

在上面的配置中,我们把访问动态php的网页去访问172.16.0.58:9000这个主机上。而把其他类的静态的图片放在172.16.0.53这个机器上。

2、动态机器上配置php-fpm和mairadb

listen = 172.16.0.58:
listen.allowed_clients = 172.16.0.57
user = nginx
group = nginx
pm.status_path = /status
ping.path = /ping
ping.response = pong
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session

还要对一下的创建目录,

mkdir -pv /var/lib/php/session
chown nginx:nginx /var/lib/php/session

3、配置mariadb。

直接创建一个用户,并赋予权限。

GRANT ALL PRIVILEGES ON *.* TO php@"localhost" IDENTIFIED BY "";
FLUSH PRIVILEGES;

重启mariadb和php-fpm

4、在安装有php-fpm的主机上创建工作目录

mkdir /data/nginx_php

5、在静态主机上安装nginx,这个nginx只是个web服务器。跟上面的哪个nginx的作用不一样。并创建静态文件存放的目录

mkdir /data/nginx/html

创建完之后,分别在这两个主机上,将phpmyadmin文件解压到这两个目录中。一模一样的存取两份。

还要修改静态主机的一个配置文件

要把root路径映射到我们的工作目录上才可以。最后重启nginx

6、基本上配置完成了。可以用了。

但是这样子会出现一个问题,我们每次访问时,必须要在域名结尾处加上index.php,才可以访问,否则不行。所以我花费了很长时间来解决,最后终于解决了。

修改nginx反向代理的那台主机。

server{
listen ;
server_name www.lnmp.io;
index index.php index.html;
location / {
# root /data/nginx/html;
rewrite ^/$ /index.php last;
proxy_pass http://172.16.0.53:80;
}
location ~* \.php$ {
fastcgi_pass 172.16.0.58:;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /data/nginx_php/$fastcgi_script_name;
}
}

主要是加了红色字体的那一行。这是为什么呢?

主要是不加的话,我们直接访问www.lnmp.io域名时,它只能去匹配location后面的那个根,而不会去匹配那个正则表达式。不仅如此,它还会去那个根下寻找index.html。如果有index.html的话,他就会去匹配(这个过程是分两步完成,第一步是寻找根,第二步是去寻找index.html)。这就是为什么上面我们访问时必须在域名后面加上index.php来访问,让他一开始就去匹配带有php的那个location。但是这样子非常的麻烦,我们需要一种解决方法来。所以我们需要在第一步就阻止它去匹配只有根的哪个location。所以我们在里面重写规则,在第一步的时候就去阻止它继续访问,从而改变方向去访问。last表示重写完成后停止对当前URI在当前location中后续的其他重写操作,而后对新的URI启动新的一路重写检查;提前重启新一轮循环;符合我们的需求。

这个时候我们再去访问:

无需再键入index.php后缀了,直接一个域名就可以访问,非常的方便。

LNMP下动静分离部署phpmyadmin软件包的更多相关文章

  1. HAproxy+varnish动静分离部署wordpress

    author:JevonWei 版权声明:原创作品 实验背景:将wordpress应用部署在后端服务器上,使用HAProxy做代理服务器,Varnish做缓存服务器,后端有四台web服务器,web1和 ...

  2. lamp的动静分离部署

    一.lamp分离部署工作图 二.LAMP的安装与配置 1.环境准备 2.对 PHP 服务器进行部署 #以下为安装PHP及其依赖 [root@php ~ ]# .tar.gz -C /usr/src [ ...

  3. LNMP下zabbix_server安装部署二

    上一篇中搭建完成了zabbix的web端,但是虚拟机有点问题,所以转到笔记本上来写笔记本环境 server:192.168.112.9 agent:192.168.112.8 ​ 上一篇中完成了web ...

  4. LNMP下zabbix_server安装部署一

    server:192.168.112.6 agent:192.168.112.7 安装nginx编译依赖包 gcc.pcre-devel.zlib-devel 如果需要https则加上openssl- ...

  5. 19.Tomcat多实例部署及负载均衡、动静分离

    Tomcat多实例部署及负载均衡.动静分离 目录 Tomcat多实例部署及负载均衡.动静分离 Tomcat多实例部署 安装jdk 设置jdk环境变量 安装tomcat 配置 tomcat 环境变量 修 ...

  6. LAMP环境搭建实现网站动静分离[转]

    目录: 1.环境概述 2.动静分离拓扑图 3.各服务器功能规划 4.各服务器基础环境配置 5.httpd安装配置 6.php安装配置及启用opcache加速功能 7.mysql安装配置 8.wordp ...

  7. keepalived高可用haproxy负载均衡varnish缓存wordpress的动静分离(第一次配置成功)

    haproxy和nginx都可以作为七层和四层反代服务器对外提供服务,此文通过haproxy和keealived配置varnish搭建wordpress的动静分离站点 一.实验环境 五台虚拟机: ha ...

  8. 001/Nginx高可用模式下的负载均衡与动静分离(笔记)

    Nginx高可用模式下的负载均衡与动静分离 Nginx(engine x)是一个高性能的HTTP和反向代理服务器,具有内存少,并发能力强特点. 1.处理静态文件.索引文件以及自动索引:打开文件描述符缓 ...

  9. 10、nginx+uwsgi+django部署(动静分离)

    10.1.说明: 1.介绍: 创建Django项目,可以通过 pyhon3 manage.py runserver 0.0.0.0:8080 & 命令更方便地调试程序,但是如果当一个项目完成了 ...

随机推荐

  1. 使用docker-compose快速构建集群示例(一)

    一.zookeeper集群 docker-compose文件: version: '3.1' services: zoo1: image: zookeeper hostname: zoo1 conta ...

  2. java实现网页结构分析列表发现

    现在的网站千奇百怪,什么样格式的都有,需要提取网页中的列表数据,有时候挨个分析处理很头疼,本文是一个页面结构分析的程序,可以分析处理页面大致列表结构. 废话不多说,我也不会说,show me code ...

  3. mybatis--Mapper 常见报错总结(持续总结)

      本文版权归 远方的风lyh和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作.   1.The content of elements must consist of well-f ...

  4. k8s小工具

    1.Kubectx kubectx是一个在多集群和多命名空间的时候使用的非常好用的工具,kubectx与kubens绑定,kubectx用来在集群之间切换,kubens用来切换namespace. # ...

  5. SSM-动态SQL

    SSM-动态SQL ssm框架 Mybatis  动态SQL主要是解决同一类SQL语句匹配不同的问题,举个栗子: 加入我要执行一个查询语句,但是是一个不确定的查询语句,可能会根据ID去查,如果ID没有 ...

  6. MQTT再学习 -- MQTT 客户端源码分析

    MQTT 源码分析,搜索了一下发现网络上讲的很少,多是逍遥子的那几篇. 参看:逍遥子_mosquitto源码分析系列 参看:MQTT libmosquitto源码分析 参看:Mosquitto学习笔记 ...

  7. jQuery 小特效【文本框折叠隐藏,展开显示】【下拉菜单】【颜色渐变】【弹窗+遮罩】

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs& ...

  8. WebFrom 【母版页】

    ASP.NET中母版页作用 一是提高代码的复用(把相同的代码抽出来) 二是使整个网站保持一致的风格和样式. 母版页存在就一定要有内容页的存在,否则母版页的存在就没有了意义. .master 一.添加母 ...

  9. lnmp首次安装重置mysql密码

    第一种方法:一键修改LNMP环境下MYSQL数据库密码脚本 一键脚本肯定是非常方便.具体执行以下命令: wget http://soft.vpser.net/lnmp/ext/reset_mysql_ ...

  10. Bootstrap 、AngularJs

    SPA 全称:single-page application单页面应用 说明:类似原生客户端软件更流畅的用户体验的页面.所有的资源都是按需加载到页面上. JSR 全称:Java Specificati ...