本文最后更新于2022年3月28日,已超过 60 天没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

在centos7上部署wordpress


WordPress是全球最受欢迎的开源博客和CMS平台,为当今互联网上所有网站的四分之一提供支持。它基于PHP和MySQL,并包含大量功能,可以使用免费和高级插件和主题进行扩展。 WordPress是创建在线商店,网站或博客的最简单方法。

本教程介绍了如何在CentOS 7上安装WordPress。这是一个非常简单的过程

这里我们使用WordPress+php+Mysql+Nginx的方案,你只需要有一个公网ip的服务器,和一个具有sudo特权的账号(最好是root账号)

部署Nginx

关于Nginx的安装可以参考我的另一篇文章《编译安装GCC,Nginx,Nodejs,Python3,Proxychains,Git,Screen》 中的编译安装Nginx小结。

Nginx安装完成后,打开并修改nginx的配置文件

nvim /opt/nginx/conf/nginx.conf

把第二行的user设置为root (暂时,正式运行的时候需要设置为一个权限受限的子账号)

image-20220327210434223

把第44和45行做如下修改

image-20220327204614334

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        root   html/wordpress;
        index  index.php index.html index.htm;
    }

然后启用第65到71行的代码,并修改root和fastcgi_param参数

image-20220327231359335

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

下载wordPress

在wordpress官网下载最新版本,点击前往 注意,下载的是 .tar.gz的格式

image-20220327160044154

或者使用wget指令下载 , 最好开代理。

[root@VM-16-12-centos wordpress-temp]# wget https://cn.wordpress.org/latest-zh_CN.tar.gz

使用 tar -zxvf latest-zh_CN.tar.gz指令解压 ,我们可以得到这样的目录结构

[root@VM-16-12-centos wordpress-temp]# tree . -C -L 2
.
|-- latest-zh_CN.tar.gz
`-- wordpress
    |-- index.php
    |-- license.txt
    |-- readme.html
    |-- wp-activate.php
    |-- wp-admin
    |-- wp-blog-header.php
    |-- wp-comments-post.php
    |-- wp-config-sample.php
    |-- wp-content
    |-- wp-cron.php
    |-- wp-includes
    |-- wp-links-opml.php
    |-- wp-load.php
    |-- wp-login.php
    |-- wp-mail.php
    |-- wp-settings.php
    |-- wp-signup.php
    |-- wp-trackback.php
    `-- xmlrpc.php

4 directories, 17 files

把wordpress目录移动到/opt/nginx/html

mv /root/wordpress-temp/wordpress /opt/nginx/html/

部署mysql(mariadb)

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。MariaDB名称来自Michael Widenius的女儿Maria的名字。成立于2009年,MySQL之父Michael “Monty” Widenius用他的新项目MariaDB完成了对MySQL的“反戈一击”。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 过去一年中,大型互联网用户以及Linux发行商纷纷抛弃MySQL,转投MariaDB阵营。MariaDB是目前最受关注的MySQL数据库衍生版,也被视为开源数据库MySQL的替代品。

——引用自百度百科

安装并启动

# 安装
[root@VM-16-12-centos ~]# yum install -y mariadb-server mariadb 
# 启动
[root@VM-16-12-centos ~]# systemctl start mariadb
# 验证是否启动
[root@VM-16-12-centos ~]# netstat -tunlp | grep mysql
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      8306/mysqld

登录并修改密码

使用指令,登录到mysql,默认没有密码,直接按回车跳过

[root@VM-16-12-centos ~]# mysql -uroot -p

使用指令set password for root@localhost = password('密码');来修改密码

MariaDB [(none)]> set password for root@localhost = password('root');
Query OK, 0 rows affected (0.00 sec)

创建wordpress数据库

数据库名可以任意取,只需要在后续配置中指定这个库名即可,这里使用wordpress这个库名,创建时注意指定字符集为utf8,否则无法正常保存中文。

使用指令create database wordpress DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;创建数据库,关于mysql的使用可以参考我的另一篇文章《mysql基本操作》

MariaDB [(none)]> create database wordpress DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

创建一个mysql子账户

创建子账户并限制子账户的权限,可以减小博客被入侵造成的损失。

先登录mysql,在交互模式下执行下面创建语句

CREATE USER '用户名'@'localhost'  IDENTIFIED BY '密码'; #这种创建方式只能本地登录 
CREATE USER '用户名'@'%' IDENTIFIED BY '密码'; #这种创建方式可以远程登录,即别的地方可以登录 

image-20220327201815354

授予用户对wordpress数据库的权限

grant all privileges on `wordpress`.* to 'wp-admin'@'localhost';

刷新权限

flush privileges;

可以使用新建的用户登录mysql然后操作wordpress库来检验是否成功。

image-20220327202216020

安装php7.2

wordpress推荐的php版本为7.2,执行下面语句即可安装

sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php72
sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl

现在我们安装了PHP FPM。

配置wordpress

以上操作都完成后,运行wordpress进入前端页面来完成本地化配置

运行nginx

nginx

【Tips】: 可以使用指令nginx -t来测试配置文件nginx.conf是否正确

[root@VM-16-12-centos ~]# nginx -t
nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /opt/nginx/conf/nginx.conf test is successful

会占用80端口

运行php-fastcgi

systemctl enable php-fpm
systemctl start php-fpm

会占用9000端口

运行mysql

systemctl start mariadb

会占用3306端口

使用指令netstat -tunlp,查看端口的占用情况

image-20220327233032627

如图所示,则为运行成功。

用浏览器访问这台服务器的80端口,得到下面的界面

image-20220327233246381

image-20220327233633996

完成填写并提交后/opt/nginx/html/wordpress/目录下会生成一个wp-config.php文件,如果没有,可以按照前端的提示,手动创建文件并把内容复制进去。

有了wp-config.php文件后再次访问该服务器的80端口,就会出现下面的界面。

image-20220327234111317

填写完成就能登录到站点了,又多了一位php个人站长 Σ(゚д゚;)


有帮助的话请打个赏吧!