Nginx php-fpm docker-compose

Ngày nay, gần một nửa trong số 1 triệu trang web hàng đầu trên internet sử dụng WordPress CMS [Hệ thống quản lý nội dung]. WordPress có rất nhiều tính năng và rất dễ sử dụng ngay cả đối với người dùng không có kỹ thuật, điều này khiến nó trở thành giải pháp CMS cho nhiều người. Tuy nhiên, thiết lập một trang web với WordPress trong máy chủ VPS hoặc máy chủ Đám mây có thể là một nhiệm vụ khá khó khăn đối với cả người dùng không có kỹ thuật cũng như kỹ thuật. Chúng ta sẽ học cách làm điều đó trong bài viết này

Sử dụng docker-compose, chúng ta có thể triển khai ‘WordPress’ với Nginx, MySQL và PHP-FPM. Chúng ta sẽ xem làm thế nào để tiến hành

Là một phần của Dịch vụ lưu trữ Docker của chúng tôi, Bobcares cung cấp giải pháp cho tất cả các truy vấn lớn và nhỏ

Hãy cùng xem các kỹ sư Hỗ trợ của chúng tôi cập bến WordPress bằng cách sử dụng Nginx và PHP-FPM như thế nào

Cách sử dụng Docker Compose để cài đặt WordPress với nginx, php-fpm và mysql

Docker-Compose là một công cụ dòng lệnh cho phép chúng tôi xác định và quản lý nhiều bộ chứa Docker dưới dạng một dịch vụ. Compose được viết bằng Python. Nó có thể được cài đặt bằng lệnh pip trong Python

Chúng ta có thể chạy nhiều Docker container bằng một lệnh duy nhất khi sử dụng Compose. Nó cho phép tạo một container như một dịch vụ. Vì vậy, nó lý tưởng cho môi trường phát triển, thử nghiệm và dàn dựng của chúng tôi

Tại đây, chúng tôi sẽ triển khai 'WordPress' với Nginx, MySQL và PHP-FPM bằng cách sử dụng docker-compose. Mỗi dịch vụ sẽ có vùng chứa riêng, vùng chứa này sẽ dựa trên hình ảnh từ Docker Hub Registry

cài đặt docker

Chúng ta sẽ bắt đầu từ đầu, cài đặt thủ công docker và docker Compose bằng lệnh apt

  • Đầu tiên, hãy đảm bảo kho lưu trữ Ubuntu được cập nhật. Sau đó, cài đặt các bản cập nhật mới nhất.
    ______29
    nginx:
        image: nginx:latest
        ports:
            - '80:80'
        volumes:
            - ./nginx:/etc/nginx/conf.d
            - ./logs/nginx:/var/log/nginx
            - ./wordpress:/var/www/html
        links:
            - wordpress
        restart: always
    0
  • Vì docker mặc định đã có sẵn trong kho Ubuntu nên chúng ta có thể tiến hành cài đặt ngay.
    ______31
  • Khởi động docker sau khi cài đặt hoàn tất. Sau đó thiết lập nó để bắt đầu tự động trong khi khởi động.
    ______32
    nginx:
        image: nginx:latest
        ports:
            - '80:80'
        volumes:
            - ./nginx:/etc/nginx/conf.d
            - ./logs/nginx:/var/log/nginx
            - ./wordpress:/var/www/html
        links:
            - wordpress
        restart: always
    3
  • Cuối cùng, hãy chạy lệnh sau để kiểm tra cài đặt Docker.
    ______00

Kết quả là, chúng ta sẽ có thể thấy hello-world của docker

Cài đặt Docker-Soạn thư

Docker-compose có sẵn trong kho python PyPI vì nó là tập lệnh python. Vì vậy, python pip có thể được sử dụng để cài đặt nó. Do đó, trước tiên chúng ta phải cài đặt Python và Python Pip trên hệ thống của mình

  • Đầu tiên, Cài đặt python và python-pip bằng cách sử dụng các lệnh này.
    ______01
  • Sau đó, sử dụng lệnh pip, cài đặt docker-compose.
    ______02
  • chờ quá trình cài đặt hoàn tất. Sau đó, sử dụng lệnh docker-compose để xác minh cài đặt.
    ______03

Kết quả là, chúng ta sẽ nhận được docker-compose

Thiết lập WordPress

Hệ thống hiện đã cài đặt docker và docker-compose. Vì vậy, trong bước này, chúng tôi sẽ tạo và định cấu hình môi trường soạn thảo Docker cho dự án WordPress của chúng tôi

