Centos7上部署WordPress

本文详细介绍如何在CentOS7上部署WordPress博客系统,包括安装Nginx、PHP、MySQL及WordPress本身,还介绍了SSL证书配置及常见问题解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

修改了一下网站的部署方式,从老虚主机服务器和nameslio域名迁移到了国内的阿里云上,并进行了国内的网站备案,备案时间大概一个多星期左右,总体来说备案还是挺方便的,也加大了网站的搜索率。

操作场景

WordPress 是一款常用的搭建个人博客网站软件,该软件使用 PHP 语言开发。您可通过在服务器的简单操作部署 WordPress,发布个人博客。
基本步骤

搭建 LNMP 环境LNMP 是 Linux、Nginx、MariaDB 和 PHP 的缩写,这个组合是最常见的 Web 服务器的运行环境之一。在创建并登录云服务器实例之后,您可以开始进行 LNMP 环境搭建。

LNMP 组成说明:

  • Linux:Linux 系统
  • Nginx:Web 服务器程序,用来解析 Web 程序
  • MariaDB或者Mysql:一个数据库管理系统, 注释:本网使用的是mysql
  • PHP:Web 服务器生成网页的程序

默认已获取 root 权限。在 root 权限下,根据以下步骤分步安装

使用 yum 安装软件和配置

登录云服务器后,默认已获取 root 权限。在 root 权限下,根据以下步骤分步安装。

1.安装配置 Nginx

1.执行以下命令,安装 Nginx。

 

1

yum -y install nginx

 

2. 执行以下命令,打开nginx.conf文件

 

1

vim /etc/nginx/nginx.conf

 

3.按 “i” 或 “Insert” 切换至编辑模式,将 nginx.conf 文件中 server{…} 的内容替换成以下内容。用于取消对 IPv6 地址的监听,同时配置 Nginx,实现与 PHP 的联动。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

 server {
 listen       80;
 root   /usr/share/nginx/html;
 server_name  localhost;
 #charset koi8-r;
 #access_log  /var/log/nginx/log/host.access.log  main;
 #
 location / {
         index index.php index.html index.htm;
 }
 #error_page  404              /404.html;
 #redirect server error pages to the static page /50x.html
 #
 error_page   500 502 503 504  /50x.html;
 location = /50x.html {
     root   /usr/share/nginx/html;
 }
 #pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
 #
 location ~ .php$ {
     fastcgi_pass   127.0.0.1:9000;
     fastcgi_index  index.php;
     fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
     include        fastcgi_params;
  }
}

 

4.按 “Esc”,输入 “:wq”,保存文件并返回。
依次执行以下命令,启动 Nginx ,设置为开机自启动。

 

1
2

systemctl start nginx
systemctl enable nginx

 

5. 在浏览器中,访问 CentOS 云服务器实例公网 IP,查看 Nginx 服务是否正常运行。显示如下,则说明 Nginx 安装配置成功。

2.安装配置 PHP(分为7.2和7.3过程,7.3为最新版,7.2是上一版本较为稳定,可自行选择)

php7.2安装过程

1.执行以下命令,更新 yum 中 PHP 的软件源。

 

1

rpm -Uvh https://mirrors.cloud.tencent.com/epel/epel-release-latest-7.noarch.rpm

1

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

 

2.执行以下命令,查看可安装的 PHP7.2.19 的所有包

 

1

yum search php72w

 

3.执行以下命令,安装需要的包。

 

1

yum -y install mod_php72w.x86_64 php72w-cli.x86_64 php72w-common.x86_64 php72w-mysqlnd php72w-fpm.x86_64

 

4.依次执行以下命令,启动 PHP-FPM 服务,同时设置为开机自启动

 

1
2

systemctl start php-fpm
systemctl enable php-fpm

 

php7.3安装过程

1.首先安装 EPEL 源:

 

1

yum install epel-release

 

2. 安装 REMI 源:

 

1

yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

 

3.安装 Yum 源管理工具:

 

1

yum install yum-utils

 

4.安装 PHP7.3及相关组件:

 

1

yum install -y php73-php-fpm php73-php-cli php73-php-bcmath php73-php-gd php73-php-json php73-php-mbstring php73-php-mcrypt php73-php-mysqlnd php73-php-opcache php73-php-pdo php73-php-pecl-crypto php73-php-pecl-mcrypt php73-php-pecl-geoip php73-php-recode php73-php-snmp php73-php-soap php73-php-xmll

 

php设置开机启动、运行服务:

 

1

systemctl enable php73-php-fpm systemctl start php73-php-fpm

 

验证 PHP-Nginx 环境配置

