广告
返回顶部
首页 > 资讯 > CMS >docker部署lnmp-wordpress的实现步骤
  • 174
分享到

docker部署lnmp-wordpress的实现步骤

2024-04-02 19:04:59 174人浏览 独家记忆
摘要

目录一、实验环境二、安装Docker源三、安装docker四、部署Nginx和PHP1、上传/解压软件包和配置文件2、创建dockerfile文件3、构建镜像4、创建容器并运行5、开

一、实验环境

系统:Centos7 ip:192.168.238.133


#关闭防火墙
[root@localhost ~]# systemctl stop firewalld 
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
#添加dns
[root@localhost ~]# cat /etc/resolv.conf
nameserver 114.114.114.114
#修改主机名
[root@localhost ~]# hostnamectl set-hostname docker-lnmp
[root@localhost ~]# su

二、安装docker源


#安装依赖环境
[root@docker-lnmp ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
#安装阿里docker源
[root@docker-lnmp ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

三、安装docker


[root@docker-lnmp ~]# yum install -y docker-ce #安装社区版
[root@docker-lnmp ~]# systemctl enable docker #设置开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@docker-lnmp ~]# systemctl start docke #开启服务
#创建dockerfile目录
[root@docker-lnmp ~]# mkdir docker && cd docker
#创建Mysql和Nginx的dockerfile目录
[root@docker-lnmp docker]# mkdir nginx mysql

在这里插入图片描述

四、部署Nginx和php

1、上传/解压软件包和配置文件

在这里插入图片描述


#解压软件包
[root@docker-lnmp nginx]# tar zxvf Wordpress-4.9.4-zh_CN.tar.gz
[root@docker-lnmp nginx]# tar zxvf nginx-1.12.2.tar.gz
[root@docker-lnmp nginx]# tar zxvf libmcrypt-2.5.7.tar.gz
[root@docker-lnmp nginx]# tar zxvf php-5.5.38.tar.gz

2、创建dockerfile文件


[root@docker-lnmp nginx]# vim Dockerfile
FROM docker.io/centos:7
RUN yum -y update
RUN yum -y install GCc gcc-c++ openssl-devel openssl autoconf cmake autoconf zlib zlib-devel libtool pcre pcre-devel wget net-tools make
RUN groupadd  -g 900 nginx && useradd nginx -g nginx -s /sbin/nologin
FROM docker.io/centos:7
RUN yum -y update
RUN yum -y install gcc gcc-c++ openssl-devel openssl autoconf cmake autoconf zlib zlib-devel libtool pcre pcre-devel wget net-tools make
RUN groupadd  -g 900 nginx && useradd nginx -g nginx -s /sbin/nologin
ADD nginx-1.12.2 nginx-1.12.2
RUN cd /nginx-1.12.2/ && ./configure --prefix=/usr/local/nginx --with-Http_dav_module  --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-http_ssl_module --with-http_gzip_static_module --user=nginx --group=nginx
RUN cd /nginx-1.12.2/ && make && make install
RUN ln -s /usr/local/nginx/sbin/nginx  /usr/local/sbin/
RUN sed -i '1afastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;' /usr/local/nginx/conf/fastcgi_params
ADD nginx.conf /usr/local/nginx/conf/
ADD wordpress /usr/local/nginx/html/wordpress
ADD wp-config.php /usr/local/nginx/html/wordpress
RUN yum -y install gcc gcc-c++ libxml2-devel libcurl-devel openssl-devel bzip2-devel  openssl automake make autoconf libtool zlib-devel make pcre-devel wget net-tools
ADD libmcrypt-2.5.7 libmcrypt-2.5.7
RUN cd libmcrypt-2.5.7/&& ./configure --prefix=/usr/local/libmcrypt && make && make install
ADD php-5.5.38 php-5.5.38
RUN cd php-5.5.38/ && ./configure --prefix=/usr/local/php5.5 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --enable-Sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts && make && make install
RUN cd php-5.5.38 && cp php.ini-production /etc/php.ini
RUN cd /php-5.5.38 && cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
RUN chmod +x /etc/init.d/php-fpm && chkconfig --add php-fpm && chkconfig php-fpm on
RUN cp /usr/local/php5.5/etc/php-fpm.conf.default  /usr/local/php5.5/etc/php-fpm.conf
RUN sed -i 's*;pid = run/php-fpm.pid*pid = run/php-fpm.pid*g' /usr/local/php5.5/etc/php-fpm.conf
RUN sed -i 's/user = nobody/user = nginx/g' /usr/local/php5.5/etc/php-fpm.conf
RUN sed -i 's/group = nobody/group = nginx/g' /usr/local/php5.5/etc/php-fpm.conf
RUN sed -i 's/pm.max_children = 5/pm.max_children = 50/g' /usr/local/php5.5/etc/php-fpm.conf
RUN sed -i 's/pm.start_servers = 2/pm.start_servers = 5/g' /usr/local/php5.5/etc/php-fpm.conf
RUN sed -i 's/pm.min_spare_servers = 1/pm.min_spare_servers = 5/g' /usr/local/php5.5/etc/php-fpm.conf
RUN sed -i 's/pm.max_spare_servers = 3/pm.max_spare_servers = 30/g' /usr/local/php5.5/etc/php-fpm.conf
EXPOSE 9000
EXPOSE 80

3、构建镜像


[root@docker-lnmp nginx]# docker build -t "centos:nginx-php" .

查看镜像列表

在这里插入图片描述

4、创建容器并运行


[root@docker-lnmp nginx]# docker run -dit -p 80:80 -m 500m --memory-swap 1G 3efb4e2c79b5 /bin/bash
49c5b69ce7012579f4b024ef6be88ff5de8057ccc7f81583fcf04f1c3ec6a79c

查看容器列表

在这里插入图片描述

5、开启服务


[root@docker-lnmp nginx]# docker exec -it 49c5b69ce701 /bin/bash
[root@49c5b69ce701 /]# /etc/init.d/php-fpm start && nginx
[root@49c5b69ce701 /]# netstat -antp | grep php
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      32/php-fpm: master  
[root@49c5b69ce701 /]# netstat -antp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      39/nginx: master pr 

验证一下:

在这里插入图片描述

五、部署MySQL

1、创建MySQL的dockerfile文件


[root@docker-lnmp mysql]# vim Dockerfile
FROM docker.io/centos:7
RUN yum -y install gcc gcc-c++ make autoconf make cmake wget
RUN groupadd mysql; useradd -r -M -u 3306 -s /sbin/nologin -g mysql mysql
RUN mkdir /usr/local/mysql; mkdir /data/mysql -pv
RUN yum install gcc gcc-c++ ncurses-devel bison bison-devel -y
RUN wget -c http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.29.tar.gz
RUN tar xf mysql-5.6.29.tar.gz -C /usr/local/src/
WORKDIR /usr/local/src/mysql-5.6.29
RUN cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci -DWITH-MYSQLD-LDFLAGS=-all-static -DWITH-CLIENT-LD-FLAGS=-all-static -DWITH_DEBUG=0 && gmake && gmake install
RUN chown -R root:mysql /usr/local/mysql/ && chown -R mysql:mysql /data/mysql
RUN chmod 755 /usr/local/src/mysql-5.6.29/scripts/mysql_install_db.sh
RUN /usr/local/src/mysql-5.6.29/scripts/mysql_install_db.sh --basedir=/usr/local/mysql --datadir=/data/mysql --no-defaults --user=mysql
RUN cp /usr/local/src/mysql-5.6.29/support-files/my-default.cnf  /etc/my.cnf
RUN cp /usr/local/src/mysql-5.6.29/support-files/mysql.server  /etc/init.d/mysqld
RUN chmod 775 /etc/init.d/mysqld && /etc/init.d/mysqld start
RUN echo -e '#!/bin/bash\nexport PATH=$PATH:/usr/local/mysql/bin' >/etc/profile.d/mysql.sh
RUN source /etc/profile
EXPOSE 3306

2、构建镜像


[root@docker-lnmp mysql]# docker build -t "centos:mysql-5.6" .

查看镜像列表

在这里插入图片描述

3、创建容器并运行


[root@docker-lnmp mysql]# docker run -dit -p 3306:3306 --device-write-bps /dev/sda:10M 704e5b978518 /bin/bash
960645a296e3e8795c344a8037b0641f8b5baf8e2214453214359071480c379d

查看容器列表

在这里插入图片描述

4、启动服务


[root@docker-lnmp mysql]# docker exec -it 960645a296e3 /bin/bash
[root@960645a296e3 mysql-5.6.29]# /etc/init.d/mysqld start
Starting MySQL............ SUCCESS!

5、数据库授权


#修改密码
[root@960645a296e3 mysql-5.6.29]# mysql -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@960645a296e3 mysql-5.6.29]# mysqladmin -u root -p password
Enter password: 
New password: 
Confirm new password: 
#授权
[root@960645a296e3 mysql-5.6.29]# mysql -uroot -p123456
mysql> create database wordpress default charset utf8 COLLATE utf8_general_ci; #创建wordpress表
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on wordpress.*  to 'wordpress'@'%' identified by '123456' with grant option; #授权
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges; #刷新权限
Query OK, 0 rows affected (0.01 sec)

访问:http://192.168.238.133/wordpress/index.php

在这里插入图片描述

到此这篇关于docker部署lnmp-wordpress的实现步骤的文章就介绍到这了,更多相关docker部署lnmp-wordpress内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: docker部署lnmp-wordpress的实现步骤

本文链接: https://www.lsjlt.com/news/134757.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • docker部署lnmp-wordpress的实现步骤
    目录一、实验环境二、安装docker源三、安装docker四、部署Nginx和PHP1、上传/解压软件包和配置文件2、创建dockerfile文件3、构建镜像4、创建容器并运行5、开...
    99+
    2022-11-12
  • Docker下部署lnmp详细步骤
    目录拉取一个centos镜像基于centos生成nginx容器基于centos生成mysql容器基于centos生成php容器制作镜像用新镜像创建lnmp容器测试拉取一个centos...
    99+
    2022-11-12
  • Nginx服务LNMP之WordPress部署流程步骤
    目录实验环境安装Nginx服务安装Mysql数据库安装PHP修改Nginx配置文件部署WordPress个人博客实验环境 实验环境: [root@lnmp ~]# uname -r ...
    99+
    2022-11-13
  • Docker部署Mysql8的实现步骤
    目录一、前置需求二、部署方法三、访问测试一、前置需求 1.linux系统 本人用的Centos7 2.安装docker 参考这篇文章 二、部署方法 1.拉取mysql8镜像 docker pull mysql:8 2...
    99+
    2022-07-06
    Docker部署Mysql8
  • docker部署fastapi的实现步骤
    项目结构: pycharm结构: 拷贝到xftp时的结构  入口文件:main.py from fastapi import FastAPI app = FastA...
    99+
    2023-03-02
    docker部署fastapi
  • Nginx服务LNMP中WordPress部署流程步骤的示例分析
    这篇文章主要为大家展示了“Nginx服务LNMP中WordPress部署流程步骤的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Nginx服务LNMP中WordPress部署流程步骤的示...
    99+
    2023-06-29
  • Docker部署SpringBoot应用的实现步骤
    目录前言Dockerfile什么是 Dockerfile?Dockerfile语法打包SpringBoot项目在本地将SpringBoot应用打包成jar准备jar包和Dockerf...
    99+
    2022-11-12
  • docker部署安装jenkins的实现步骤
    首先,我们需要一台安装了docker的服务器。(这个我已经在我的小主机上安装了) 第一步,把镜像给拉下来 docker pull jenkins/jenkins:lts 第二...
    99+
    2022-11-12
  • docker部署vue项目的实现步骤
    目录前戏部署获取nginx镜像创建 nginx config配置文件创建Dockerfile文件生成生成环境包构建docker镜像查看本地镜像启动docker容器访问跨域前戏 当我们...
    99+
    2022-11-13
  • 使用Docker部署MySQL的实现步骤
    目录1、拉取mysql2、启动容器镜像3、登录容器4、登录mysql在 【Docker】 下部署,使用命令行进行拉取。 1、拉取mysql 最新版本mysql: docker pul...
    99+
    2022-11-13
    Docker部署MySQL Docker MySQL部署
  • docker-compose部署etcd集群的实现步骤
    目录编写docker-compose.yml 运行docker-compose 检查搭建状态 测试节点 Golang 与 etcd 简单交互 编写docker-compose.yml...
    99+
    2022-11-12
  • IDEA集成docker实现远程部署的步骤
    1. docker 服务器开启远程访问 登录 docker 所在的远程服务器,使用命令 vim /usr/lib/systemd/system/docker.service 修改配置...
    99+
    2022-11-12
  • 使用Docker部署SpringBoot项目的实现步骤
    目录创建一个简单的springboot项目一、在 pom.xml 中 ,使用 Spring Boot 2.2.10 相关依赖二、添加 web 和测试依赖三、创建一个 DockerCo...
    99+
    2022-11-12
  • docker 安装部署多个MySQL的实现步骤
    目录环境配置安装MySQL修改MySQL加密方式安装第二个MySQL环境配置 本地操作系统:Win10虚拟机的操作系统:CentOS Stream 8已安装docker,可以参考详细...
    99+
    2022-11-13
  • docker部署springboot和vue项目的实现步骤
    目录A. docker 部署 springboot项目一、springboot项目编译打包二、在项目根目录创建Dockerfile文件三、在根目录执行,形成docker镜像四、运行项...
    99+
    2022-11-12
  • docker部署confluence的完整步骤
    Confluence 是收费的,但是可以破解使用(提倡购买,支持正版) 本文使用的镜像是基于他人(镜像&破解)打包的,本文的镜像是直接将破解文件置入容器了,省去了自己去捣鼓破...
    99+
    2022-11-12
  • Docker部署portainer的详细步骤
    portainer Portainer是Docker的图形化管理工具,由GO语言编写的,提供状态显示、应用模板快速部署、对于Docker(容器、镜像、网络、数据卷)的基本操作、日志显...
    99+
    2022-11-13
  • docker部署kafka的方法步骤
    目录1. 搭建docker2.进入容器3.修改配置文件4.测试kafka1. 搭建docker 这里我直接用的是docker-compose部署,所以需要提前安装好compose。 ...
    99+
    2022-11-12
  • 阿里云ECS部署Docker服务的实现步骤
    目录1、前言2、内核支持2.1、升级内核3、Docker安装3.1、关闭selinux3.2、安装epel3.3、yum安装docker-io3.4、启动docker3.5、查看do...
    99+
    2022-11-13
  • Docker安装部署Redis数据库的实现步骤
    目录1,拉取镜像2,创建数据卷3,创建并编写配置文件4,创建并启动容器通过Docker部署Redis,比起我们自己编译安装的方式,会更加方便容易管理。今天就来简单分享一下使用Dock...
    99+
    2023-02-27
    Docker安装部署Redis Docker安装Redis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作