环境准备

本博客使用docker环境搭建,从而做到布署简单

  • centos7环境(centos6跑docker要升级内核,也不建议这样做)
  • 在centos7上安装好docker环境docker安装文档
  • 在centos7上安装好docker-composedocker-compose安装文档
  • 在centos7上安装好nginx, 作为反向代理使用
编写docker-compose文件

下面是完整的docker-compose文件,文件描述的大意为下载并启动mysql和wordpress镜像文件,mysql数据目录挂载至本地/mnt/mysql目录下、wordpress程序目录挂载至本地/mnt/static目录下,wordpress开放程序端口为8080

# docker-compose.yml
version: '3.3' services:
db:
image: mysql:5.7
volumes:
- /mnt/mysql:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: **********
MYSQL_DATABASE: **********
MYSQL_USER: **********
MYSQL_PASSWORD: ********** wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- /mnt/static:/var/www/html
ports:
- "8080:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: **********
WORDPRESS_DB_PASSWORD: **********
WORDPRESS_DB_NAME: **********
volumes:
db_data: {}
Nginx的配置

下图的配置中,nginx打开了https,使用的是Lets encrypt 有很多配套工具可以使用,我使用的是acme.sh

# wordpress.conf
upstream local {
server 127.0.0.1:8080;
} server {
listen 80;
listen 443 ssl http2;
ssl_certificate ssl/fullchain.cer;
ssl_certificate_key ssl/zheaps.key;
server_name blog.zheaps.cn;
if ($scheme != "https") {
return 301 https://$host$request_uri;
} location / {
proxy_set_header X-Forwarded-Proto https;
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_pass http://local; }
}
启动程序

在docker-compose.yaml目录下执行docker-compose up -d 即可

关于网站安全

znb博客运行在阿里云主机上,配置上要注意以下几点:

  • 安全组最小权限原则。 用到哪个开哪个,不要乱开端口
  • SSH一定要使用密钥,比密码安全的多
关于数据备份
  • 有条件可以使用阿里云的磁盘快照(会产生一定费用)
  • 如果不使用快照,则需要对数据库目录和wordpress程序目录进行备份

使用docker布署wordpress的更多相关文章

  1. Docker集群实验环境布署--swarm【1 架构说明】

    在读完<Docker技术入门与实践>这本书后,基本上已对Docker了有一些入门的理解,以及我们为什么要使用Docker 答:我们发现在实际工作中,通过openstack一旦把一个VM创建 ...

  2. Ubuntu 16.04环境布署小记

    本系列文章记录了升级Ubuntu 16.04的布署过程 回到目录 10. 安装Mono, Xsp 当前版本16.04.1的系统源的Mono版本为4.2.1,如需使用最新版本(本文书写时稳定版本为4.6 ...

  3. Ubuntu 16.04系统布署小记

    前段时间趁着双11打折,又将阿里云主机续费了3年.之前布署的系统是Ubuntu 12.04,从系统发布到现在也有四年半了,其官方支持的生命周期也将止于明年春,且这在几年里出现了很多新的事物,我也需要跟 ...

  4. Dokuwiki布署小记

    最近个人写作风格全面转向Markdown模式,但之前使用的Mediawiki并未原生支持,且本人在布署时为了实现其所见即所得的方案和别的一些个性化需求,添加了太多插件和自定义设置,两年多过去了,很多设 ...

  5. 学习Linux系列--布署常用服务

    本系列文章记录了个人学习过程的点点滴滴. 回到目录 10.mediawiki 知名开源维基框架,我用来构建自己的知识库. 在mediawiki中新建一个http.conf文件 sudo vim /op ...

  6. Hadoop学习笔记1-如何简单布署hadoop

    企业机型配置: 选型标准:普通的,廉价的,标准的(容易替换的),工业化大规模生产的 CPU:支持多核CPU,如2个4核CPU 内存:16G以上,内存越大,常用数据都缓存在内存,提高速度 硬盘:不需RA ...

  7. 简单创建与布署CLR存储过程

    今天的博文是学习CLR存储过程,一个简单的例子,学会怎样创建,编译,布署在SQL中.CLR能做一些T-SQL无法做的事情,很多情况之后,它比T-SQL快. 打开VS2013,创建一个新专案,参考下面5 ...

  8. docker快速搭建wordpress(centos7)

    docker pull tutum/wordpress #拉取镜像 docker run -d -p 80:80 tutum/wordpress #运行容器 使用服务器IP访问即可

  9. IIS6.0中布署MVC站点(转)

    昨晚我写的API上线,API是vs2010 + MVC4开发的,需要布署到windows 2003 server + IIS6.0的环境中,之前一直是布在IIS7.0,比较熟悉, 换到IIS6.0,添 ...

随机推荐

  1. 安装MongoDB到CentOS(YUM)

    运行环境 系统版本:CentOS Linux release 7.3.1611 (Core) 软件版本:mongodb-org-4.0.8 硬件要求:无 安装过程 1.配置YUM-Mongodb存储库 ...

  2. 限定输入框只能输入数字, TextBox的TextChanged事件调用

    /// <summary> /// 限定输入框只能输入数字, TextBox的TextChanged事件调用 /// </summary> /// <param name ...

  3. JavaSE学习笔记(5)---内部类和String类

    JavaSE学习笔记(5)---内部类和String类 一.内部类基础 转自菜鸟教程 ​ 在 Java 中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类.广泛意义上的内部类一般来 ...

  4. java静态初始化块的执行顺序

    先来观察下面的代码 package trr; class Root { static{ System.out.println("Root的静态初始化块"); } { System. ...

  5. “石家庄铁道大学软件工程系学生学籍管理系统2019版”java小程序制作分享

    首先附上完整代码: import java.util.Scanner; public class SocreInformation { public SocreInformation(){}; pub ...

  6. vue 学习3

    在 2.5.0 及以上版本中,如果你使用了单文件组件 $children,$slots,$attrs .... $attrs 可以透传props 注意.模板标签上有:属性="a", ...

  7. 问题 B: 基础排序III:归并排序

    #include <cstdio> #include <vector> #include <algorithm> using namespace std; void ...

  8. H5_0017:通过元素自定义属性值获取元素对象,并获取属性值

            // 通过元素的属性值查找对象         // document.querySelectorAll("[data]").forEach(function(e) ...

  9. vue自学入门-5(vuex state)

    vue自学入门-1(Windows下搭建vue环境) vue自学入门-2(vue创建项目) vue自学入门-3(vue第一个例子) vue自学入门-4(vue slot) vue自学入门-5(vuex ...

  10. 【android】Parcelable的相关技术总结

    关于Parcelable的相关知识学习   进行Android开发的时候,无法将对象的引用传给Activities或者Fragments,我们需要将这些对象放到一个Intent或者Bundle里面,然 ...