0x00前言

在博客园写了有一年的博客了,也想换换新口味,wordpress的众多的主题和个性化设置非常符合我的喜好,所以捣鼓了一天也算是把它搭好了。

直接在服务器上搭建wordpress还需要配置mysql,apache,php,这几个还不算麻烦,之后下载主题或插件还要配置ftp,修改php的上传大小种种,如果哪天换了vps,又有重新配置,着实麻烦

本篇博客将整理使用docker搭建wordpress的思路,其中遇到许多的的坑,希望我解决的问题能对你们有所帮助

0x01搭建前服务器配置

在腾讯云或者阿里云买一台服务器即可,学生有学生价,一月10块钱。域名额外购买,最近腾讯云搞活动某些后缀域名几块钱1年,域名要备案。

之后可以把厂商的云控制台把域名绑定到服务器上,就能让域名解析到服务了(感觉在说废话)

服务器购买好后,建议开放22,80端口,使用ssh连过去(我这里使用的xshell)

如果是腾讯云的话(阿里云好像可以直接登root,下面的步骤可以忽视),开放root用户方法参考:http://bbs.qcloud.com/thread-11554-1-1.html

简而言之,以下几个步骤

给root设置密码

sudo passwd root
//会要求输入2遍密码

然后修改ssh的配置文件,使root能够被ssh登录

sudo vim /etc/ssh/sshd_config 

将下图的PermitRootLogin值设置成yes, 之后ESC :wq保存退出

最后重启ssh服务,这时候ssh连接会断开,重新用root就能连接了

service ssh restart

0x02安装docker

apt-get install docker docker-compose

安装完成后可以输入docker命令检查是否安装好

0x03下取镜像

这里要下2个镜像(因为难得写Dockerfile,再额外安装数据库了)

2个镜像一个为wordpress官方提供的镜像,一个是mysql镜像。 一个docker镜像生成的容器相当于一台虚拟机,这里就要做到传说中的站库分离了

下取镜像

docker pull wordpress
docker pull mysql:5.6

经过不长的等待可以使用下面命令看是否装好了

docker image ls

0x04生成容器

首先开启mysql容器,数据库密码设置成123456

docker run --name w-mysql -e MYSQL_ROOT_PASSWORD= -d mysql:5.6

然后进入mysql容器创建个wordpress的数据库

docker exec -it w-mysql mysql -uroot -p

当然这里要输入一下刚刚设置的123456的密码,然后创建数据库

create databases wordpress;

创建好后可以show一下,接下来quit退出容器即可

接下来在启动wordpress容器前准备一个文件uploads.ini

vim uploads.ini

#输入以下内容
file_uploads = On
memory_limit = 64M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time =

接下来再启动wordpress,并把我们的uploads.ini加载到容器,这样就使wordpress容器本身配置上传大小限制从2M变成64M了

docker run --name w-wordpress --link w-mysql:db -v /root/docker/wordpress/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini  -p :  -d wordpress:latest

注意这里的

此时就能愉快的访问页面了,直接在浏览器中输入你的域名或者服务器的公网ip即可

0x05web端第一次安装

直接访问会让你选语言,我这里因为已经安装了,这里就借鉴参考博客的一张图,表示下数据库那里怎么填

之后就是设置后台管理员账号密码了,这里不要设置太简单就好。之后就能正常工作了

0x06自己搭建时候遇到的坑

我尝试过直接在服务器上搭,环境安装没多大问题,wordpress数据库安装好后,也改了php的upload_max_filesize的值,但是在下载主题的时候遇到需要ftp连接,上网查了一波又是改代码又是创文件夹的,又是改权限什么的。问题是搭个ftp又麻烦(其实是我懒)

所以最后选择了docker,但是docker也存在上传大小限制,更坑爹的是没有php.ini文件,我到哪里去改?最后在/etc/php/7.0/cli/目录下发现2个php-xxxxx.ini的文件,改了后重启apache2,结果容器直接exit了,配置没有保存成功,百度了半天也解决不了。最后谷歌看了看老外的文章终于解决了

解决方法也就是上文提到的使用uploads.ini来设置

 0xff结语:

捣鼓几个小时,虽然没学到啥新知识,但是遇到各种问题,还是蛮有收货的。

这个博客搭好了意味着,之后写文章主要在自己博客上了,博客园会很少更新了...

最后上几张新博客的样子吧

主页

文章

参考文章

https://www.jianshu.com/p/8c329800cbf2

