专栏首页二狗的DBA之路nginx+php-fpm独立节点的部署wordpress笔记

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(被网上一个坑爹的教程害的)

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

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

# scp -rproot@192.168.2.11:/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或者分布式存储。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MySQL磁盘IO设置问题

    0、使用SSD。资金不足的话,使用RAID设备 【建议使用RAID10,因为RAID5的性能并不太高】

    二狗不要跑
  • LNMP环境No input file specified.的解决方法

    有时候安装好了LNMP环境,测试访问php页面时候报错“No input file specified”。F12查看,可以看到报错404找不到页面。

    二狗不要跑
  • ansible配置笔记(一)

    编辑/etc/ansible/hosts ,注释掉全部内容,改成自己的节点信息,下面的这些的是符合要求的写法:

    二狗不要跑
  • ThinkPHP->pathinfo模式(Linux下nginx的配置说明)

    小伙伴在使用ThinkPHP搭建自己或者公司项目的时候,url模式设置成为兼容模式,也就是URL_MODEL的值为3的时候是不是也遇到过Lnmp的环境不支持pa...

    思梦php
  • 框架源码调试实战之easypoi异常解决方案精讲

    最近有个同事遇到了个棘手的问题,easypoi导出文件出了bug,却不知道是怎么回事,无从下手,无可奈何,由于事态紧急,只能火急火急的求助于我。我问他...

    Java深度编程
  • 一个数据科学家对商学院的建议

    大数据文摘
  • PCI Express 系列连载篇(十)

    大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。...

    FPGA技术江湖
  • 适用于学校、医院、酒店、监狱等企业的iptv软件系统

    点量OTT IPTV互联网电视系统目前已由点量软件的多家合作伙伴在海外正式运营,是最适合海外华人圈使用的电视盒影音聚合系统;同时也适合酒店、学校、监狱等局域网中...

    点量小崔
  • Mysql常用存储引擎InnoDB和MyISAM的实用对比

    Mysql 5.0版本以后,默认的存储引擎是Innodb,我们常见的存储引擎Innodb、Myisam,存储引擎是相对于表来说的而不是针对数据库,如下图所示,我...

    java学长
  • 大数据时代,传统数据仓库技术是否已经过时?

    内容来源:2017 年 10 月 21 日,深奇智慧联合创始人高扬在“PostgreSQL 2017中国技术大会”进行《基于Greenplum,postgreS...

    IT大咖说

扫码关注云+社区

领取腾讯云代金券