Docker-compose部署LNMP环境——wordpress个人博客

一、创建配置文件目录并上传wordpress的zip包

1、创建配置文件目录

[root@docker02 ~]# mkdir /app/docker/compose/04_lnmp/{conf,code} -p
[root@docker02 ~]# cd /app/docker/compose/04_lnmp/
[root@docker02 /app/docker/compose/04_lnmp]# ls
code  conf

2、上传wordpress的zip包到code并解压

[root@docker02 /app/docker/compose/04_lnmp/code]# unzip wordpress-6.1.1-zh_CN.zip
[root@docker02 /app/docker/compose/04_lnmp/code]# ls
wordpress  wordpress-6.1.1-zh_CN.zip
[root@docker02 /app/docker/compose/04_lnmp/code]# mv wordpress/* ./
[root@docker02 /app/docker/compose/04_lnmp/code]# ls
index.php    wordpress                  wp-admin              wp-config-sample.php  wp-includes        wp-login.php     wp-signup.php
license.txt  wordpress-6.1.1-zh_CN.zip  wp-blog-header.php    wp-content            wp-links-opml.php  wp-mail.php      wp-trackback.php
readme.html  wp-activate.php            wp-comments-post.php  wp-cron.php           wp-load.php        wp-settings.php  xmlrpc.php
[root@docker02 /app/docker/compose/04_lnmp/code]# rm -rf wordpress wordpress-6.1.1-zh_CN.zip 
[root@docker02 /app/docker/compose/04_lnmp/code]# ls
index.php    readme.html      wp-admin            wp-comments-post.php  wp-content   wp-includes        wp-load.php   wp-mail.php      wp-signup.php     xmlrpc.php
license.txt  wp-activate.php  wp-blog-header.php  wp-config-sample.php  wp-cron.php  wp-links-opml.php  wp-login.php  wp-settings.php  wp-trackback.php
[root@docker02 /app/docker/compose/04_lnmp/code]# 

 3、书写配置文件

 3.1、书写mysql的配置文件:my.cnf

[root@docker02 /app/docker/compose/04_lnmp/conf]# vim my.cnf
[root@docker02 /app/docker/compose/04_lnmp/conf]# cat my.cnf 
[client]
port = 3306
socket = /usr/local/mysql/mysql.sock
 
[mysql]
port = 3306
socket = /usr/local/mysql/mysql.sock
 
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

 3.2、书写nginx的配置文件:nginx.conf

[root@docker02 /app/docker/compose/04_lnmp/conf]# vim nginx.conf
[root@docker02 /app/docker/compose/04_lnmp/conf]# cat nginx.conf 
user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
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;
}

 3.3、书写wordpress的配置文件:wordpress.conf

 

[root@docker02 /app/docker/compose/04_lnmp/conf]# vim wordpress.conf
[root@docker02 /app/docker/compose/04_lnmp/conf]# cat wordpress.conf 
server {
  listen 80;
  server_name docker.wordpress.cn;
  
  root /app/code/wordpress;
  location / {
    index index.php;
  }

  location ~* \.php$ {
     fastcgi_pass   172.18.0.20:9000;
     fastcgi_index  index.php;
     fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
     include        fastcgi_params;
  }
}

3.4、书写php的配置文件:www.conf

[root@docker02 /app/docker/compose/04_lnmp/conf]# vim www.conf
[root@docker02 /app/docker/compose/04_lnmp/conf]# cat www.conf 
[www]
user = www-data
group = www-data
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

 二、编写docker-compose配置文件

[root@docker02 /app/docker/compose/04_lnmp]# vim docker-compose.yml
[root@docker02 /app/docker/compose/04_lnmp]# cat docker-compose.yml 
version: "3.3"
services:
  lnmp_nginx:
    image: "nginx:latest"
    volumes:
      - "./conf/nginx.conf:/etc/nginx/nginx.conf"
      - "./conf/wordpress.conf:/etc/nginx/conf.d/wordpress.conf"
      - "./code:/app/code/wordpress"
    ports:
      - "81:80"
    depends_on:
      - "lnmp_php"
    networks:
      lnmp:
        ipv4_address: 172.18.0.10

  lnmp_php:
    image: "php:7-fpm-alpine"
    volumes:
      - "./conf/www.conf:/usr/local/etc/php-fpm.d/www.conf"
      - "./code:/app/code/wordpress"
    ports:
      - "9000:9000"
    depends_on:
      - "lnmp_mysql"
    networks:
      lnmp:
        ipv4_address: 172.18.0.20

  lnmp_mysql:
    image: "mysql:latest"
    ports:
      - "3306:3306"
    volumes:
      - "./conf/my.conf:/etc/my.cnf"
    networks:
      lnmp:
        ipv4_address: 172.18.0.30
    environment:
      MYSQL_ROOT_PASSWORD: 123456   
 
networks: 
  lnmp:
    driver: bridge
    ipam:
      config:
        - subnet: 172.18.0.0/16
      

 三、启动docker-compose

[root@docker02 /app/docker/compose/04_lnmp]# docker-compose up -d
Starting 04lnmp_lnmp_mysql_1 ... done
Starting 04lnmp_lnmp_php_1 ... done
Starting 04lnmp_lnmp_nginx_1 ... done
[root@docker02 /app/docker/compose/04_lnmp]# 
[root@docker02 /app/docker/compose/04_lnmp]# 
[root@docker02 /app/docker/compose/04_lnmp]# docker-compose ps
       Name                      Command               State                          Ports                       
------------------------------------------------------------------------------------------------------------------
04lnmp_lnmp_mysql_1   docker-entrypoint.sh mysqld      Up      0.0.0.0:3306->3306/tcp,:::3306->3306/tcp, 33060/tcp
04lnmp_lnmp_nginx_1   /docker-entrypoint.sh ngin ...   Up      0.0.0.0:81->80/tcp,:::81->80/tcp                   
04lnmp_lnmp_php_1     docker-php-entrypoint php-fpm    Up      0.0.0.0:9000->9000/tcp,:::9000->9000/tcp           
[root@docker02 /app/docker/compose/04_lnmp]# 
[root@docker02 /app/docker/compose/04_lnmp]# 
[root@docker02 /app/docker/compose/04_lnmp]# docker ps
CONTAINER ID   IMAGE              COMMAND                   CREATED        STATUS         PORTS                                                  NAMES
fc9dc2a6257b   nginx:latest       "/docker-entrypoint.…"   12 hours ago   Up 7 seconds   0.0.0.0:81->80/tcp, :::81->80/tcp                      04lnmp_lnmp_nginx_1
27ee95cea350   php:7-fpm-alpine   "docker-php-entrypoi…"   12 hours ago   Up 7 seconds   0.0.0.0:9000->9000/tcp, :::9000->9000/tcp              04lnmp_lnmp_php_1
954dd58a4f9b   mysql:latest       "docker-entrypoint.s…"   12 hours ago   Up 8 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   04lnmp_lnmp_mysql_1

四、浏览器进行访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值