WordPress编译安装 Centos+Nginx+Php+Mysql
部署环境:
系统:CentOS 7 x64
环境:nginx + mysql5.7 + php7.4
版本:wordpress 5.7.x
安装nginx
- 安装nginx
sudo yum install nginx
- 安装完成测试nginx是否安装成功,显示版本号则表明安装成功
[root@MiWiFi-RA67-srv ~]# nginx -v nginx version: nginx/1.20.1
- 启动nginx,并设置nginx开机自启
systemctl start nginx systemctl enable nginx
- 打开浏览器输入localhost 或者服务器ip地址,看到nginx的欢迎页面表明已经安装并启动
至此nginx安装完成 - 配置nginx
编辑nginx的配置文件vim /usr/local/nginx/conf/nginx.conf
修改server里面的 index索引文件,添加index.php
添加虚拟host
保存文件并退出,在当前目录下添加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
- 下载mysql安装源
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
- 安装
yum -y install mysql57-community-release-el7-10.noarch.rpm
- 查看状态
systemctl status mysqld
- 启动数据库
systemctl start mysqld
- 查看数据密码
grep "password" /var/log/mysqld.log
- 获得密码后,执行命令输入密码进入数据库,输入密码的时候控制台没有反应,输入完成回车即可
mysql -uroot -p
- 更改数据库密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
- 开启远程链接(根据需要开启,远程链接可能增加安全风险),下面的192.168.0.1 换成自己的ip地址
grant all privileges on *.* to 'root'@'192.168.0.1' identified by 'password' with grant option;
- 更新数据库权限
flush privileges;
- 创建wordpress数据库
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;;
- 添加wordpress数据库用户,并设置使用刚刚创建的数据库权限
create user 'wordpress_user'@'localhost' identified by '123456789'; grant all privileges on wordpress.* to 'wordpress_user'@'localhost' identified by '123456789';
- 查看数据
- 退出数据库
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= 并将其修改为如下所示
开启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=这里,修改成配置文件所在文件路径
添加测试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
来到部署目录设置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
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论