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. SQL Server如何使用OPENQUERY访问另一个SQL Server

    在项目中,经常会遇到一个数据库访问另一个数据库,[CNVFERPDB]为服务器名,[CE3]为库名 SELECT Dtl.* FROM CNVFERPDB. CE3.ce3.ZTLE0125 Dtl ...

  2. Android之消息推送实现

    在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相 ...

  3. WPF 实现繁花曲线

    原文:WPF 实现繁花曲线 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/nihang1234/article/details/83346919 X ...

  4. DDD实战6 WebAPI

    1.在Products解决方案文件夹下面新建一个项目 .net Core/Asp.net Core Web应用程序  取名Product.WebApi/选择Web Api core2.0版本 不进行身 ...

  5. 如何获得iframe中元素的值

    在Web开发时,很多时候会遇到一个问题.我在一个页面嵌入了iframe,并且我想获得这个iframe页面某个元素的值.那么该如何实现这个需求呢? 先来看下演示: 效果演示     iframe1中文本 ...

  6. ubuntu 12.04 简单配置samba服务,实现主机与虚拟机互通(设置Windows虚拟盘)

    环境: virtualbox ubuntu12.04 首先,如果你到这步了,说明你的window与linux的网络已经配好了,他们之间是可以互相Ping通的,如果没有,请看我以前的文章 由于我linu ...

  7. Python多线程 简明例子

    综述   多线程是程序设计中的一个重要方面,尤其是在服务器Deamon程序方面.无论何种系统,线程调度的开销都比传统的进程要快得多. Python可以方便地支持多线程.可以快速创建线程.互斥锁.信号量 ...

  8. Android Studio怎样提示函数使用方法

    Eclipse有一个非常好的功能,就是当你代码调用某个android API时,鼠标移到相应的函数或者方法上,就会自己主动有一个悬 浮窗提示该函数的说明(所包括的參数含义,该方法功能).迁移到Andr ...

  9. 怎样正确的理解和解决 ORA-01843:not a valid month

    今天码代码的时候遇到了这个问题,由于oracle用的比較少,所在查询了一下. 顿时傻眼,有非常多的贴子说是由于nls_date_language的问题,还要改会话级的NLS_DATE_LANGUAGE ...

  10. swagger ui 值类型形参加文字注释

    例: @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "indexCondition ...