Docker WordPress(nginx + php-fpm + myadmin)설치

[1] 사전 준비사항. 서버와 도메인은 미리 준비되어 있어야 합니다.아래의 설정은 자신의 서버 상황에 맞게 위치를 변경하세요. 워드프레스 설치 디렉토리 : /home/yourid/wp워드프레스 컨테이너 이름 : wordpress워드프레스 데이터베이스 컨테이너 이름 : wpdb워드프레스 데이터베이스 호스트 : wpdb워드프레스 데이터베이스 사용자명 : wordpress_dbname워드프레스 데이터베이스 이름 : wordpress_dbid워드프레스 데이터베이스 비밀번호 : yourpasswdnginx 컨테이너 이름 : wpserver서버도메인 : yourdomain.com워드프레스 웹페이지 접속 포트 […]


워드프레스

Docker 워드프레스 설치

WordPress DOCKER 이미지, nginx, php-fpm, phpmyadmin을 모두 설치하고 난 후에 관리자 페이지로 접속한 화면입니다.

워드프레스 1

[1] 사전 준비사항.

서버와 도메인은 미리 준비되어 있어야 합니다.
아래의 설정은 자신의 서버 상황에 맞게 위치를 변경하세요.

워드프레스 설치 디렉토리 : /home/yourid/wp
워드프레스 컨테이너 이름 : wordpress
워드프레스 데이터베이스 컨테이너 이름 : wpdb
워드프레스 데이터베이스 호스트 : wpdb
워드프레스 데이터베이스 사용자명 : wordpress_dbname
워드프레스 데이터베이스 이름 : wordpress_dbid
워드프레스 데이터베이스 비밀번호 : yourpasswd
nginx 컨테이너 이름 : wpserver
서버도메인 : yourdomain.com
워드프레스 웹페이지 접속 포트 : 82
phpmyadmin 웹페이지 접속 포트 : 83

[2] nginx 사이트 설정 파일을 작성한다.

$sudo mkdir -p /home/yourid/wp/nginx/conf
$sudo nano /home/chaehui/wp/nginx/conf/nginx.conf

server {

        listen 80;
        listen [::]:80;

        server_name yourdomain.com wwww.yourdomain.com; #필요시 도메인 부분 변경 할 것.
        index index.php index.html index.htm;
        root /var/www/html;

        location ~ /.well-known/acme-challenge {
                allow all;
                root /var/www/html;
        }

        location / {

                try_files $uri $uri/ /index.php$is_args$args;

        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass wordpress:9000; #컨테이너 이름을 정확히 입력합니다.
                fastcgi_index index.php;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param PATH_INFO $fastcgi_path_info;
        }

        location ~ /\.ht {
                deny all;
        }

        location = /favicon.ico {
                log_not_found off; access_log off;
        }

        location = /robots.txt {
                log_not_found off; access_log off; allow all;
        }

        location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
                expires max;
                log_not_found off;
        }

}

[3] php.ini 파일 생성 후 환경변수 값 지정하기

$sudo mkdir -p /home/yourid/wp/php
$cd /home/yourid/wp/php
$sudo nano php.ini

short_open_tag = On
memory_limit = 512M  #설치후에 서버 성능이 떨어지면 이 값을 적절히 변경하세요.
cgi.fix_pathinfo = 0
upload_max_filesize = 1024M #업로드 최대 파일 크기를 지정할 수 있습니다.
post_max_size = 1025M #첨부파일 최대 파일 크기를 지정할 수 있습니다.
max_execution_time = 3600 #설치후에 서버 성능이 떨어지면 이 값을 적절히 변경하세요.
date.timezone = Asia/Seoul
expose_php = off

[4] docker-compose.yml 파일 작성

$sudo nano /home/yourid/wp/docker-compose.yml

services:

  wpdb:
    image: mariadb:latest
    container_name: wpdb
    restart: unless-stopped

    environment:
      - MYSQL_DATABASE=wordpress_dbname #워드프레스 데이터 베이스 이름을 지정해준다.
      - MYSQL_ROOT_PASSWORD=yourpasswd #워드프레스 데이터 베이스 비밀번호를 지정해준다.
      - MYSQL_USER=wordpress_dbid #워드프레스 데이터 베이스 사용자명을 지정해준다.
      - MYSQL_PASSWORD=yourpasswd #워드프레스 데이터베이스 비밀번호를 지정해준다.

    volumes:
      - /home/yourid/wp/db:/var/lib/mysql

    command: '--default-authentication-plugin=mysql_native_password'
    networks:
      - wp-network


  wordpress:
    depends_on:
      - wpdb
    image: wordpress:php8.0-fpm-alpine
    container_name: wordpress
    restart: unless-stopped

    environment:
      - WORDPRESS_DB_HOST=wpdb:3306
      - WORDPRESS_DB_USER=wordpress_dbid #위에서 지정한 워드프레스 데이터 베이스 사용자명을 입력한다.
      - WORDPRESS_DB_PASSWORD=yourpasswd #위에서 지정한 워드프레스 데이터베이스 비밀번호를 입력한다.
      - WORDPRESS_DB_NAME=wordpress_dbname #위에서 지정한 워드프레스 데이터 베이스 이름을 입력한다.

    volumes:
      - /home/yourid/wp/html:/var/www/html
      - /home/yourid/wp/php/php.ini:/usr/local/etc/php/php.ini

    networks:
      - wp-network



  wpserver:
    depends_on:
      - wordpress
    image: nginx:alpine
    container_name: wpserver
    restart: unless-stopped

    ports:
      - "82:80" #자신의 서버 상황에 맞게 포워딩하세요.

    volumes:
      - /home/yourid/wp/html:/var/www/html
      - /home/yourid/wp/nginx/conf:/etc/nginx/conf.d

    networks:
      - wp-network


  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin

    ports:
      - "83:80" #자신의 서버 상황에 맞게 포워딩하세요.

    environment:
      - PMA_HOST=wpdb

    restart: always

    depends_on:
      - wpdb

    networks:
      - wp-network

volumes:
  wordpress:
  db:

networks:
  wp-network:
      driver: bridge

[5] docker-compose 명령으로 설치.

$sudo docker-compose up -d

[6] 웹페이지로 접속하여 확인

1. 워드프레스 설치 마무리
http://yourdomain.com:82

2. phpmyadmin  접속확인
로그인 id와 비번은 위에 docker-compose.yml에서 지정한 것을 사용합니다.
http://yourdomain.com:83

Views: 18


마음에 드시는 글이 있다면 다른 분에게도 알려 주세요.
위로 스크롤