最近同学买了一台虚机( centos7 系统 )、一个域名,让帮忙搭一个个人博客。本着简单快捷,个人博客采用 wordpress 来搭建。为了以后博客系统的迁移方便,使用 docker 来安装 wordpress。下面是这次博客搭建的详细过程。

一、更新 centos

  1. yum -y update

二、安装 docker

  1. yum install docker

启动 docker:systemctl start docker

设置开机启动:systemctl enable docker

三、安装 docker-compose

docker-compose 是布署多个容器的简单有效工具,由于博客系统搭建需要安装 wordpress 、mysql 两个容器,所以采用 docker-compose 来布署。docker-compose 的安装有不同的方式,这里采用的是 pip 安装。

1、安装 python-pip

  1. yum -y install epel-release
  2. yum -y install python-pip

2、升级 pip

  1. pip install --upgrade pip

查看安装是否成功:pip -V

3、安装 docker-compose

  1. pip install docker-compose

报错:

  1. Cannot uninstall requests”. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

处理:

  1. pip install docker-compose --ignore-installed requests

四、编写 docker-compose 脚本文件 docker-compose.yml

  1. version: '3.3'
  2.  
  3. services:
  4. db:
  5. image: mysql:5.7
  6. volumes:
  7. - db_data:/var/lib/mysql
  8. restart: always
  9. environment:
  10. MYSQL_ROOT_PASSWORD: wordpress123
  11. MYSQL_DATABASE: wordpress
  12. MYSQL_USER: wordpress
  13. MYSQL_PASSWORD: wordpress123
  14.  
  15. wordpress:
  16. depends_on:
  17. - db
  18. image: wordpress:latest
  19. ports:
  20. - "9090:80"
  21. restart: always
  22. environment:
  23. WORDPRESS_DB_HOST: db:3306
  24. WORDPRESS_DB_USER: wordpress
  25. WORDPRESS_DB_PASSWORD: wordpress123
  26. volumes:
  27. db_data: {}

五、使用 docker-compose 构建并运行程序

在 docker-compose.yml 的目录下运行

  1. docker-compose up -d

浏览器输入:http://0.0.0.0:9090 进入 wordpress 安装页面

六、绑定域名

由于以后还会在这台机器上布署其他系统,所以没有给 wordpress 暴露到 80 端口,在绑定域名前需要用 nginx 做层代理

1、安装 nginx

  1. yum install -y nginx

2、配置 nginx

  1. # vim /etc/nginx/nginx.conf
  2. ...
  3. http {
  4. ...
  5. server {
  6. listen ;
  7. server_name xxx.com;
  8.  
  9. location / {
  10. proxy_set_header Host $host;
  11. proxy_set_header X-Real-IP $remote_addr;
  12. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  13. proxy_set_header REQUEST-URI $request_uri;
  14. proxy_set_header Cookie $http_cookie;
  15. proxy_pass http://localhost:9090;
  16. proxy_cookie_domain domino.server nginx.server;
  17. proxy_redirect off;
  18. }
  19. }
  20. }

3、启动 nginx 并设置开机自动运行

  1. systemctl start nginx.service
  2. systemctl enable nginx.service

4、wordpress 设置,进入 wordpress 管理页面

  1. 二个 URL 都设置为域名
  2.  
  3. 如果不设置 URL,每次访问域名会自动跳转到 http://ip:port

浏览器输入 http://xxxx.com ,一个个人博客诞生了。

个人博客搭建( wordpress )的更多相关文章

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

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

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

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

  3. 2021年Wordpress博客搭建

    2021年WordPress博客搭建教程 这是一篇关于2021最新版的WP个人博客搭建教程.整篇文章会事无巨细的一步步讲述搭建博客的每一步. 0.前言 随着互联网和移动互联网的飞速发展,博客这一功能恍 ...

  4. [原创]HEXO博客搭建日记

    博客系统折腾了好久,使用过Wordpress,Ghost,Typecho,其中Typecho是我使用起来最舒心的一种,Markdown编辑+轻量化设计,功能不多不少刚好,着实让我这种强迫症患者舒服了好 ...

  5. Hexo博客搭建以及Next主题美化的经验之谈

    这并不是一篇博客搭建教程.内容主要包含个人对于Hexo博客搭建的心得,Next6.0主题美化的部分建议,以及摘录一些各种用于博客搭建的link. 在博客园3年6个月,确实也学到了很多,博客园也是目前为 ...

  6. Node.js博客搭建

    Node.js 博客搭建 一. 学习需求 Node 的安装运行 会安装node,搭建node环境 会运行node. 基础模块的使用 Buffer:二进制数据处理模块 Event:事件模块 fs:文件系 ...

  7. nodejs环境 + 入门 + 博客搭建

    NodeJS:NodeJS是一个使用了Google高性能V8 引擎 的服务器端JavaScript实现.它提供了一个(几乎)完全非阻塞I/O栈,与JavaScript提供的闭包和匿名函数相结合,使之成 ...

  8. 基于Github&Hexo的个人博客搭建过程

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  9. Hexo博客搭建全解

    [原创,转载请附网址:http://dongshuyan.top] 欢迎来到莫与的博客,第一篇记录了一下怎么写一篇博客,以方便之后写博客~ #从配置说起下载安装Git与Node.js略过 1.安装he ...

随机推荐

  1. apt与apt-get命令的区别与解释

    [apt与apt-get命令的区别与解释] Ubuntu 16.04 发布时,一个引人注目的新特性便是 apt 命令的引入.其实早在 2014 年,apt 命令就已经发布了第一个稳定版,只是直到 20 ...

  2. DBHelper类

    import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import ja ...

  3. 用php获取js变量的值

    <script type="text/javascript"> var t1 = "fff"; var t2 = "<?php ec ...

  4. Eigen使用矩阵作为函数参数

    1 使用矩阵作为函数参数介绍 文章来源Writing Functions Taking %Eigen Types as Parameters Eigen为了在函数中传递不同的类型使用了表达式模板技术. ...

  5. Django跨域(前端跨域)

    前情回顾 在说今天的问题之前先来回顾一下有关Ajax的相关内容 Ajax的优缺点 AJAX使用Javascript技术向服务器发送异步请求: AJAX无须刷新整个页面: 因为服务器响应内容不再是整个页 ...

  6. nginx路径设置(web)

    原文 https://www.jianshu.com/p/57db2c5d0cb9 语法 root 语法:root path 默认值:root html 配置段:http.server.locatio ...

  7. 201621123002《Java程序设计》第七周学习总结

    1. 本周学习总结 1.1 思维导图:Java图形界面总结 2.书面作业 1. GUI中的事件处理 1.1 写出事件处理模型中最重要的几个关键词. 事件源,事件处理方法,事件监听器 事件源(Event ...

  8. Android使用ksoap2调用C#中的webservice实现图像上传

    目录: 一. android使用ksoap2调用webservice 二. 异步调用 三. Android使用ksoap2调用C#中的webservice实现图像上传参考方法 四. 图像传输中Base ...

  9. Codeforces 1114 简要题解

    文章目录 A题 B题 C题 D题 E题 F题 传送门 然而这场div2div2div2没有什么难度比较大的题 A题 传送门 题意简述:三个人分别至少选x,y,zx,y,zx,y,z件物品,有三种物品数 ...

  10. tabel表格的dom操作

    对table表格的操作比较麻烦,一直字符串的连接会比较麻烦 var nod = cwgk_msg_list.insertRow();//这个是上边获取过的dom元素,一般是tbody的元素,对元素进行 ...