nginx+php-fpm独立节点的部署wordpress笔记

以前都是用lnmp一键安装的lnmp环境。

今天同学说他分开部署nginx+php-fpm出现了问题,总是报502,正好我也没试验过,于是自己也做了一遍,也遇到些问题,记下来以备以后用到。

node1: 192.168.2.11  nginx+mysql

node2: 192.168.2.12  php-fpm

其中node1和node2前期都安装了lnmp一键安装包。

因此,安装过程就不描述了。

直接开始修改参数,操作如下。

node1上的MySQL的配置:

安装过程略过,说下授权的配置

>create database wp;
>grant all on wp.* to ‘wp‘@‘192.168.2.%‘ identified by ‘123456‘;
>flush privileges;

node1上的nginx的配置文件如下:

server
    {
        listen 80 default_server;
        server_name 192.168.2.11;
        index index.html index.htm index.php;
        root /home/wwwroot/default;
 
        #error_page  404   /404.html;
 
       location ~\.php$ {
           root /home/wwwroot/default;
           fastcgi_pass 192.168.2.12:9000;
           fastcgi_index index.php;
           includefastcgi.conf;   注意这里我没有用fastcgi_params,因为fastcgi_params里面缺少一行文件
       }
 
        location ~.*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }
 
        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }
 
        location ~ /\.
        {
            deny all;
        }
 
        access_log /home/wwwlogs/access.log  access;
    }

另外,fastcgi.conf内容如下:

fastcgi_param SCRIPT_FILENAME   $document_root$fastcgi_script_name;   注意这行,fastcgi_param比fastcgi.conf就是缺少了这行
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
 
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  HTTPS              $https if_not_empty;
 
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
 
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
 
#PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

node2上的php-fpm的配置文件如下:

[global]
pid= /usr/local/php/var/run/php-fpm.pid
error_log= /usr/local/php/var/log/php-fpm.log
log_level= notice
 
[www]
listen = 192.168.2.12:9000
listen.backlog= -1
listen.allowed_clients = 192.168.2.11   如果注释掉这行就是表示允许全部IP连接到php-fpm
listen.owner= www
listen.group= www
listen.mode= 0666
user= www
group= www
pm= dynamic
pm.max_children= 10
pm.start_servers= 2
pm.min_spare_servers= 1
pm.max_spare_servers= 6
pm.max_requests = 1000       这个参数设置太小的话,可能会引起间歇性502错误
request_terminate_timeout= 100
request_slowlog_timeout= 0
slowlog= var/log/slow.log

朋友网站报502,就是因为上面的listen.allowed_clients参数被他设置成了any(被网上一个坑爹的教程害的)

此外,还要在node1node2上部署上相同的网站源文件。

在node2上通过scp将node1上的wordpress网站文件拷贝过来

# scp [email protected]:/home/wwwroot/default  /home/wwwroot/default
# chown  www.www /home/wwwroot/default

要注意的是:node1的运行nginx的用户id在node2上也要存在,并且id还要相同,否则可能访问时候报错。

在node1启动nginx,在node2上启动php-fpm。

在浏览器访问http://192.168.2.11即可进入wordpress的安装界面。输入数据库的相关信息即可

这里没有考虑文件(及图片)的存储,实际生产环境中,应该使用共享存储NFS或者分布式存储。

时间: 2024-11-05 18:47:18

nginx+php-fpm独立节点的部署wordpress笔记的相关文章

Nginx LB+keepalived+varnish+NAMP架构部署wordpress实现动静分离

Nginxproxy+varnish Nginx负载均衡它可基于四层和七层之间进行调度,而且对后端各个节点具有健康状态检测的功能,当后端服务器故障时,会自动标记为不可用状态,当后端节点上线时再将请求调度至此节点,配合keepalived利用飘移IP,高可用保证调度器的实时在线.为保证热区数据的快速响应配合varnish缓存加速,并实现动静分离. 案例架构拓扑如下: 拓扑环境如下: 前端:Nginx+keepalived高可用 调度服务器:Varnish1.Varnish2 缓存服务器:Varni

php+mysql+nginx在linux上的环境部署

