lnmp+wordpress環境搭建

問題彙總

Nginx部分

必備庫

yum install -y wget vim gcc gcc-c++ zlib-devel pcre-devel openssl-devel

編譯選項

./configure --with-http_stub_status_module --prefix=/data/wwwroot/nginx-1.17.1 --user=www --group=www --with-http_ssl_module

注意事項

待補充

啓動

.../sbin/nginx

常見錯誤

待補充

排錯思路

1、nginx -t,最爲簡單的排錯,檢查nginx的配置文件語法,若無問題,則返回類似下面這樣的消息

nginx: the configuration file /data/wwwroot/nginx-1.17.1/conf/nginx.conf syntax is ok
nginx: configuration file /data/wwwroot/nginx-1.17.1/conf/nginx.conf test is successful

2、打開nginx的日誌功能

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

將前面的“#”去掉即可

MySQL部分

初始化參數

bin/mysqld --initialize --user=www --basedir=/data/wwwroot/mysql --datadir=/data/wwwroot/mysql/data

注意事項

初始化後的密碼保存在log文件下的mysql_error.log(這個文件是你在my.cnf文件中定義的“log-error選項”)

cat log/mysql_error.log | grep password

修改MySQL密碼

bin/mysql_secure_installation

啓動

...support-files/mysql.server start  # 官方啓動腳本

常見錯誤

問題一:在執行mysqld初始化操作時,報錯信息如下:

bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解決辦法:安裝libaio運行庫

yum install libaio libaio-devel -y

問題二:在使用MySQL自帶的啓動腳本啓動MySQL時,報錯信息如下:

Starting MySQL. ERROR! The server quit without updating PID file (/data/wwwroot/mysql/data/blog.blacklinux.cn.pid).

解決辦法:檢查權限
1、MySQL路徑權限

chown -R www.www /data/wwwroot/mysql  # 此處爲你的MySQL目錄

2、檢查my.cnf文件

...
[mysqld]
user = www  # 指定MySQL的運行用戶
port = 3306
...

PHP部分

必備庫

yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel

編譯參數

./configure --prefix=/data/wwwroot/php-7.3.7 --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-zlib --with-openssl

注意事項

使用PHP源碼包自帶的配置文件

mv lib/php.ini-production lib/php.ini

複製PHP的默認未生成的配置文件

cp -a etc/php-fpm.conf.default etc/php-fpm.conf
cp -a etc/php-fpm.d/www.conf.default etc/php-fpm.d/www.conf

修改php.ini中的mysqli.default_socket選項

mysqli.default_socket = /data/wwwroot/mysql/run/mysql.sock

啓動

.../sbin/php-fpm

常見錯誤

問題一:啓動php-fpm報錯,報錯信息如下:

[root@localhost php-7.3.7]# sbin/php-fpm 
[05-Jul-2019 04:01:01] WARNING: Nothing matches the include pattern '/lnmp/php-7.3.7/etc/php-fpm.d/*.conf' from /lnmp/php-7.3.7/etc/php-fpm.conf at line 143.
[05-Jul-2019 04:01:01] ERROR: No pool defined. at least one pool section must be specified in config file
[05-Jul-2019 04:01:01] ERROR: failed to post process the configuration
[05-Jul-2019 04:01:01] ERROR: FPM initialization failed

解決辦法:生成www.conf

cp -a etc/php-fpm.d/www.conf.default etc/php-fpm.d/www.conf

問題二:Fatal error: Uncaught Error: Call to undefined function gzinflate()
解決辦法:這是因爲源碼編譯php時沒有帶上zlib,所以重新編譯時帶上zlib即可

數據庫操作

以MySQL數據庫爲例

create database wordpress;
grant all on wordpress.* to wordpress@'localhost' identified by '123456';
flush privileges;

防火牆操作

添加80(http)和443(https)端口對外開放

firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含義:
--zone #作用域
--add-port=80/tcp  #添加端口,格式爲:端口/通訊協議
--permanent   #永久生效,沒有此參數重啓後失效

重啓防火牆
systemctl restart firewalld.service

開機自啓

賦權

chmod +x /etc/rc.d/rc.local

在rc.local中添加以下內容

/lnmp/nginx/sbin/nginx
/lnmp/mysql/support-files/mysql.server start
/lnmp/php/sbin/php-fpm
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章