容器化部署个人博客系统lnmp环境

#告警:
WARNING: IPv4 forwarding is disabled. Networking will not work.
96c083a8b58112f64e84baf73810197ea8ba4b48fa292bfb9635b92e6efc4e5c
因为转发没开,解决如下:
echo 1 >/proc/sys/net/ipv4/ip_forward
sysctl -p 0. 配置源
yum install -y docker-ce
rm -f /etc/docker/*
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ajvcw8qn.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
systemctl enable docker.service 1. 自定义docker网络 network_lnmp
[root@k8s-master ~]# docker network create network_lnmp
742504219a6955425beb43f5cc014376a1efea2ed5b78b939f7cb92cc8879c83 2. mysql配置
2.1. 创建挂载卷:
docker volume create mysql-vol
2.2. 创建本地持久化卷
mkdir -p /var/lib/mysql/
挂载方法:
方法1:
--name=mysql-vol --mount src=mysql-vol,dst=/var/lib/mysql/
方法2:
--name=mysql-vol -v mysql-vol:/usr/share/nginx/html nginx 2.3 mysql容器创建与登录测试,并挂载到mysql-vol:
创建:
mkdir -p /var/lib/mysql
docker run -d --name lnmp_mysql \
--net network_lnmp \
--mount src=mysql-vol,dst=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpress mysql:5.7 \
--character-set-server=utf8 登录测试:
docker inspect lnmp_mysql|sed -nr 's#^.*Address": \"(.*)\"\,.*$#\1#gp'|egrep -o "([0-9]{1,3}\.){3}[0-9]"
172.18.0.2 <---获取mysql容器IP 连接mysql测试:
[root@docker-02 ~]# yum install -y mysql
[root@docker-02 ~]# mysql -uroot -p123456 wordpress -h 172.18.0.2
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.30 MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MySQL [(none)]> 测试链接成功
---------------------------------------------------------------------
#创建授权wordpress数据库:
创建相关数据库:
mysql -uroot -p123456 -h 172.18.0.2 #创建wordpress数据库
create database wordpress; #wordpress数据库权限配置,只允许本地访问 用户名 wordpress 密码 123456
grant all on wordpress.* to wordpress@'%' identified by '123456'; #刷新权限
flush privileges; #测试新建账号 wordpress 连接数据库:
mysql -uwordpress -p123456 -h 172.18.0.2
[root@docker-02 _data]# mysql -uwordpress -p123456 -h 172.18.0.2
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.7.30 MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MySQL [(none)]> 3. 创建php容器:
规划:
创建网站数据目录 www-vol 启动时指定解析该目录 创建:
docker run -d \
--name lnmp_php-1 \
--net network_lnmp \
-p 9000:9000 \
-v www-vol:/usr/share/nginx/html \
registry.cn-hangzhou.aliyuncs.com/iyunw/php:7.1
这里是将本地/www目录挂载到容器中的/usr/share/nginx/html 创建用户:
useradd -s /sbin/nologin -M www-data -u 1000
清理数据卷:
docker volume ls --filter dangling=true 过滤出没有使用的卷,然后使用"docker volume rm [卷名]"删除 #---------------------------------------------------------------------------------------------------------------
3. nginx容器
3.1 准备目录和配置文件:
mkdir /etc/nginx/conf.d/ -p
vim /etc/nginx/conf.d/nginx.conf
#---nginx.conf--------------------------------------------------------------------------------------------------
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
#---nginx.conf-----------默认就有不用创建------------------------------------------------------------------------ 添加server:
[root@docker-02 _data]# vim /root/nginx_php.conf
#---------------include /root/nginx_php.conf-----------------------------#
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
#root /usr/share/nginx/html;
index index.php index.html;
# include /etc/nginx/default.d/*.conf;
location / {
root /usr/share/nginx/html;
} location ~* \.php$ {
root /usr/share/nginx/html;
fastcgi_pass lnmp_php-1:9000; ## php的容器名,如果容器名不存在就不会启动容器。注意
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
#---------------include /root/nginx_php.conf-----------------------------# 5. 创建nginx容器挂载相关配置文件和目录:
网页目录卷: www-vol
5.1. 创建挂载卷:
docker volume create www-vol
通过 docker inspect www-vol 可以看到这个卷所在的目录
挂载方法:
方法2:
-v www-vol:/usr/share/nginx/html -v /root/nginx_php.conf:/etc/nginx/conf.d/www.conf 5.2 起容器:
docker run -d --name lnmp_nginx \
-p 80:80 --net network_lnmp \
-v www-vol:/usr/share/nginx/html \
-v /root/nginx_php.conf:/etc/nginx/conf.d/www.conf nginx 5.3 容器里创建一个用户,用于和php交互:
useradd -s /sbin/nologin -M www-data -u 1000 #注意,yum安装的时候这个index.html可能就是个软连接,她并不在容器中,而是在宿主机中,并且没有被映射到容器
#此时访问时会出现403错误
#只要删除这些文件。重新创建文件即可
#如:echo hello >/usr/share/nginx/html/index.html [容器中的目录]
#如:echo hello >>/var/lib/docker/volumes/www-vol/_data/index.html [映射出来的目录]
------------------------------------------------------------------------------------------------------

PHP解析测试:

echo '<?php phpinfo(); ?>' >/var/lib/docker/volumes/www-vol/_data/index.php

php-fpm.conf下载地址:
https://www.chenleilei.net/soft/php-fpm.conf

wordpress安装配置:

下载安装包:
cd /var/lib/docker/volumes/www-vol/_data/
wget https://cn.wordpress.org/latest-zh_CN.zip
unzip latest-zh_CN.zip
mv wordpress/* ./
rm -fr wordpress 数据库名:wordpress
用户名: wordpress
密码: 123456 网站目录权限设置:
useradd -u 1000 www-data -M -s /sbin/nologin
chown -R 755 /var/lib/docker/volumes/www-vol/_data
chown -R www-data /var/lib/docker/volumes/www-vol/_data 1. 进入网页数据目录(docker inspect www-vol):
cd /var/lib/docker/volumes/www-vol/_data
echo '<?php phpinfo(); ?>' >./index1.php
访问查看测试页面 index1.php ,如果正常,就将wordpress网站文件放到该目录下 2. 安装wordpress
数据库地址:172.18.0.2 [通过 docker inspect lnmp_mysql |grep IPA 查看]
数据库名: wordpress
用户名:wordpress
密码:123456 链接测试:mysql -uwordpress -p123456 -h 172.18.0.2

图形页面:

出现这个页面,请复制他的内容在服务器网站根目录 创建一个文件 wp-config.php 然后内容写入保存再次访问。

容器化部署wordpress个人博客系统lnmp环境[自定义网络]的更多相关文章

  1. 使用Docker部署Spring-Boot+Vue博客系统

    在今年年初的时候,完成了自己的个Fame博客系统的实现,当时也做了一篇博文Spring-boot+Vue = Fame 写blog的一次小结作为记录和介绍.从完成实现到现在,也断断续续的根据实际的使用 ...

  2. wordpress 开源博客系统部署

     1.开发工具 server apache    下载地址:http://www.apache.org   http://httpd.apache.org/download.cgi 数据库 mys ...

  3. Node.js+Express搭建博客系统基本环境安装

    1.下载安装node.js 官网下载地址:https://nodejs.org/en/download/ 2.安装express. 打开node命令行工具,在命令行中输入:npm install -g ...

  4. 腾讯云-搭建 WordPress 个人博客

    搭建 WordPress 个人博客 准备 LNMP 环境 任务时间:30min ~ 60min LNMP 是 Linux.Nginx.MySQL 和 PHP 的缩写,是 WordPress 博客系统依 ...

  5. 如何快速部署国人开源的 Java 博客系统 Tale

    除了闷头专研技术之外,程序员还需要不断地写作进行技术积累,写博客是其中最重要的方式之一.商业博客平台不少,但是更符合程序员背景的方案,是自己开发一个博客平台或者使用开源的博客平台. 开源的博客平台多如 ...

  6. 使用docker部署WordPress博客系统(win10企业版)

    docker介绍: docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相 ...

  7. Centos 7使用docker部署LAMP搭建wordpress博客系统

    0.简要概述 LAMP是目前比较流行的web框架,即Linux+Apache+Mysql+PHP的网站架构方案.docker是目前非常流行的虚拟化应用容器,可以为任何应用创建一个轻量级.可移植的容器. ...

  8. Docker 方式部署 Solo 博客系统总结

      此篇为Docker部署方式,另有Tomcat部署方式,请参考文章<Tomcat 方式部署 Solo 博客系统总结>   最近搭建了一个博客系统,作为自己的主页,方便记录一些平时所见所闻 ...

  9. 巨杉Tech | 十分钟快速搭建 Wordpress 博客系统

    介绍 很多互联网应用程序开发人员第一个接触到的网站项目就是博客系统.而全球使用最广的Wordpress常常被用户用来快速搭建个人博客网站.默认情况下,Wordpress一般在后台使用MySQL关系型数 ...

  10. 使用WordPress模板搭建博客系统

    综述: 前端展示:外观--->主题. 功能模块:插件. 遇到的问题: 1:无法加载编辑器文件: 切换下不同的wordPress模板,可能缓存文件有问题. 2:注册功能:密码重设链接无效bug-- ...

随机推荐

  1. redis 简单整理——缓存设计[三十二]

    前言 简单整理一下缓存设计. 正文 缓存的好处: ·加速读写:因为缓存通常都是全内存的(例如Redis.Memcache),而 存储层通常读写性能不够强悍(例如MySQL),通过缓存的使用可以有效 地 ...

  2. sql 语句系列(字符串之父与子之间)[八百章之第十二章]

    前言 介绍字符串和其子字符串直接的使用. 判断含有子字母的字符串 select * from emp 在mysql中: select emp.ename from emp where emp.enam ...

  3. redis 简单整理——发布与订阅[十四]

    前言 简单介绍一下redis的发布与订阅. 正文 Redis提供了基于"发布/订阅"模式的消息机制,此种模式下,消息发布 者和订阅者不进行直接通信,发布者客户端向指定的频道(cha ...

  4. golang开发 深入理解 context

    context的历史 context包在Go 1.7版本正式加入Go标准库.在加入之前我们看看Go团队核心成员Sameer Ajmani在2014年发表的一篇关于context介绍博客,地址:http ...

  5. .NET开源免费的跨平台框架 - MAUI(附学习资料)

    前言 前几天分享了一个.NET MAUI开源免费的UI工具包 - Uranium,然后技术群有不少同学问.NET MAUI是不是免费的?能做什么?今天特意写这篇文章来介绍一下.NET开源.免费(基于M ...

  6. 力扣504(java)-七进制数(简单)

    题目: 给定一个整数 num,将其转化为 7 进制,并以字符串形式输出. 示例 1: 输入: num = 100输出: "202"示例 2: 输入: num = -7输出: &qu ...

  7. HarmonyOS NEXT应用开发之下拉刷新与上滑加载案例

    介绍 本示例介绍使用第三方库的PullToRefresh组件实现列表的下拉刷新数据和上滑加载后续数据. 效果图预览 使用说明 进入页面,下拉列表触发刷新数据事件,等待数据刷新完成. 上滑列表到底部,触 ...

  8. 一文搞懂 SAE 日志采集架构

    简介: 本文将着重介绍了 SAE 提供了多种日志采集方案,以及相关的架构,场景使用特点,点击下文,立即查看吧- 作者:牛通(奇卫)   日志,对于一个程序的重要程度不言而喻.无论是作为排查问题的手段, ...

  9. BizWorks助力企业应用的高效开发与复用

    简介: BizWorks作为企业级云原生应用数字工作台,能很好地支撑企业数字中台建设.云原生应用开发.企业资产运营管理等场景.本文不会全面介绍BizWorks平台的能力,而是着重介绍BizWorks在 ...

  10. 使用AnalyticDB轻松实现以图搜图和人脸检索

    1. 背景 以图搜图在生活中有着广泛的应用, 当我们在电视上看到有人穿着一件美丽的裙子或者帅气的球鞋也想拥有时, 我们可以拍张照片然后打开淘宝然后上传照片就可以快速的找到这个商品. 我们看到一张电影截 ...