分离式lnmp简介

lnmp和lamp一样,是一种常用的web环境,

在实际环境中,lnmp中的三个服务常常为了更好的性能而分在三台主机上安装。

本篇内只介绍nginx和php-fpm+mysql分离的情况

环境

  • nginx-192.168.83.128-lynk
  • php-fpm+mysql-192.168.83.129-hyrule

安装nginx、php-fpm、mysql

安装过程可参考nginx简介与配置lamp简介与配置

整合nginx与php-fpm

lynk端

[root@lynk www]# vim /usr/local/nginx/conf/nginx.conf
#添加一个虚拟主机
location ~ \.php$ {
root /www; #这里我用的/www为php网页储存目录,可以改成其他的,只要把php网页放进相应的目录里就可以了
fastcgi_pass 192.168.83.129:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
[root@lynk www]# vim /usr/local/nginx/conf/fastcgi_params
#添加一条参数
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

hyrule端

[root@hyrule www]# vim /usr/local/php7/etc/php-fpm.d/www.conf
#有则修改,无则添加
listen = 9000

重启nginx和php-fpm后,在两个主机分别新建www目录,给予其权限。

[root@lynk ~]# mkdir /www
[root@lynk ~]# chown nginx.nginx /www/
[root@lynk ~]# cd /www
[root@lynk ~]# cat > index.php <EOF
<?php
phpinfo();
?>
EOF [root@hyrule ~]# mkdir /www
#下面这条命令之前要先在hyrule新建一个nginx用户和nginx组,而且要保证两个主机里nginx用户和组的id相同
[root@hyrule ~]# chown nginx.nginx /www -R
[root@hyrule ~]# cd /www/
[root@hyrule ~]# cat > index.php <EOF
<?php
phpinfo();
?>
EOF

从上面可以看出来,如果想要让nginx正常读取php的网页,需要在nginx端和php端同时具有相同的网页文件,这样未免过于繁琐,而且容易出现有余网页不同导致的问题,我们可以通过nfs来共享/www目录避免网页不同步的问题。

具体nfs部署与配置请详看nfs简介与配置

分离式lnmp部署的更多相关文章

  1. Docker Swarm应用--lnmp部署WordPress

    一.简介 目的:使用Docker Swarm 搭建lnmp来部署WordPress 使用Dockerfile构建nginx.php镜像 将构建的镜像上传docker私有仓库 使用volume做work ...

  2. Docker自学纪实(四)搭建LNMP部署wordpress

    我们在工作中最常用的就是LNMP网站平台 这个架构呢,是整个公司网站的核心 如果对于访问量较小的网站,可以直接在服务器上面部署 而如果是访问量很大的网站,那负载就是个很大的问题. 要么需要再买很多服务 ...

  3. 编译LNMP部署动态网站环境

    LNMP动态网站部署架构是由一套 Linux+Nginx+MySQL+PHP 组成的动态网站系统解决方案. 以下配置环境为:Linux=RHEL7 --> Nginx=1.13 --> M ...

  4. LNMP部署

    部署企业LNMP架构 源码包:nginx-* ; mysql-* ; php-* ; boost-* ; zend-loader-php5.6-linux-* ;yum软件: pcre-devel z ...

  5. 源码编译配置lnmp部署zabbix

    环境说明: [root@wcy ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@wcy ~]# uname -a Linux ...

  6. 使用 Docker LNMP 部署 PHP 运行环境

    简介 Docker LNMP 是基于 Docker 的 PHP 集成开发环境. Github 地址:https://github.com/YanlongMa/docker-lnmp 包含软件 ngin ...

  7. LNMP 部署

    一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.servic ...

  8. lnmp部署知乎出现403

    查看错误日志: [root@web01 /]# tailf  /var/log/nginx/error.log 2019/01/16 19:02:06 [error] 10023#10023: *8 ...

  9. 基于LNMP部署DiscuzX

    [root@nginx~]# unzip ComsenzDiscuz-DiscuzX-master.zip[root@nginxDiscuzX]# mv upload/ /usr/local/ngin ...

随机推荐

  1. 魔力Python--经典SQL语法大全

    具体转载自哪里,我也忘记了... 一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明: ...

  2. 新建DataTable

    //创建DataTable DataTable dt = new DataTable("NewDt"); //创建自增长的ID列 DataColumn dc = dt.Column ...

  3. v-for key

    key 当 Vue.js 用 v-for 正在更新已渲染过的元素列表时,它默认用“就地复用”策略.如果数据项的顺序被改变,Vue 将不会移动 DOM 元素来匹配数据项的顺序, 而是简单复用此处每个元素 ...

  4. mysql左连接右连接(查询两张表不同的数据)

    有两张表:一张A表he一张B表 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 :right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录: ...

  5. 解决访问HTTPS,抛出的异常javax.net.ssl.SSLHandshakeException

    本地测试没问题,http换成https抛出异常javax.net.ssl.SSLHandshakeException,网上有说是服务器证书,有说要启动SSL3协议的,反正没有找到有用的. 在GET和P ...

  6. pl/sql developer 问题总结

    问题1,出现NLS_LANG和字符集(Character set)问题 安装完PL/SQL后打开,遇到如图问题. 原因:这是因为系统没有设置NLS_LANG系统变量. 解决方法:有两种方式查看. 1. ...

  7. 红黑树(red-black tree)实现记录

    https://github.com/xieqing/red-black-tree A Red-black Tree Implementation In C There are several cho ...

  8. VS 提示对象被多次指定;已忽略多余的指定

    最近有一个工程编译老是出现这个问题,网上的解决方案说是工程目录下有同名的源文件,所以编译出了同名的obj.然而我检查了一下并没有.经尝试,把所有文件从项目中移除再重新添加进来就行了..应该是因为我反复 ...

  9. mysql学习笔记--数据库预处理

    一.概念 1. 预编译一次,可以多次执行.用来解决一条sql语句频繁执行的问题 2. 语法 a. 预处理语句:preapre 预处理名字 from 'sql语句' b. 执行预处理:execute 预 ...

  10. Mybatis 接口代理的实现(BeanDefinitionRegistryPostProcessor+FactoryBean)

    相信在开发中,尤其是mybatis 配置操作中,我们只需要提供一个mapper 接口,然后注入到service 中,就可以进行调用. 按我们的一般逻辑来说,我们并没有进行接口的实现,应该会报空指针异常 ...