【保姆级教程】基于WordPress在阿里云服务器上搭建个人博客网站

222

写之前先回答几个问题:

1,网上类似的教程非常多,为什么写这篇教程?

答:博客网站我搭建过好几次,但是每次搭建都需要再去网上搜教程;然而网上的教程坑很多,甚至有些是错误的,不能完美解决自己的问题,有时候自己踩过的坑还会再踩一次,所以想通过这篇文章记录下来;我会力求把自己遇到的坑全写出来,避免其它人再踩进去。这篇文章我会写的非常详细,所以叫保姆级教程。

2,为什么选择WordPress框架搭建,而不用Hexo,Typecho?

答:并不是不想用Hexo,或者是Typecho;相反我很喜欢这两个框架,它们相对WordPress非常的轻量,加载速度很快,并且原生支持MarkDown编辑器,对于MarkDown爱好者(我)非常有吸引力。但是作为初学者,我第一个接触到的CMS系统就是WordPress,它作为免费的开源项目,已经发展多年,功能强大,插件众多,有非常多免费的主题,安装使用都很方便,很适合初学者使用。

3,为什么在云服务器上自己搭建博客网站,在CS某N,开源中国上写不行吗,或者在GitHub page或者Gitee page上白嫖不香吗?

答:可以,行,白嫖很香;但是在别人的平台写东西多少会有限制,不如在自己的平台上来的随便。我之前在CS某N上写的教程阅读过五万,结果被举报后直接给我删除了。并且云服务器不光可以搭建网站,还可以做很多其它有意思的东西,现在云服务器也非常便宜了,买一个有公网IP的云服务器我觉得是更香的。

废话不多说了,下面开始本篇教程,既然是保姆级教程,肯定是针对之前没用过或玩过服务器的小白的,各位大佬看到请绕过哈(狗头饶命)。

文章的写作框架是:

  • 购买云服务器
  • 域名备案
  • 安装LNMP框架
  • 安装WordPress
  • WordPress主题,插件安装
  • 错误汇总

如果安装过程中遇到错误,先去错误汇总里看看是不是类似的错误;不是再去网上搜索。

这是我搭建好的博客网站:十一维智子

这篇教程同步更新在我的博客上,如果你在电脑上可以直接访问我的博客搭建。

欢迎大家访问收藏,未来我持续更新更多有意思的教程。

1,购买云服务器

首先是购买云服务器,现在各种云服务器的大小厂商非常多,这里还是推荐大厂比较保险一些;毕竟小公司说不定哪天就倒闭了,那么你的网站也就没了;这里你可以选择腾讯云或者阿里云,这两家应该是目前国内最大的两家云服务提供商了;两家目前对新用户都有很大的优惠,相信看这篇教程很大一部分之前都没用过云服务器吧;这里我用的是阿里云的轻量服务器。2核4G内存的服务器,新用户三年只需要200元,这是我目前见多最大的优惠了;

阿里云入口:购买链接

image-20211103215455775

由于我是老用户,于是用女朋友的号注册,果断入手三年;这里我算了一下,新用户一年是68元,但是续费需要99元(能续费两次),直接买三年是204元,还是这样划算哈哈。

001

2,域名备案

购买完服务器后,如果你想通过域名访问的话,你还需要购买一个域名,如果暂时不想购买域名,可以先跳过这一步。

域名可以在万网购买,万网链接,可以选择.top域名,首年只要5元,后面续费也不贵。

image-20211103220358958

买过域名,需要备案了,这个可能需要好几天了,可以在阿里云直接备案,下面是具体的备案流程;推荐在阿里云app上备案,好像更快一点。

image-20211103220659619

3,安装LNMP框架

假设现在你云服务器和域名都准备好了,现在开始搭建网站;阿里云轻量服务器可以直接选择wordpress应用镜像,也就是阿里云直接帮你搭建好了。这里为了学习搭建,我们选择系统镜像:CentOS 8.2,从零开始搭建wordpress。

image-20211103221407342

背景信息:

  • 操作系统:公共镜像CentOS 8.1 64位
  • CPU:2 vCPU
  • 内存:4 GiB
  • 网络类型:专有网络VPC
  • IP地址:公网IP