一直在linux上鼓捣,还没有完整在linux下配置过nginx服务器环境部署呢,这几天没什么事就部署了一下,遇到的问题也很多,现在把我的环境部署文档发出了,有什么问题大家可以一起讨论一下,希望大家采用后遇到问题多多沟通. || 安装所需各种依赖包 sudo -s LANG=C yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2

centos7.3搭建LNMP并部署wordpress站点

centos7.3搭建LNMP并部署wordpress站点 一.拓扑图 二.准备工作: 1.三台独立主机(虚拟机) nginx:10.0.0.11 php-fpm:10.0.0.2 mariadb:10.0.0.13 准备好yum环境(推荐阿里云yum源,请百度搜索) 2.相关的软件包准备 10.0.0.11(nginx) yum install nginx -y 10.0.0.2(php-fpm) yum install php-fpm php-mysql  php-mbstring php-

深入理解PHP之:Nginx 与 FPM 的工作机制

完全转载(算是一个收藏了) https://zhuanlan.zhihu.com/p/20694204 网络上有很多关于如何配置 Nginx + FPM 的文章,但它们更多从操作的角度出发,告诉我们怎么做,但却没有告诉我们为什么要这么做,本文从 Nginx 与 FPM 的工作机制出发,探讨配置背后的原理,让我们真正理解 Nginx 与 PHP 是如何协同工作的. 要说 Nginx 与 PHP 是如何协同工作的,首先得说 CGI (Common Gateway Interface) 和 FastC

lnmp下实现部署wordpress和phpmyadmin,并实现https和URL重定向

项目要求:1.lnmp实现多个虚拟主机,分别部署wordpress和phpmyadmin应用,并设置phpmyadmin仅能通过https协议访问:2.配置即使客户端通过http协议访问phpmyadmin站点,最终也可以让用户使用https重新请求访问:3.将图片保存至一台单独的服务器,上传的图片也放置于该图片服务器上: 一.环境:lnmp=Linux+Nginx+MariaDB+PHP在Linux中配置所需必要的环境:1.在CentOS系和RHEL系列的发行版操作系统中,本地光盘并没有提供N

Docker 之 基于LAMP容器部署WordPress

LAMP的网络连接,有两个方法 第一:nginx需要两个网卡,一个面向客户端,一个面向fpm,而fpm也要有两个网卡,一个面向nginx,一个面向mysql 第二,nginx和fpm,mariadb都在同一docker0桥,只需把nginx端口暴露就可以 准备三个镜像,用于nignx,fpm,mariadb. mkdir -pv /root/lnmp/{nginx,fpm,mariadb} 使用绑定挂载的卷,目的明确,但是不能保证后期运行这些容器的宿主机上也有这些卷存在,因此,建议使用docke

使用confd与nginx 实现kubernetes master节点高可用

下载confd 二进制文件 # 创建目录方便存放文件 mkdir confd # 进入新创建的目录 cd confd # 下载 confd wget https://github.com/kelseyhightower/confd/releases/download/v0.16.0/confd-0.16.0-linux-amd64 # 重命名 mv confd-0.16.0-linux-amd64 confd # 给confd 可执行权限 chmod +x confd 生成confd 配置 #

在CentOS 6.7部署wordpress博客系统Discuz论坛系统

在CentOS 6.7部署wordpress博客系统Discuz论坛系统 服务器操作系统:CentOS6.7 博客部署服务器:Httpd-2.2 后台语言:PHP 数据库:MySql 前端框架:WordPress 1.首先安装需要的软件 yum -y install mysql-server httpd phpphp-mysql 2.启动mysql以及httpd服务 service mysqld start service httpd start 3.创建虚拟主机 4.测试 PHP 和Httpd

SCCM 2012 R2实战系列之三:独立主站点部署

3.1 SCCM 2012 R2主站点的安装 SCCM 2012 R2跟以前的SCCM 2007不同的是多了一个管理中心站点的角色, 管理中心站点主要负责SCCM管理控制和报表查看. 主站点跟以往的SCCM 2007主站点功能一样,具备软件分发.系统部署等主要功能,一个管理中心站点下可以有多个主站点,主站点的关系可以是并列的. 在SCCM服务器中放入SCCM2012的安装光盘,以域管理员身份登录.如下图所示,在安装光盘的smssetup\bin\X64目录下找到extadsch.exe,双击运行