我的博客搭建( wordpress )

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

 

1、更新 centosmysql

yum -y update

 

2、安装 dockernginx

yum install docker

启动 docker:systemctl start dockersql

设置开机启动:systemctl enable dockerdocker

 

3、安装 docker-composevim

docker-compose 是布署多个容器的简单有效工具,因为博客系统搭建须要安装 wordpress 、mysql 两个容器,因此采用 docker-compose 来布署。docker-compose 的安装有不一样的方式,这里采用的是 pip 安装。centos

一、安装 python-pip浏览器

yum -y install epel-release
yum -y install python-pip

二、升级 pipcookie

pip install --upgrade pip

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

三、安装 docker-compose

pip install docker-compose

报错:

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.

处理:

pip install docker-compose --ignore-installed requests

 

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

version: '3.3'

services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: wordpress123
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress123

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - "9090:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress123
volumes:
   db_data: {}

 

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

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

docker-compose up -d

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

 

6、绑定域名

因为之后还会在这台机器上布署其余系统,因此没有给 wordpress 暴露到 80 端口,在绑定域名前须要用 nginx 作层代理

一、安装 nginx

yum install -y nginx

二、配置 nginx

# vim /etc/nginx/nginx.conf
...
http {
   ...
   server {
     listen 80;
     server_name xxx.com;
     
     location / {    
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header REQUEST-URI $request_uri;
      proxy_set_header Cookie $http_cookie;
      proxy_pass http://localhost:9090;
      proxy_cookie_domain domino.server nginx.server;
      proxy_redirect off;
     }
   }
}

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

systemctl start nginx.service
systemctl enable nginx.service

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

二个 URL 都设置为域名

若是不设置 URL,每次访问域名会自动跳转到 http://ip:port

 

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