WordPress编译安装 Centos+Nginx+Php+Mysql

部署环境:
系统:CentOS 7 x64
环境:nginx + mysql5.7 + php7.4
版本:wordpress 5.7.x

安装nginx

  1. 安装nginx
sudo yum install nginx
  1. 安装完成测试nginx是否安装成功,显示版本号则表明安装成功
    [root@MiWiFi-RA67-srv ~]# nginx -v
    nginx version: nginx/1.20.1
  2. 启动nginx,并设置nginx开机自启
    systemctl start nginx
    systemctl enable nginx
  3. 打开浏览器输入localhost 或者服务器ip地址,看到nginx的欢迎页面表明已经安装并启动
    至此nginx安装完成
  4. 配置nginx
    编辑nginx的配置文件

    vim /usr/local/nginx/conf/nginx.conf

修改server里面的 index索引文件,添加index.php
file
添加虚拟host
file
保存文件并退出,在当前目录下添加vhost文件夹,在添加域名的配置文件

makdir vhost
vim yourhost.conf

添加以下内容

server {
        listen       80;
        # 下面youhost换成你自己的域名
        server_name  yourhost.com www.youhost.com;
        # 下面这个是wordpress部署路径
        root   /usr/local/nginx/html/wordpress;
        location / {
            index  index.php index.html index.htm;
        }

        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
            fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
            include        fastcgi_params;
        }

    }

输入:wq保存并退出,测试配置文件

root@MiWiFi-RA67-srv ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

配置文件通过测试,重新启动nginx

nginx -s reload

至此nginx初步配置完成。

安装mysql 5.7

  1. 下载mysql安装源
    wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
  2. 安装
    yum -y install mysql57-community-release-el7-10.noarch.rpm
  3. 查看状态
    systemctl status mysqld
  4. 启动数据库
    systemctl start  mysqld
  5. 查看数据密码
    grep "password" /var/log/mysqld.log
  6. 获得密码后,执行命令输入密码进入数据库,输入密码的时候控制台没有反应,输入完成回车即可
    mysql -uroot -p
  7. 更改数据库密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
  8. 开启远程链接(根据需要开启,远程链接可能增加安全风险),下面的192.168.0.1 换成自己的ip地址
    grant all privileges on *.* to 'root'@'192.168.0.1' identified by 'password' with grant option;
  9. 更新数据库权限
    flush privileges;
  10. 创建wordpress数据库
    CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;;
  11. 添加wordpress数据库用户,并设置使用刚刚创建的数据库权限
    create user 'wordpress_user'@'localhost' identified by '123456789';
    grant all privileges on wordpress.* to 'wordpress_user'@'localhost' identified by '123456789';
  12. 查看数据
    file
  13. 退出数据库
    exit

安装PHP 7.4

下载php

wget https://www.php.net/distributions/php-7.4.20.tar.gz

解压

tar -zvxf php-7.4.20.tar.gz

安装编译需要用的依赖包

yum install gcc g++ cmake  autoconf libxml2-devel libxml2 -y

进入php源码目录并准备安装

cd php-7.4.20
 ./configure --enable-fpm --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-soap --with-openssl --with-mhash --without-sqlite3 --without-pdo-sqlite --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-openssl-dir --with-zlib-dir --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --enable-mbregex  --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-xsl --enable-mysqlnd-compression-support --with-pear --enable-opcache

编译安装

sudo make
sudo make install

创建配置文件

cp php.ini-development /usr/local/php/php.ini
cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf
cp sapi/fpm/php-fpm /usr/local/bin

需要着重提醒的是,如果文件不存在,则阻止 Nginx 将请求发送到后端的 PHP-FPM 模块, 以避免遭受恶意脚本注入的攻击。
将 php.ini 文件中的配置项 cgi.fix_pathinfo 设置为 0 。
打开 php.ini:

vim /usr/local/php/php.ini

定位到 cgi.fix_pathinfo= 并将其修改为如下所示

file

开启wordpress需要的扩展,找到 extension部分,去掉前面的 ;修改成下面几项(如果不能识别就加上 .so ex:curl.so)

extension=curl
extension=mbstring
extension=zlib

在启动服务之前,需要修改 php-fpm.conf 配置文件,确保 php-fpm 模块使用 nginx 用户和 nginx 用户组的身份运行。
查看用户组命令,确认是否存在nginx用户,保证nginx和php是同一个用户组,包括nginx下面的html部署的文件夹和文件用户组都是nginx

cat /etc/group
vim /usr/local/etc/php-fpm.d/www.conf

找到以下内容并修改

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = nginx
group = nginx

修改数据库链接(根据实际情况来可能有些不存在的)

pdo_mysql.default_socket=/var/lib/mysql/mysql.sock
mysqli.default_socket =/var/lib/mysql/mysql.sock
mysql.default_socket = /var/lib/mysql/mysql.scok

退出保存,然后处理php-fpm配置文件,进入到下载的php源码文件夹下找到配置文件并复制

cd
cp /php-7.4.20/sapi/fpm/php-fpm.conf /usr/local/etc/php-fpm.conf

编辑配置

vim /usr/local/etc/php-fpm.conf

找最后一行include=这里,修改成配置文件所在文件路径
file

添加测试php文件

echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php

启动php-fpm

/usr/local/bin/php-fpm

如果报错缺少curl文件去到源码包中ext文件夹下编译安装对应组件扩展即可

cd
cd php-7.4.20/ext/curl
/usr/local/bin/phpize
./configure --with-curl --with-php-config=/usr/local/bin/php-config
make && make install

如果找不到config.m4文件,就把config0.m4重命名一下即可

mv config0.m4 config.m4

注意:如果启动了php-fpm以后,更改php.ini配置文件以后要重新加载配置文件

pkill php-fpm
/usr/local/bin/php-fpm -c /usr/local/php/php.ini

打开浏览器查看php-fpm是否正常工作,访问http://ip/index.php 或者 http://localhost/index.php
至此php安装完成。

安装wordpress

回到系统根目录下载安装包并解压

cd
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
tar  -zxvf wordpress-5.7.2-zh_CN.tar.gz

复制到nginx部署目录

mv ./wordpress /usr/local/nginx/html/

注意:安装wordpress前进行目录文件权限设置
因为nginx所属的用户组是nginx(注意也有可能是apache),所以要把wordpress文件夹全部设置成nginx用户所属,总之要保证nginx和部署目录的用户组一致。

首先查看并确认nginx用户组

cat /etc/passwd

file

来到部署目录设置wordpress用户和用户组

cd /usr/local/nginx/html/
chown -R nginx.nginx wordpress
cd wordpress
chmod 777 *

访问wordpress部署的域名进行安装,
输入之前创建的数据库名:wordpress和用户:wordpress_user 密码:123456789,
验证通过后创建用户和密码,
等待安装完成自动跳转到登录界面,输入刚刚创建用户名和密码,登录到后台,至此所有安装已完成。

注意配置wordpress的时候如果你改成https协议访问,遇到重定向次数过多不能打开的问题,修改wordpress目录下的wp-config.php文件添加以下两行

/** for https */
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

本文参考来源:https://blog.csdn.net/wangping146/article/details/118278633

版权声明:
作者:Gweek
链接:https://bbs.geek.nyc.mn/archives/100
来源:Gweek postHub
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录