当你选择好服务器系统镜像后,阿里云就会为你生成实例了,然后进入到你的控制台(右上角)页面,找到你的轻量服务器实例,这时候你就需要通过SSH远程连接了,这里推荐Xshell或者Finalshell进行连接。

image-20211103222542581

我这里用的是Finalshell进行的连接;主机位置输入你的公网IP,然后输入用户名和密码就可以了。

实例内需要安装并配置的软件版本如下所示。当您使用不同软件版本时,可能需要根据实际情况调整命令和参数配置。
Nginx版本:Nginx 1.16.1
MySQL版本:MySQL 8.0.17
PHP版本:PHP 7.3.5

步骤一:准备编译环境

  1. 远程连接Linux实例。

  2. 关闭防火墙。
    1)运行systemctl status firewalld命令查看当前防火墙的状态。

    查看防火墙状态

    如果防火墙的状态参数是inactive,则防火墙为关闭状态。
    如果防火墙的状态参数是active,则防火墙为开启状态。本示例中防火墙为开启状态,因此需要关闭防火墙。

    2)关闭防火墙。如果防火墙为关闭状态可以忽略此步骤。
    如果您想临时关闭防火墙,运行命令 systemctl stop firewalld。
    说明:这只是暂时关闭防火墙,下次重启Linux后,防火墙还会开启。
    如果您想永久关闭防火墙,运行命令systemctl disable firewalld。
    说明: 如果您想重新开启防火墙,请参见firewalld官网信息。

  3. 关闭SELinux。

    1)运行getenforce命令查看SELinux的当前状态。

    如果SELinux状态参数是Disabled,则SELinux为关闭状态。
    如果SELinux状态参数是Enforcing,则SELinux为开启状态。本示例中SELinux为开启状态,因 此需要关闭SELinux。

    2)关闭SELinux。如果SELinux为关闭状态可以忽略此步骤。
    如果您想临时关闭SELinux,运行命令setenforce 0。

说明 :这只是暂时关闭SELinux,下次重启Linux后,SELinux还会开启。

如果您想永久关闭SELinux,运行命令vim /etc/selinux/config编辑SELinux配置文件。回车后,把光标移动到SELINUX=enforcing这一行,按i键进入编辑模式,修改为SELINUX=disabled,按Esc键,然后输入:wq并按Enter键以保存并关闭SELinux配置文件。 最后重启系统使设置生效。

说明 :如果您想重新开启SELinux,请参见开启或关闭SELinux。

步骤二:安装Nginx

  1. 运行以下命令安装Nginx。

    本教程将选用Nginx 1.16.1版本。

    dnf -y install http://nginx.org/packages/centos/8/x86_64/RPMS/nginx-1.16.1-1.el8.ngx.x86_64.rpm
    
  2. 运行以下命令查看Nginx版本。

    nginx -v
    

查看版本结果如下所示。

mysql  Ver 8.0.17 for Linux on x86_64 (Source distribution)

步骤三:安装MySQL

  1. 运行以下命令安装MySQL。

     dnf -y install @mysql
    
  2. 运行以下命令查看MySQL版本。

    mysql -V
    

    查看版本结果如下

    mysql  Ver 8.0.17 for Linux on x86_64 (Source distribution)
    

步骤四:安装PHP

  1. 运行以下命令添加并更新epel源。
dnf -y install epel-release
dnf update epel-release
  1. 运行以下命令删除缓存的无用软件包并更新软件源。
dnf clean all
dnf makecache
  1. 启用php:7.3模块。
dnf module enable php:7.3
  1. 运行以下命令安装PHP相应的模块。
dnf install php php-curl php-dom php-exif php-fileinfo php-fpm php-gd php-hash php-json php-mbstring php-mysqli php-openssl php-pcre php-xml libsodium
  1. 运行以下命令查看PHP版本。
php -v

查看版本结果如下所示。

PHP 7.3.5 (cli) (built: Apr 30 2019 08:37:17) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.5, Copyright (c) 1998-2018 Zend Technologies

