博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LNMP下动静分离部署phpmyadmin软件包
阅读量:7035 次
发布时间:2019-06-28

本文共 2466 字,大约阅读时间需要 8 分钟。

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

1、首先是配置nginx。

server{        listen 80;        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:9000; 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:9000listen.allowed_clients = 172.16.0.57user = nginxgroup = nginxpm.status_path = /statusping.path = /pingping.response = pong
php_value[session.save_handler] = filesphp_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 "123456";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 80;        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:9000;                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后缀了,直接一个域名就可以访问,非常的方便。

转载于:https://www.cnblogs.com/FengGeBlog/p/10539898.html

你可能感兴趣的文章
Yii2.0如何建立公共方法
查看>>
规范的面向对象编程要点
查看>>
jQuery选择器之属性过滤选择器
查看>>
设计模式:灵活编程(组合模式)
查看>>
用C语言实现 ls -al 功能
查看>>
centos7线程、文件打开数等调优日志(非优化案例、仅仅是个个人记录、为把相关配置文件记录一下)...
查看>>
matlab-画一个圆
查看>>
Java Calendar类的使用总结
查看>>
LeetCode算法题-Perfect Number(Java实现)
查看>>
maven3.1安装及配置
查看>>
待人原则
查看>>
如何熟悉一个新项目
查看>>
2018年蓝桥杯java b组第二题
查看>>
结对-贪吃蛇游戏-测试过程
查看>>
实现Servlet容器一
查看>>
Python函数式编程指南(转)
查看>>
Spring4.x所有Maven依赖
查看>>
盒子变形-盒子加padding后 变形问题,
查看>>
小程序:在{{}}中使用函数
查看>>
Transporting Data Between Database
查看>>