Ứng dụng PHP ‘WordPress’ sẽ được triển khai dưới dạng bộ chứa docker do docker-compose quản lý, với Nginx là máy chủ web và MariaDB cho cơ sở dữ liệu MySQL. Mỗi ứng dụng sẽ chạy trong vùng chứa riêng của nó, như được hiển thị trong danh sách sau

  • -nginx. Chúng tôi sử dụng 'nginx. hình ảnh docker chính thức mới nhất
  • -WordPress. Trên docker-hub, WordPress cung cấp một số hình ảnh docker. Chúng tôi sẽ sử dụng wordpress mới nhất với PHP-FPM mới nhất trên đó
  • -MySQL. Chúng tôi sẽ sử dụng phiên bản mới nhất của bộ chứa chính thức của MariaDB

Vì vậy, chúng tôi yêu cầu ba hình ảnh docker. Chúng tôi sẽ không chạy docker với quyền root;

  • Vì vậy, chỉ cần chạy lệnh bên dưới để tạo người dùng mới.
    ______04
    nginx:
        image: nginx:latest
        ports:
            - '80:80'
        volumes:
            - ./nginx:/etc/nginx/conf.d
            - ./logs/nginx:/var/log/nginx
            - ./wordpress:/var/www/html
        links:
            - wordpress
        restart: always
    5
  • Thêm người dùng vào nhóm 'docker' để họ có thể sử dụng lệnh docker. Sau đó khởi động lại dịch vụ docker.
    nginx:
        image: nginx:latest
        ports:
            - '80:80'
        volumes:
            - ./nginx:/etc/nginx/conf.d
            - ./logs/nginx:/var/log/nginx
            - ./wordpress:/var/www/html
        links:
            - wordpress
        restart: always
    6
    nginx:
        image: nginx:latest
        ports:
            - '80:80'
        volumes:
            - ./nginx:/etc/nginx/conf.d
            - ./logs/nginx:/var/log/nginx
            - ./wordpress:/var/www/html
        links:
            - wordpress
        restart: always
    7
  • Đăng nhập với tư cách người dùng ‘bobcares’. Sau đó, đối với dự án WordPress, hãy tạo một thư mục mới.
    ______08
    nginx:
        image: nginx:latest
        ports:
            - '80:80'
        volumes:
            - ./nginx:/etc/nginx/conf.d
            - ./logs/nginx:/var/log/nginx
            - ./wordpress:/var/www/html
        links:
            - wordpress
        restart: always
    9
    nginx:
        image: nginx:latest
        ports:
            - '80:80'
        volumes:
            - ./nginx:/etc/nginx/conf.d
            - ./logs/nginx:/var/log/nginx
            - ./wordpress:/var/www/html
        links:
            - wordpress
        restart: always
    00
  • Sau đó, tạo một thư mục mới cho dự án và một tệp mới có tên là 'docker-compose. yml'. Chỉ cần gõ các lệnh sau.
    ______101
    nginx:
        image: nginx:latest
        ports:
            - '80:80'
        volumes:
            - ./nginx:/etc/nginx/conf.d
            - ./logs/nginx:/var/log/nginx
            - ./wordpress:/var/www/html
        links:
            - wordpress
        restart: always
    02
    nginx:
        image: nginx:latest
        ports:
            - '80:80'
        volumes:
            - ./nginx:/etc/nginx/conf.d
            - ./logs/nginx:/var/log/nginx
            - ./wordpress:/var/www/html
        links:
            - wordpress
        restart: always
    03
    nginx:
        image: nginx:latest
        ports:
            - '80:80'
        volumes:
            - ./nginx:/etc/nginx/conf.d
            - ./logs/nginx:/var/log/nginx
            - ./wordpress:/var/www/html
        links:
            - wordpress
        restart: always
    04
    nginx:
        image: nginx:latest
        ports:
            - '80:80'
        volumes:
            - ./nginx:/etc/nginx/conf.d
            - ./logs/nginx:/var/log/nginx
            - ./wordpress:/var/www/html
        links:
            - wordpress
        restart: always
    05

Danh sách tệp và thư mục của dự án

soạn thảo docker. yml. Nó là file cấu hình mà chúng ta phải tạo khi bắt đầu một project mới với Docker

nginx. Thư mục này chứa cấu hình nginx bổ sung của chúng tôi, chẳng hạn như máy chủ ảo, v.v.

dữ liệu db. Thư mục dữ liệu cho mysql. Dữ liệu ‘/var/lib/mysql’ được gắn trong thư mục db-data

khúc gỗ. Nhật ký ứng dụng, nginx, mariadb và php-fpm đều được lưu trữ trong thư mục này