从零开始的Wordpress个人博客搭建的更多相关文章

  1. WordPress个人博客搭建

    搭建LNMP环境 请参考前面的博文自行搭建 部署WordPress #创建数据库和用户 mysql -uroot -p123456 -S /data/3306/mysql.sock create da ...

  2. WordPress 建站教程:新手搭建 WordPress个人博客图文教程(完全版)

    前言 WordPress 作为动态博客的代表,至今已经有十几年历史,而且一直在更新发展中,功能强大,插件和主题丰富,WordPress搭建使用也很方便.作为个人站长和博主,很多都是从 WordPres ...

  3. WordPress博客搭建与问题总结

      一.WordPress博客搭建 1.安装Apache web服务器 yum install -y httpd systemctl restart httpd systemctl enable ht ...

  4. 个人博客搭建( wordpress )

    最近同学买了一台虚机( centos7 系统 ).一个域名,让帮忙搭一个个人博客.本着简单快捷,个人博客采用 wordpress 来搭建.为了以后博客系统的迁移方便,使用 docker 来安装 wor ...

  5. 腾讯云-搭建 WordPress 个人博客

    搭建 WordPress 个人博客 准备 LNMP 环境 任务时间:30min ~ 60min LNMP 是 Linux.Nginx.MySQL 和 PHP 的缩写,是 WordPress 博客系统依 ...

  6. 基于 CentOS 搭建 WordPress 个人博客

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 腾讯云提供了开发者实验室帮助用户搭建 WordPress 个人博客,教程内容如下,用户可以点击开发者实验室快速上机完成实验. 准备 LNMP ...

  7. LNMP环境搭建之php安装,wordpress博客搭建

    LNMP环境搭建之php安装,wordpress博客搭建 一.介绍: 1.什么是CGI CGI全称是"通用网关接口"(Common Gateway Interface),HTTP服 ...

  8. 基于Ubuntu 搭建 WordPress 个人博客 - 开发者实验室 - 腾讯云

    1.准备 LAMP 环境 安装 Apache2 在终端输入该命令 ,使用 apt-get 安装 Apache2: sudo apt-get install apache2 -y 安装好后,您可以通过访 ...

  9. LNMP小项目搭建,Centos7.6环境搭建Linux+nginx+mysql+php,wordpress个人博客的搭建(完整搭建步骤)

    一.LNMP搭建,基于nginx服务器搭建wordpress个人博客 准备环境:centos7.6环境下web服务器(nginx+php):主机名:web01,ip:192.168.248.172my ...

随机推荐

  1. C# 程序内的类数量对程序启动的影响

    原文:C# 程序内的类数量对程序启动的影响 版权声明:博客已迁移到 http://lindexi.gitee.io 欢迎访问.如果当前博客图片看不到,请到 http://lindexi.gitee.i ...

  2. Logical partitioning and virtualization in a heterogeneous architecture

    A method, apparatus, and computer usable program code for logical partitioning and virtualization in ...

  3. BeagleBone Black第八课板:建立Eclipse编程环境

    BBB第八课板:建立Eclipse编程环境 最近建立了一个新的编程环境.感觉很方便,给大家分享.除了先前BBB董事会远程桌面直接写shell脚本或C外部程序,经Debain 7.5根据该制度还试图用编 ...

  4. 性能测试以及对redis

    Ignite性能测试以及对redis的对比   测试方法 为了对Ignite做一个基本了解,做了一个性能测试,测试方法也比较简单主要是针对client模式,因为这种方法和使用redis的方式特别像.测 ...

  5. sql在单引号的声明标志着嵌套问题

    在sql声明,我们将不可避免地使用嵌套单引号什么时候.但它肯定不是一个直接嵌套,java使用反斜杠做到这一点是不够的.在sql这是做一个单引号逃逸. 例如,下面的例子是展示一个示例存储过程的语句进行查 ...

  6. 使用Photoshop切图的三种方式

    PhotoShop切图的三种方式 1. 原始切图 (1)选择工具栏中的切片工具 (2)找到要切片的元素,在右侧的图层框中,使元素背景隐藏,然后用切片工具选择需要切片的元素     (3)导出为web常 ...

  7. WPF无边框实现拖动效果

    这是在做弹幕的时候遇到的一个需求 透明背景,拖动弹幕=.= private void Window_MouseLeftButtonDown(object sender, MouseButtonEven ...

  8. js 注册事件

    <!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...

  9. 【全面解禁!真正的Expression Blend实战开发技巧】十一章 全面解析布局(Grid & Canvas &StackPanel &Wrappanel)

    原文:[全面解禁!真正的Expression Blend实战开发技巧]十一章 全面解析布局(Grid & Canvas &StackPanel &Wrappanel) 写这篇文 ...

  10. c#代码安装字体文件

    public class FontOperate { [DllImport("kernel32.dll", SetLastError = true)] static extern ...