前言
使用wordpress多站点功能时遇到了一些困难,需要做些测试,只能从头构建环境。结果发现其实挺简单的。
一、wordpress环境的核心组件
-
服务器操作系统
这个没啥好说的,基本上就是Windows Server 和各种版本的Linux. 我试过Windows Server 2012R 和 CentOS, 感觉基于Linux的文章会多一些,如果对命令行不陌生,选Linux操作系统会比较容易一些。 -
Web服务器软件
最常见的是IIS, Apach, Nginx. 貌似IIS主要配套用于Windows Server。
个人经验是做为初学,用Apach比较好,wordpress可以直接修改配置。 -
php 程序
不解释, php都不理解,折腾啥网站嘛。 -
数据库软件
选择多了去,不过最常用的还是Mysql 和 Mariadb, 开源嘛。只所以要数据库软件,是因为用wordpress开发网站,网页里的文字内容(包括配置内容)其实是存在数据库里的,不是放在服务器目录中的。 -
数据库管理软件(可选)
网上各种教程里提到的最多的是phpMyAdmin, 好处是网页版,简单易懂,坏处是必须装在server上。用其它常规的数据库管理软件也行,比如宇宙第一的DBeaver。实际上不怎么用得到,我只是用它来探究过wordpress的信息架构。 -
wordpress 本身
二、安装过程
真正要做的网站所在的服务器我没有权限,所以仿照它的配置:
CentOS 7 + Apach + PHP7 + Mariadb + (phpMyAdmin不装) + wordpress6.3.2
1.申请免费的云服务器
之前已经申请过阿里的,所以没机会了,改申请腾讯的。
腾讯云
申请时选择哪个系统其实并不重要,因为随时可以重新安装镜像,毕竟是自己试着玩嘛。
记得启动服务以后,要开启一些端口
2.安装过程中的一些注意事项
安装过程参考了此文章:centos 7 搭建wordpress 网站详细教程
就不重复了,依葫芦画瓢就是了。
但是有一些要点记录如下:
-
文章中安装的是MySQL, 我安装的是MariaDB, 所以安装命令要改成
yum install mariadb-server -y
一定要注意是mariadb-server, 如果少了-server, 安装的会是mariadb的client端,就是数据库前台管理工具。
用这个办法安装的是MariaDB的最新版本。
创建数据库时如果用前台工具,要注意一下字符集,utf8 或utf8mb4都行,不要是其它的。比如DBeaver默认会是latin1
-
安装完wordpress,
-
文章中的第七步,修改文件目录权限极其重要!!!如果没做的话,大概率会遇到wordpress中无法上传图片,无法增改主题等问题。而且文章中编辑wordpress配置文件是在修改了权限之后做的,这会导致wp-config.php文件的owner仍然是root (假定是以root身份登录服务器的), 所以正确的做法是修改完配置文件以后再做权限修改。
-
文章中下载wordpress的方法是下载最新的版本,如果要下载指定版本,可以到wordpress官网上,找到对应版本的link。
Release Archive – WordPress.org
然后用wget 来下载即可. -
版本兼容性是个问题,在安装前,要检查一下各个组件的版本是否兼容:
WordPress Compatibility
3. 用到的一些Linux/MariaDB命令
对Linux不熟悉,记录一些常用命令备忘。
- 文件/目录操作
进入目录: cd , 例如 /var/www/html,这个跟DOS倒是一样的。
创建目录: mkdir
删除目录: rm , 例如 rm -rf /var/www/html/* 注意要加上f ,否则每一个文件都要确认。
忘记的时候,可以加 --help来显示帮助
列出目录下文件: ls , 例如ls -a 列出含隐藏文件,ls -l 相当于ll, 列出读写属性
复制文件及目录: cp - vim 使用
按ESC键在命令模式和编辑模式间切换。
按下ESC, 输入i, 正文会出现"INSERT" 字样,则表示进入了编辑模式。
按下ESC, 输入: (按下键盘上的shift键和分号键, 跟正常输入:一样), 在最下方出现冒号: , 则说明进入了命令模式,可以输入命令
输入字母w 代表存盘(wirte); 字母q代表退出(quit), 注意如果做了编辑,未存盘退出,要用q!这两个字母。 - Mariadb
在前台操作也很方便,但有时还是需要在后台操作
登录:mysql -u root -p
查看当前数据库有哪些db: show databases
查看用户:use mysql; select user, host from user;
创建用户: CREATE USER ‘username’@‘host’ IDENTIFIED BY ‘password’; 如果允许用户从任一地方登录,则host 用 %, 如果只允许用户从DB所在的服务器登录,则host* 用 localhost; 如果指定用户从某个ip登录,则host用该IP.
设置用户权限: GRANT privileges ON databasename.tablename TO ‘username’@‘host’,设好后用flush privileges;强制刷新。
privilege可以用show privileges; 命令查询
常见的有:
创建数据库: create database database_name;