当前位置: 首页 > news >正文

记录LNMP多主机架构Wordpress博客实施过程中的一些坑

**首先来介绍一下LNMP**
  • LNMP就是:Linux系统下Nginx+MySQL+PHP网站服务器架构
  • Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
  • Mysql是一个小型关系型数据库管理系统。
  • PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
  • lnmp都是免费开源软件,组合到一起,就是一个免费、高效、扩展性强的网站服务系统。

**整个框架我们可以部署的方式有以下几种**:
  1. 使用rpm包逐个主机进行安装及部署;
  2. 使用编译源代码的方式逐个主机进行安装及部署;
  3. 使用运维工具(如:ansible)在各个主机上安装rpm包并部署;
    这里我是用编译源码的方式部署。

**毫无疑问,分机部署能够提高服务效率,几台机器一起干活总比一台强多了。**

记录LNMP多主机架构Wordpress博客实施过程中的一些坑


部署过程:

在Nginx主机上安装nginx,在PHP主机上安装PHP,在数据库主机上安装MySQL,编译安装过程就不多讲,首先达到第一阶段:PHP测试页面测试成功之前遇到的问题:

安装nginx一切顺利,但是到了配置php这开始出问题:
1.Gracefully shutting down php-fpm . done Starting php-fpm [26-Oct-2018 19:35:
修改php-fpm.conf中的配置
[global]
; Note: the default prefix is
/usr/local/php/var
error_log = log/php_error_log
[www]
catch_workers_output = yes

修改php.ini
log_errors = On
error_log = "/usr/local/php/var/log/error_log"
重启即可;

2.PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/php/lib/php/extensions/no-debug-non-zts
打开php.ini文件,找下看看有没有一行“extension =”如果有有一行是这个,而且没有值,就会提示这个错误了, 把这行注释就可以了;
还有一种办法,将/etc/php.d/目录下的.ini文件全部重命名为.so也可以解决;

3.nginx: [emerg] "server" directive is not allowed here in /usr/local/nginx/conf/nginx.conf:45
这是我在配置nginx.conf文件时少书写了一个}导致的;

4.测试页面502
这个就神烦了,什么都准备好了,满怀信心的打开浏览器输入网址结果502你莫不是在逗我,从昨天晚上开始×××器502有关的解决办法,一直到今天中午,很遗憾,没有解决,然后有提示是防火墙问题,我把防火墙关了,神奇的好了???

5.nginx: [emerg] “location” directive is not allowed here in /etc/nginx/conf.d/default.conf:1
和第三个一样,配置文件改的神烦~

  1. Gracefully shutting down php-fpm warning, no pid file found - php-fpm is not running ?
    Starting php-fpm ERROR: unable to bind listening socket for address '192.168.92.128:9000': Address already in use (98)

记录LNMP多主机架构Wordpress博客实施过程中的一些坑
网上搜了好久,没解决,后来看日志发现没路由,我去又是防火墙的锅

之后没问题了,初始的wordpres起来了
记录LNMP多主机架构Wordpress博客实施过程中的一些坑


第二阶段就是在nginx和php主机上搭建wordpress环境,仍然源码编译安装,过程不多讲了;

之后配置数据库主机,我在这踩了不少坑,我首先装的是MySQL8的发行版,但是我在配置时是按照5的书写风格来书写配置文件的,后果可想而知,一连的报错啊,步步艰辛啊,在这记录俩印象最深的:
记录LNMP多主机架构Wordpress博客实施过程中的一些坑
我是这么写的:
mysql> CREATE USER 'fuboyuan'@'%' IDENTIFIED BY '123456';
mysql> GRANT ALL ON wordpress.* TO 'fuboyuan'@'%' WITH GRANT OPTION;

没毛病把,就是起不来~就是报错~
之后我了解到,在使用mysql5的时候,在linux安装完成mysql后,习惯使用grant all privileges on . to 'user'@'%';命令授权远程连接操作。但是最近linux安装mysql8后,再次使用这个命令,会有如下错误:

ERROR 1410 (42000): You are not allowed to create a user with GRANT

原来是Using GRANT to modify account properties other than privilege assignments. This includes
authentication, SSL, and resource-limit properties. Instead, establish such properties at account-creation
time with CREATE USER or modify them afterward with ALTER USER.
这个特性被移除了,解决办法是用alteruser和creatuser,格式如下:
alter user set user.host='%' where user.user='root'
create user 'userName'@'%' identified ...

然后就可以远程了。注释下:'userName'@'%',%表示允许所有远程的地址
所以8是这么写的:
mysql> ALTER USER 'fuboyuan'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

没毛病~

但是!!!!我wordpress还是连不上数据库啊啊啊啊啊!
我疯了, 我不玩8了, 我默默的打开了5,,,

第三阶段就是配置wordpress,我用MySQL5没事,数据库连上了,wordpress起来了,接下来就是配置环节了。

配置完成果图展示:
记录LNMP多主机架构Wordpress博客实施过程中的一些坑

虽然搭建成功,但是我还是没有解决为什么wordpress连不上MySQL8的问题,百度已经无用,若是和各位大佬有相关的解决信息,求教!!

转载于:https://blog.51cto.com/fuboyuan/2309792

相关文章:

  • 表单提交时问题总结
  • iOS:The operation couldn’t be completed. (DVTCoreSimulatorAdditionsErrorDomain error 0.)
  • python关于标识符说明
  • 类的自动加载
  • 【DP复习】背包 ovo
  • CSS3 Transform变形(3D转换)
  • Python——数据存储:XML操作
  • python 求助!
  • OpenGL step by step 38 : Skeletal Animation with Assimp
  • 顺为资本第四期美元基金募集完成 规模12.1亿美元
  • 【经验分享】:如何将PDF格式的文件进行翻译
  • 当奶猫来敲门
  • Jquery attr()方法 属性赋值和属性获取
  • [译] Google 工程师提升网页性能的新策略:空闲执行,紧急优先
  • 程序员的炼金术,如何用技术变现
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • CSS盒模型深入
  • Date型的使用
  • es6(二):字符串的扩展
  • HTTP请求重发
  • JavaScript对象详解
  • laravel 用artisan创建自己的模板
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • MySQL主从复制读写分离及奇怪的问题
  • python大佬养成计划----difflib模块
  • Shell编程
  • spark本地环境的搭建到运行第一个spark程序
  • Spring-boot 启动时碰到的错误
  • 观察者模式实现非直接耦合
  • 猴子数据域名防封接口降低小说被封的风险
  • ------- 计算机网络基础
  • 警报:线上事故之CountDownLatch的威力
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 前端面试总结(at, md)
  • 悄悄地说一个bug
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (算法)求1到1亿间的质数或素数
  • .Mobi域名介绍
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET Micro Framework初体验
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET程序员迈向卓越的必由之路
  • 。Net下Windows服务程序开发疑惑
  • /bin、/sbin、/usr/bin、/usr/sbin
  • [C++] 如何使用Visual Studio 2022 + QT6创建桌面应用
  • [cocos creator]EditBox,editing-return事件,清空输入框
  • [Golang]K-V存储引擎的学习 从零实现 (RoseDB mini版本)
  • [Google Guava] 1.1-使用和避免null