1.执行以下命令,创建测试文件。

 

1

echo "" >> /usr/share/nginx/html/index.php

 

2.在浏览器中,访问该index.php文件,查看环境配置是否成功

3.安装数据库可以选择Mysql或者 MariaDB选择其中一个即可

安装 Mysql(选择其中一种数据库安装即可)

1.在 CentOS 7 中的 yum 源中是没有 Mysql 的,其默认数据库是 MariaDB;可以通过以下命令行进行下载安装:

 

1

sudo rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm yum install mysql mysql-server mysql-libs mysql-server

 

2.再将其服务重新启动:

 

1

systemctl restart  mysql.service

 

3.键入以下命令行,测试 Mysql 是否安装成功:

 

1

mysql -u root -p

 

4.默认是没有密码的,回车进入,当看见以下情况证明安装成功

5.Mysql 安装好后,以 root 账号登录进去,默认是没有密码的,直接回车就行;那么我们顺带说一下如何修改其默认密码:首先,选中 mysql 数据库:

 

1

use mysql;

1

update user set password=password('新密码') where user='root';

1

#再,刷新用户权限列表

1

flush privileges;

 

6.最后键入 exit 退出,在重新输入 mysql -u root -p 登录试试,能登录进去即为成功。

7.开机默认启动Mysql 服务

 

1

systemctl restart mysqld.service  systemctl enable mysqld.service

 

8.再次登录mysql创建数据库

 

1

create database wordpress;

 

安装 MariaDB(选择其中一种数据库安装即可)

1.执行以下命令,查看系统中是否存在 MariaDB 现有包。

 

1

rpm -qa | grep -i mariadb

 

2.返回结果类似如下内容,则表示已存在 MariaDB,请执行步骤3。

3.执行以下命令,删除 MariaDB 现有包

 

1

yum -y remove 包名

 

4.执行以下命令,在 /etc/yum.repos.d/ 下创建 MariaDB.repo 文件。

 

1

 vi /etc/yum.repos.d/MariaDB.repo

 

5.按 i 切换至编辑模式,写入并保存以下内容

 

1

# MariaDB 10.4 CentOS7-amd64  [mariadb] name = MariaDB   baseurl = http://mirrors.cloud.tencent.com/mariadb/yum/10.4/centos7-amd64/ gpgkey = http://mirrors.cloud.tencent.com/mariadb/yum/RPM-GPG-KEY-MariaDB gpgcheck=1

 

6.执行以下命令,清除 yum 缓存。

 

1

 yum clean all

 

7.执行以下命令,安装 MariaDB。

 

1

yum -y install MariaDB-client MariaDB-server

 

8.依次执行以下命令,启动 MariaDB 服务,并设置为开机自启动。

 

1

systemctl start mariadb systemctl enable mariadb

 

9.配置 MariaDB注意:

  • 针对首次登录 MariaDB 的用户须执行此步骤设置登录密码,如已设置过 MariaDB 登录密码,请跳过此步骤。
  • 根据 MariaDB 版本,设置用户身份验证方式有一定区别,具体步骤请参见 MariaDB 官网。

10.执行以下命令,进入 MariaDB。

 

1

mysql

 

11.执行以下命令,设置 root 用户身份验证方式。

 

1

ALTER USER root@localhost IDENTIFIED VIA mysql_native_password;

 

12.执行以下命令,设置 root 用户登录密码。

 

1

SET PASSWORD = PASSWORD('此处填写密码');

 

13.显示结果如下,则已成功设置。

14.执行以下命令,退出 MariaDB。

 

1

\q

 

4.安装 WordPress

1.WordPress 可从 WordPress 官方网站 下载 WordPress 最新中文版本并安装,本教程采用 WordPress 中文版本。

 

1

https://cn.wordpress.org/download/releases/

 

2.执行以下命令,删除网站根目录下用于测试 PHP-Nginx 配置的index.php文件

 

1

rm -rf /usr/share/nginx/html/index.php

 

3.依次执行以下命令,进入/usr/share/nginx/html/目录,并下载与解压 WordPress。

 

1

cd /usr/share/nginx/html wget https://cn.wordpress.org/wordpress-5.0.4-zh_CN.tar.gz tar zxvf wordpress-5.0.4-zh_CN.tar.gz 把文件复制到 /var/www/html 目录下 cp -rf wordpress/* /usr/share/nginx/html/

 

4.写入数据库信息

 

1

cd /usr/share/nginx/html cp wp-config-sample.php wp-config.php

 

5.执行以下命令,打开并编辑新创建的配置文件。

 

1

