环境准备

本博客使用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. webserver代理生成本地类的两种方式

    方式1,把webservers地址请求出来的xml拷贝出来放到文本里面后缀改成wsdl文件在VS里面使用下列命令 C:\Program Files (x86)\Microsoft SDKs\Windo ...

  2. IDA PRO

    链接:https://pan.baidu.com/s/1LTXhXra5Honpn3L9rfSOgA 提取码:7bwb 工具下载地址: https://www.jb51.net/softjc/5799 ...

  3. Spring Cloud feign使用okhttp3

    指南 maven <dependency> <groupId>io.github.openfeign</groupId> <artifactId>fei ...

  4. 随机定时修改密码change_passwd.sh

    change_passwd.sh #!/bin/sh /usr/bin/chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /usr/b ...

  5. 页面置换算法——最近最久未使用算法(c语言实现)

    操作系统实验:用C语言编程实现最近最久未使用置换算法(LRU) 最近最久未使用置换算法(LRU),全称Least Recently Used,是一种页面置换算法. 对于在内存中但又不用的数据块(内存块 ...

  6. JavaDay10(上)

    Java learning_Day10(上) 本人学习视频用的是马士兵的,也在这里献上 <链接:https://pan.baidu.com/s/1qKNGJNh0GgvlJnitTJGqgA&g ...

  7. python计算文件大小

    1.使用到的语句 import os 库 os.listdir(path) 返回文件名字符串列表 os.path.isdir(path) 判断文件名是否是文件夹 os.path.getsize(pat ...

  8. Chrome 浏览器相关

    ********* 问题 ********* localhost 通常会使用加密技术来保护您的信息.Google Chrome 此次尝试连接到 localhost 时,此网站发回了异常的错误凭据.这可 ...

  9. ES6实现图片切换特效

    效果图 demo.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  10. java中的多构造函数以及类字段的初始化顺序

    1.同一个类可以有多个构造函数,多个构造函数之间通过参数来区分.这是方法重载的一个实例.构造函数之间可以相互调用. 2.类的初始化块:可以在类中使用“{”和“}”将语句包围起来,直接将其作为类的成员. ...