báo chí. Thư mục đó sẽ chứa tất cả các tệp WordPress

Bây giờ, hãy tạo một tệp cấu hình nginx mới cho máy chủ ảo wordpress của chúng tôi trong thư mục 'nginx'

  • Đầu tiên, tạo một wordpress mới. tập tin conf.
    nginx:
        image: nginx:latest
        ports:
            - '80:80'
        volumes:
            - ./nginx:/etc/nginx/conf.d
            - ./logs/nginx:/var/log/nginx
            - ./wordpress:/var/www/html
        links:
            - wordpress
        restart: always
    06
  • Sau đó, sao chép và dán cấu hình sau.
    ______107
  • Cuối cùng, thoát vim sau khi lưu tệp

    Định cấu hình Docker-Soạn thư

    Nếu chúng ta muốn bắt đầu dự án docker-compose, trước tiên chúng ta phải tạo docker-compose. yml tập tin, như hình dưới đây

  • Với vim, chỉnh sửa docker-compose. yml.
    ______108
  • Sau đó, xác định các dịch vụ của chúng tôi, bắt đầu với Nginx trên dòng đầu tiên. Chúng tôi đang sử dụng phiên bản mới nhất của hình ảnh docker chính thức của Nginx. Chúng tôi đã thiết lập ánh xạ cổng từ cổng 80 trên vùng chứa đến cổng 80 trên máy chủ. Sau đó, định cấu hình khối lượng docker cho cấu hình máy chủ ảo Nginx của chúng tôi, khối lượng tệp nhật ký Nginx và khối lượng thư mục gốc của web ‘/var/www/html’ tiếp theo. Vùng chứa WordPress được liên kết với vùng chứa Nginx
nginx:
    image: nginx:latest
    ports:
        - '80:80'
    volumes:
        - ./nginx:/etc/nginx/conf.d
        - ./logs/nginx:/var/log/nginx
        - ./wordpress:/var/www/html
    links:
        - wordpress
    restart: always
  • Sau đó, chúng tôi sẽ cần chỉ định máy chủ MySQL. Chúng tôi đang sử dụng hình ảnh MariaDB gần đây nhất. Định cấu hình cổng 3306 cho vùng chứa và sử dụng biến môi trường 'MẬT KHẨU ROOT MYSQL' để đặt mật khẩu gốc MySQL. Cuối cùng, thiết lập dung lượng vùng chứa của thư mục dữ liệu MySQL
nginx:
    image: nginx:latest
    ports:
        - '80:80'
    volumes:
        - ./nginx:/etc/nginx/conf.d
        - ./logs/nginx:/var/log/nginx
        - ./wordpress:/var/www/html
    links:
        - wordpress
    restart: always
0
  • Sau đó, sử dụng WordPress 4. 7 hình ảnh docker với PHP-FPM 7. 0 được cài đặt, chúng tôi sẽ thiết lập dịch vụ WordPress. Đặt cổng PHP-fpm thành 9000. Sau đó kích hoạt docker volume cho thư mục web ‘/var/www/html’ cho thư mục máy chủ ‘wordpress,’. Cuối cùng, định cấu hình cơ sở dữ liệu bằng biến môi trường WordPress, sau đó liên kết dịch vụ WordPress với mysql

báo chí

nginx:
    image: nginx:latest
    ports:
        - '80:80'
    volumes:
        - ./nginx:/etc/nginx/conf.d
        - ./logs/nginx:/var/log/nginx
        - ./wordpress:/var/www/html
    links:
        - wordpress
    restart: always
1
  • Cuối cùng, lưu tệp và thoát trình soạn thảo vim sau khi thêm ba phần vào docker-compose. tập tin yml

Cấu hình docker-compose của chúng ta đã hoàn tất

