容器化部署个人博客系统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. k8s 深入篇———— k8s 的本质[四]

    前言 简单整理一下k8s的本质. 正文 首先,Kubernetes 项目要解决的问题是什么? 编排?调度?容器云?还是集群管理? 实际上,这个问题到目前为止都没有固定的答案.因为在不同的发展阶段,Ku ...

  2. 重新点亮linux 命令树————网络配置的查看[十一三]

    前言 简单整理一下网络配置. 正文 通过ifconfig 查看. 这个就是ip地址. 网卡mac地址. 还有一块信息非常重要: 这个io开头的信息,这里面就是我们127.0.0.1的信息. 那么就来演 ...

  3. ICMP 概念

    前言 打算从新整理网络这一块,那么我先把概念整理下来. 正文 ICMP是ip的一个组成.他传递差错报文以及其他需要注意的信息.主要用于反馈一些网络传输的问题.因为ip协议很容易丢包,那么icmp可以告 ...

  4. NOI 2024省选OIFC模拟21 蒲巴巴 超繁做法

    题目描述 一年一度的 PuBaBa 杯开始了! 今年的 PuBaBa 杯总共有 \(n\) 个选手来参加,编号分别为 \(1,2,\cdots,n\),他们的水平按编号依次递增,所以他们过的题目数量单 ...

  5. 第三課:信道学习Source Connect Reader & Destinations File Writer

    第一步: 切换到主信道(Channels)界面,右键点击新建信道(New Channel) 第二步 : 下面是设置一些信道概要(Summary)信息 其中summary(概要) 界面主要包含 信道名称 ...

  6. Hologres揭秘:深度解析高效率分布式查询引擎

    简介: 从阿里集团诞生到云上商业化,随着业务的发展和技术的演进,Hologres也在持续不断优化核心技术竞争力,为了让大家更加了解Hologres,我们计划持续推出Hologers底层技术原理揭秘系列 ...

  7. 函数计算GB镜像秒级启动:下一代软硬件架构协同优化揭秘

    简介: 优化镜像加速冷启动大致分为两种做法:降低绝对延迟和降低冷启动概率.自容器镜像上线以来我们已经通过镜像加速技术,分阶段降低了绝对延迟.本文在此基础上,介绍借助函数计算下一代IaaS底座神龙裸金属 ...

  8. [Gin] 传统 for 循环中的语义通用化,在 golang 中使用分号 ; 替代 && 流程控制

    // gin.go // HandlerFunc defines the handler used by gin middleware as return value. type HandlerFun ...

  9. JavaScript 如何实现一个响应式系统

    JavaScript 如何实现一个响应式系统 第一阶段目标 数据变化重新运行依赖数据的过程 第一阶段问题 如何知道数据发生了变化 如何知道哪些过程依赖了哪些数据 第一阶段问题的解决方案 我们可用参考现 ...

  10. ABAP 7.58 中支持任意精度算术的新类

    1. 引言 通常,有两种对编程语言的改进.第一种是让困难的事情变得简单,第二种是让不可能的事情变为可能.本文介绍的是任意精度算术,它属于第二类:使在ABAP中原本不可能的事情成为可能. 过去已经可以在 ...