記錄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博客實施過程當中的一些坑


部署過程:php

在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 = yesmysql

修改php.ini
log_errors = On
error_log = "/usr/local/php/var/log/error_log"
重啓便可;linux

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也能夠解決;nginx

3.nginx: [emerg] "server" directive is not allowed here in /usr/local/nginx/conf/nginx.conf:45
這是我在配置nginx.conf文件時少書寫了一個}致使的;sql

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的問題,百度已經無用,如果和各位大佬有相關的解決信息,求教!!

相關文章
相關標籤/搜索