Chạy Docker-compose

  • Bắt đầu bằng cách sử dụng Docker soạn để tạo vùng chứa mới. Bắt đầu các vùng chứa mới dựa trên tệp soạn thảo của chúng tôi trong thư mục soạn thảo wordpress.
    ______109
    nginx:
        image: nginx:latest
        ports:
            - '80:80'
        volumes:
            - ./nginx:/etc/nginx/conf.d
            - ./logs/nginx:/var/log/nginx
            - ./wordpress:/var/www/html
        links:
            - wordpress
        restart: always
    10
  • Có thể xem đầu ra của lệnh. Có ba vùng chứa được tạo. Hãy sử dụng tùy chọn ps để kiểm tra trạng thái của vùng chứa.
    ______211
  • Hơn nữa, nếu chúng ta muốn xem đầu ra nhật ký của vùng chứa, hãy sử dụng các lệnh bên dưới.
    ______212
    nginx:
        image: nginx:latest
        ports:
            - '80:80'
        volumes:
            - ./nginx:/etc/nginx/conf.d
            - ./logs/nginx:/var/log/nginx
            - ./wordpress:/var/www/html
        links:
            - wordpress
        restart: always
    13
    nginx:
        image: nginx:latest
        ports:
            - '80:80'
        volumes:
            - ./nginx:/etc/nginx/conf.d
            - ./logs/nginx:/var/log/nginx
            - ./wordpress:/var/www/html
        links:
            - wordpress
        restart: always
    14

    Cài đặt WordPress

  • Hãy kiểm tra các cổng có sẵn/các cổng đang mở của hệ thống trước khi chuyển sang bước tiếp theo. Hãy chắc chắn rằng chúng tôi có ba cổng mở. 80, 3306 và 9000.
    nginx:
        image: nginx:latest
        ports:
            - '80:80'
        volumes:
            - ./nginx:/etc/nginx/conf.d
            - ./logs/nginx:/var/log/nginx
            - ./wordpress:/var/www/html
        links:
            - wordpress
        restart: always
    8
  • Bây giờ hãy mở trình duyệt web và nhập địa chỉ IP hoặc URL của máy chủ vào thanh địa chỉ.
    http. //máy chủIP/
  • Trang cài đặt WordPress có thể được xem. Chọn ngôn ngữ ưa thích và nhấp vào 'Tiếp tục. ’
  • Sau đó, nhấp vào ‘Cài đặt WordPress‘ và nhập tiêu đề trang web, người dùng và mật khẩu quản trị viên và địa chỉ email
  • ‘Bảng điều khiển quản trị WordPress‘ sẽ được hiển thị. Với docker-compose, WordPress đã được cài đặt

    [Tìm giải pháp cho truy vấn khác? . ]

    Phần kết luận

    Tóm lại, các kỹ sư Hỗ trợ lành nghề của Bobcares đã trình bày cách sử dụng trình soạn thảo docker để cài đặt WordPress với Nginx, MySQL và PHP-FPM

    NGĂN CHẶN MÁY CHỦ CỦA BẠN KHỎI SỰ CỐ

    Không bao giờ mất khách hàng vì tốc độ máy chủ kém. Hãy để chúng tôi giúp bạn

    Các chuyên gia máy chủ của chúng tôi sẽ giám sát và bảo trì máy chủ của bạn 24/7 để nó luôn hoạt động nhanh và an toàn

    Cách cài đặt PHP

    Chạy hình ảnh PHP-FPM, gắn một thư mục từ máy chủ của bạn. .
    Sudo docker container run --rm -v $[pwd]. /var/www/html nanoninja/php-fpm chỉ mục php. php
    Sudo docker container run --rm --name phpfpm -v $[pwd]. /var/www/html -p 3000. 3000 nanoninja/php-fpm php -S="0. 0. 0. 0. 3000" -t="/var/www/html"

    Làm cách nào để sử dụng PHP với docker Nginx?

    Dịch vụ Nginx . Create a folder named PHP with Nginx and open it in Visual Studio Code. Bên trong nó, tạo một tệp có tên docker-compose. yml và viết cái này bên trong nó. Trong Docker Compose, bạn định nghĩa cái gọi là "dịch vụ", sẽ được đại diện bởi các container chạy trên docker.

    Cách sử dụng PHP

    Cung cấp ứng dụng PHP của bạn thông qua giao diện người dùng nginx .
    Bước 1. Tạo mạng. .
    Bước 2. Tạo một khối máy chủ. .
    Bước 3. Chạy hình ảnh PHP-FPM với một tên cụ thể. .
    Bước 4. Chạy hình ảnh nginx. .
    Bước 1. Chạy hình ảnh PHP-FPM. .
    Bước 2. Chỉnh sửa cấu hình. .
    Bước 3. Khởi động lại PHP-FPM. .
    Bước 1. Nhận hình ảnh cập nhật

    Cách cài đặt PHP 7. 4 trong docker Nginx?

    điều kiện tiên quyết
    Đăng nhập vào Máy chủ và Cập nhật Gói Hệ điều hành Máy chủ. Đầu tiên, đăng nhập vào Ubuntu 20 của bạn. 04 qua SSH với tư cách là người dùng root. ssh root@IP_Address -p Port_number. .
    Cài đặt Nginx. .
    Cài đặt PHP7. .
    Cài đặt PHP7. .
    Định cấu hình Nginx để xử lý tệp PHP. .
    Xác minh PHP

Chủ Đề