步骤五:配置Nginx

  1. 运行以下命令查看Nginx配置文件的默认路径。
cat /etc/nginx/nginx.conf

在http大括号内,查看include配置项。即配置文件的默认路径。

conf

  1. 在配置文件的默认路径下,备份默认配置文件。
cd /etc/nginx/conf.d
cp default.conf default.conf.bak
  1. 修改默认配置文件。
  • 运行以下命令打开默认配置文件。
    vi default.conf
    
  • i进入编辑模式
  • location大括号内,修改以下内容。
location / {
    #将该路径替换为您的网站根目录。
    root   /usr/share/nginx/html;
    #添加默认首页信息index.php。
    index  index.html index.htm index.php;
}
  • 去掉被注释的location ~ \.php$大括号内容前的#,并修改大括号的内容。修改完成如下所示。
location ~ \.php$ {
    #将该路径替换为您的网站根目录。
    root           /usr/share/nginx/html;
    #Nginx通过unix套接字与PHP-FPM建立联系,该配置与/etc/php-fpm.d/www.conf文件内的listen配置一致。
    fastcgi_pass   unix:/run/php-fpm/www.sock;
    fastcgi_index  index.php;
    #将/scripts$fastcgi_script_name修改为$document_root$fastcgi_script_name。
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    #Nginx调用fastcgi接口处理PHP请求。
    include        fastcgi_params;
}

说明 Nginx与PHP-FPM进程间通信方式有两种。
TCP Socket:该方式能够通过网络,可用于跨服务器通信的场景。
UNIX Domain Socket:该方式不能通过网络,只能用于同一服务器中通信的场景。

  • 按下Esc键,并输入:wq保存退出文件。
  1. 运行以下命令启动Nginx服务.
systemctl start nginx
  1. 运行以下命令设置Nginx服务开机自启动。
systemctl enable nginx

步骤六:配置MySQL

  1. 运行以下命令启动MySQL,并设置为开机自启动。
systemctl enable --now mysqld
  1. 运行以下命令查看MySQL是否已启动。
systemctl status mysqld

查看返回结果中Active: active (running)表示已启动。
3.运行以下命令执行MySQL安全性操作并设置密码。

mysql_secure_installation

命令运行后,根据命令行提示执行如下操作。

  • 输入Y并回车开始相关配置。
  • 选择密码验证策略强度,输入2并回车。策略0表示低,1表示中,2表示高。建议您选择高强度的密码验证策略。
  • 设置MySQL的新密码并确认。本示例设置密码PASSword123!
  • 输入Y并回车继续使用提供的密码。
  • 输入Y并回车移除匿名用户。
  • 设置是否允许远程连接MySQL
    • 不需要远程连接时,输入Y并回车。
    • 需要远程连接时,输入N或其他任意非Y的按键,并回车。
  • 输入Y并回车删除test库以及对test库的访问权限。
  • 输入Y并回车重新加载授权表。
    ### 步骤七:配置PHP
  1. 修改PHP配置文件。
  • 运行以下命令打开配置文件。
    vi /etc/php-fpm.d/www.conf
    
  • i进入编辑模式
  • 找到user = apachegroup = apache,将apache修改为nginx

php-fpm conf

  • 按下Esc键,并输入:wq保存退出文件。
  1. 运行以下命令启动PHP-FPM
systemctl start php-fpm
  1. 运行以下命令设置PHP-FPM开机自启动。
systemctl enable php-fpm

4,安装WordPress

  1. 进入MySQL数据库。使用root用户登录MySQL,并输入密码。密码为您在搭建环境时为数据库设置的密码。
mysql -uroot -p
  1. 为WordPress网站创建数据库。本教程中数据库名为wordpress
create database wordpress;
  1. 创建一个新用户管理WordPress库,提高安全性。MySQL在5.7版本后默认安装了密码强度验证插件validate_password。您可以登录MySQL后查看密码强度规则。
show variables like "%password%";

在本教程中创建用户user,新用户密码为PASSword123.

create user 'user'@'localhost' identified by 'PASSword123.';
  1. 赋予用户对数据库wordpress的全部权限。