vim wp-config.php

 

6.按 “i” 或 “Insert” 切换至编辑模式,找到文件中 MySQL 的部分,将 配置数据库 中已配置好的数据库相关信息写入。

 

1

// ** MySQL settings - You can get this info from your web host ** //  /** The name of the database for WordPress */  define('DB_NAME', 'wordpress');  /** MySQL database username */  define('DB_USER', 'user');  /** MySQL database password */  define('DB_PASSWORD', 'wordpresspassword');  /** MySQL hostname */  define('DB_HOST', '127.0.0.1');

 

7.改完成后,按“Esc”,输入“:wq”,保存文件返回。

验证 WordPress 安装

在浏览器地址栏输入云服务器实例的公网 IP 加上 worspress 文件夹,

 

1

http://192.xxx.xxx.xx /wordpress

 

修改wordpress设置

1.主题插件登无法安装的请设置ftp进入wp-content目录,新建tmp文件夹,设置文件夹的权限为777。返回网站根目录,编辑wp-config.php

 

1

vi wp-config.php #在文件后加入 define('WP_TEMP_DIR',ABSPATH.'wp-content/tmp'); define("FS_METHOD","direct"); define("FS_CHMOD_DIR",0777); define("FS_CHMOD_FILE",0777);

 

2.xml无法上传的安装php-xml,使用服务器php能解析xml文件。

 

1

yum -y install php70w-xml #根据php版本定若已经安装可以不用安

1

systemctl  restart  nginx.service 或 systemctl  restart  httpd.service systemctl restart php-fpm.service

 

3.修改固定链接后无法问

打开编辑nginx的配置文件

 

1

vim/etc/nginx/nginx.conf

 

按“i”或insert在server{}下的location/{}下添加一下代码

 

1

if ($request_filename ~ (.

1

)/archives/[0-9]

1

$){<br>              rewrite (/archives/[0-9]

1

$) $1.html permanent;          }                      if (-f $request_filename/index.php){               rewrite (.

1

) $1/index.php;<br>          }<br>           if (!-f $request_filename){<br>               rewrite (.

1

) /index.php;          }           if (-f $request_filename/index.html){               rewrite (.

1

) $1/index.html break;<br>          }

 

“esc”退出“wq”保存并退出即可。c

4.WordPress自动生成缩略图, 节省网站空间

WordPress网站在上传图片附件时, 会自动生成各种尺寸的缩略图, 大都以*-300×300.jpg, *-150×150.jpg, *-120×120.jpg等后缀结尾, 方便编辑时调用. 但是当文章发布后未使用的缩略图不会被自动删除, 单张图片虽然不大, 但时间一长会积攒大量缩略图占用网站空间, 而且进FTP手动删除这些缩略图后又会自动生成, 本篇教你如何彻底禁止WordPress自动生成缩略图, 以节约备份和恢复网站时间.

(1) 媒体选项进入WP后台 – 设置 – 媒体, 将缩略图大小, 中等大小, 大尺寸中的宽度和高度全部设为0, 取消勾选总是裁剪缩略图到这个尺寸(一般情况下,缩略图应保持原始比例)

(2)上帝模式媒体选项中设置完后, 其实并没有完全禁止, 它还会自动生成一个768像素的缩略图, 因为WP4.4以上版本将这个尺寸写入在了options中.所谓上帝模式, 其实就是WordPress隐藏的全局设置, 在该页可以总览WordPress全局设置,还能开启一些只能进入数据库才能修改的设置.进入方法: http://你的域名/wp-admin/options.php然后使用Ctrl+F搜索medium_large_size_w, 将768改为0并保存即可.

(3)安装插件

插件名:Image Sizes

选择需要的禁止即可

5.nginx配置ssl证书实现https访问

1.下载ssl nignx的证书文件

2.在nginx的安装目录下新建文件夹

 

1

mkdir /etc/nginx/cert

 

3.将下载好的文件上传到该目录下

4.编辑nginx的配置文件

 

1

vim /etc/nginx/nginx.conf

 

按 “i” 或 “Insert” 切换至编辑模式,将 nginx.conf 文件中 server{…} 的内容替换成以下内容。

5.重启nginx服务器

 

1

systemctl restart nginx

 

6.修改wordpress的配置文件

 

1

vim /usr/share/nginx/html/wp-config.php

 

在末尾添加下面两行

 

1

define('FORCE_SSL_LOGIN', true);<br> define('FORCE_SSL_ADMIN', true);

 

7.登录后台页面在设置中修改固定链接为https://的前缀

以上即为在Centos7上安装wordpress的过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大雄是个程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值