0x00 环境
阿里云ECS云服务器
CPU:1核
内存:2G
操作系统:Centos 7.3 x64
地域:华北 2(华北 2 可用区 A)
系统盘:40G
0x02 安装及配置
主要使用 nginx 、 php 和 mysql
注意:如果下面的设置不生效,试试重启相关的服务
systemctl restart 服务名
使用该命令重启服务
0x03 换 iptables 防火墙
systemctl stop firewalld
关闭 firewalld
systemctl disable firewalld
禁止 firewalld 自启
yum install iptables-services
安装 iptables
vim /etc/sysconfig/iptables
编辑 iptables 配置文件,开启80端口
vim /etc/selinux/config
编辑 selinux 配置,修改以下项目关闭 selinux
SELINUXTYPE=targeted
SELINUX=disable
0x04 安装 nginx
yum install gcc-c++
安装 C 编译环境
yum install pcre pcre-devel
安装 pcre 库
yum install zlib zlib-devel
安装 zlib 库
yum install openssl openssl-devel
安装 openssl
yum install nginx
安装 nginx
0x05 安装 mysql
wget http://repo.mysql.com/mysql57-community-release-el7.rpm
获取 mysql 安装包
rpm -ivh mysql57-community-release-el7.rpm
安装 mysql
yum install mysql-server
安装 mysql-server
0x06 换源
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
0x07 扩展包管理
yum install yum-utils
0x08 安装 php
yum-config-manager --enable remi-php71
yum install php
yum install php-fpm
0x09 更改 mysql 密码
grep "password" /var/log/mysqld.log
#查询mysql的log中带password的记录
mysql> set global validate_password_policy=0;
#设置密码安全等级为 0
mysql> set global validate_password_length=1;
#设置密码最小长度为 1
mysql> ALTER USER USER() IDENTIFIED BY 'passwd';
#更改密码
0x10 使 nginx 支持解析 php
cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf
vim /etc/nginx/nginx.conf
location ~ \.php$ {
root /var/www/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
0x11 安装 wordpress
这个不是最新版,链接可以去官网直接复制
tar -zxvf wordpress-4.8.1-zh_CN.tar.gz
解压
mv wordpress/ /var/www/html/
将文件夹移动到站点根目录
域名/wordpress
提示了
您的PHP似乎没有安装运行 WordPress 所必需的 MySQL 扩展。
因为忘装 php-mysql 了,,,
yum install php-mysql
systemctl restart nginx
重启 nginx
再次访问,成功进入 wordpress
因为 wordpress 需要写一些配置进去,也为了方便它升级,直接给整个 html 目录 755 的权限
chmod 755 -R /var/www/html
wordpress 需要一个自己的数据库,新建一个
进入 mysql
mysql -u root -p
新建数据库
create database wordpress;
退出 mysql
exit
不知道为什么它还是说无法写入 wp-config.php ,之后再说,先手动创建这个文件,然后把它要写的东西复制进去
vim /var/www/html/blog/wp-config.php
wp-config.php 文件里包含了数据库的一些信息,建议在安装完成后将 wp-config.php 备份
cp wp-config.php wp-config.bak
然后就可以愉快的使用 wordpress 了哈哈哈哈哈
0x12 wordpress 升级
安装结束之后后台会提示升级,鬼知道自动升级在哪台机器上会出现什么样的问题,干脆手动升级好了
不过我们要先获取一下最新版本的下载链接,比如我现在是2017年十月,最新版本是 4.8.2
在后台管理页面会有最新版本的官网链接
获取安装包
tar -zxvf latest.tar.gz
官网上的文档是这样说的
1. 删除旧的 wp-includes 文件夹和 wp-admin 文件夹。
2. 将新的 WordPress 文件复制到服务器上,覆盖根目录下的原有文件,除了 wp-content 文件(参见“注意”)。你可以使用 FTP 或 shell 命令来覆盖源文件。注意这里指的是替换所有 WordPress 文件,包括根目录下的文件。如果使用 Default 主题或 Classic 主题并做了修改,可以不替换该主题的文件。
注意: 对 wp-content 文件夹、 plugins 文件夹以及 themes 文件夹应进行特别处理。应复制这些文件的内容,而非整个文件夹。有时复制整个文件夹会覆盖之前所有自定义内容。
还要注意保留根目录下 wp-config.php 文件的内容。该文件中包含现有 WordPress 安装的各项设置,如数据库登录信息等。有时 WordPress 新版本也会在该文件中添加语句。(如 WP 2.5 添加了 SECRET_KEY 变量,参见详细升级说明)。将原有的 wp-config.php 文件和新 WordPress 安装程序中的 wp-config-sample.php 文件进行对比。将原有设置转移到 sample 文件并重命名为 wp-config.php 文件,或直接将 sample 文件中的新语句复制到原 wp-config.php 文件
我比较喜欢的做法是先将 wp-content 文件夹改名,创建一个备份,然后把所有东西扔进去,之后再从备份里慢慢把插件和主题之类的东西放到新的 wp-content 文件夹里
先改名备份
mv wp-content/ wp-content.bak
删除 wp-includes 文件夹和 wp-admin 文件夹
rm -rf wp-includes/ wp-admin/
然后把解压出来的所有东西直接扔进 wordpress 根目录
mv wordpress/* /var/www/html/blog
给 777 权限
chmod 777 -R /var/www/html/blog
设置用户
chown root:root -R /var/www/html/blog
然后登陆后台
域名/wordpress/wp-admin
0x13 删除 wordpress 插件
wordpress 的插件因为有隐藏或者嵌套的文件,所以ftp不能删除
cd wordpress/wp-content/plugins/
用
rm -rf ...
命令手动删除相应的文件或文件夹即可
0x14 上传文件大小限制
vim /etc/php.ini
修改两个值
post_max_size = 128M
upload_max_filesize = 128M
0x15 解决“在裁剪您的图像时发生了错误”
主要是因为没装 PHP GD 库
yum install php-gd
0x16 用 markdown 写文章
去查了一下,根据大家的推荐,还有一些体验的文章,发现 WP Editor.MD 这个工具似乎还不错
插件官网
下载地址
因为这是个 .zip 包,所以需要装一个叫 unzip 的工具
yum install unzip
unzip wp-editormd.zip
解压过程很漫长
把它移动到 wordpress 的插件目录
mv wp-editormd/ /var/www/html/blog/wp-content/plugins/