grant all privileges on wordpress.* to 'user'@'localhost';
  1. 使配置生效。
flush privileges;
  1. 退出MySQL。
exit;
  1. 下载并解压WordPress,然后移动至网站根目录。进入Nginx网站根目录,下载WordPress。
cd /usr/share/nginx/html
wget https://wordpress.org/wordpress-5.4.2.zip

说明 下载过慢或失败时,可以尝试运行命令

wget https://cn.wordpress.org/latest-zh_CN.zip

下载WordPress(cn.wordpress.org为WordPress简体中文网站,通过该命令下载的WordPress默认为中文版本)。同时您需要注意,后续操作中压缩包的名称必须替换为latest-zh_CN.zip。

  1. 解压WordPress压缩包。
unzip wordpress-5.4.2.zip
  1. 将WordPress安装目录下的wp-config-sample.php文件复制到wp-config.php文件中,并将wp-config-sample.php文件作为备份。
cd /usr/share/nginx/html/wordpress
cp wp-config-sample.php wp-config.php
  1. 编辑wp-config.php文件。
vim wp-config.php
  1. i键切换至编辑模式,根据已配置的WordPress数据库信息,修改MySQL相关配置信息,修改代码如下所示。WordPress网站的数据信息将通过数据库的user用户保存在名为wordpress的数据库中。
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress');

/** MySQL数据库用户名 */
define('DB_USER', 'user');

/** MySQL数据库密码 */
define('DB_PASSWORD', 'PASSword123.');

/** MySQL主机 */
define('DB_HOST', 'localhost');
  1. 修改完成后,按下Esc键,并输入:wq保存退出文件。

修改Nginx配置文件

  1. 运行以下命令打开Nginx配置文件。
vi /etc/nginx/conf.d/default.conf
  1. i键进入编辑模式。在location /大括号内,将root后的内容替换为WordPress根目录。本示例中根目录为/usr/share/nginx/html/wordpress。

nginx

location ~ .php$大括号内,将root后的内容替换为WordPress根目录。

nginx

修改完成后按Esc键,输入:wq保存并退出配置文件。

  1. 运行以下命令重启Nginx服务。
systemctl restart nginx

安装并登录WordPress网站

  • 在本地物理机上使用浏览器访问ECS实例公网IP,进入WordPress安装页面。

  • 填写网站基本信息,然后单击安装WordPress。填写信息参数说明

    • 站点标题:WordPress网站的名称。例如:demowp。
    • 用户名:登录WordPress时所需的用户名,请注意安全性。例如:testwp。
    • 密码:登录WordPress时所需的密码,建议您设置安全性高的密码。例如:Wp.123456。
    • 您的电子邮件:用于接收通知的电子邮件。例如:1234567890@aliyun.com。
  • 单击登录

  • 输入在安装WordPress时设置的用户名testwp和密码Wp.123456,然后单击登录

    成功进入您个人的WordPress网站。

003

5,WordPress主题,插件安装

image-20211103234721346

此时,你已经进入到wordpress后台了,网站有默认的主题,但是不好看,你可以点击外观>主题>安装主题。挑选你喜欢的主题。这里我的主题用的是Blocksy。

你还可以点击插件安装一些必要的插件。

image-20211103235031874

如图,这里推荐你安装这几个插件。

Elementor编辑器支持拖拽网站,实现可视化网站开发。

6, 错误汇总

1,当你安装完成wordpress后,后台会让你更新,你点击更新后,会让你连接ftp,但是这个是连不上的。

解决方案:

在网站安装根目录下,找到wp-config.php这个文件,本篇教程是如下目录;

cd /usr/share/nginx/html/wordpress

修改:在wp-config.php中添加下列三行代码:

vim wp-config.php

define("FS_METHOD", "direct"); 

define("FS_CHMOD_DIR", 0777); 

define("FS_CHMOD_FILE", 0777);  

然后按Esc后,输入:wq退出编辑器

执行如下操作,由于我将网站名由wordpress改成foxkee了,你应该将foxkee换成wordpress。

006

然后回车,就可以正常更新了。

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值