Я хотел бы рассказать о покупке и выборе облачных хостингов Alibaba в этой статье, но я боюсь, что вы можете неправильно понять, что я рекламный пост, поэтому я отправлю покупку облака Alibaba в свой блог отдельно.
Говори поменьше и переходи к делу. На самом деле малым предприятиям легко быстро перейти в облако, но каждый раз настраивать сервер непросто. Каждый раз вам нужно находить какие-то плагины и компоненты для установки, некоторые из-за проблем с версиями, а некоторые из-за проблем со скалолазанием. Процесс окончательной установки довольно хлопотный. Докер стал нашим инструментом быстрого развертывания.
Использование docker для быстрой сборки LNMP В этой статье я возьму php 7 + nginx + MySQL + в качестве примера для создания среды docker в системе CentOS 6.8 или выше, которую часто называют средой LNMP. Далее я дам вам простое руководство по настройке веб-сайта
Прежде чем мы начнем, давайте проясним плагины и откроем порты для устанавливаемых сервисов
Процесс Php7 FPM по умолчанию открывает порт 9000, nginx по умолчанию открывает порт 80, и его также можно настроить по мере необходимости. MySQL открывает порт 3306.
В этой статье мы используем официальное изображение для ускорения работы с исходным кодом docker.
Вытяните изображение
PHP
докер вытаскивает php:7.2.3 MySQL
докер вытащит mysql:5.7.21 Nginx(Tengine/openresty)
докер вытащит nginx:1.13.10 Запуск контейнера
Когда вы запускаете контейнер, вам нужно обратить внимание на взаимосвязь между контейнерами.
В архитектуре LNMP веб-сервер (nginx) должен перенаправлять запрос PHP в PHP FPM для обработки, а PHP должен взаимодействовать с базой данных (MySQL) для доступа к данным, поэтому между ними существуют связи, поэтому эти связи необходимо указать при запуске, и эта связь задается сетевым параметром.
Настройка сети
сеть докеров создать my_net
docker run-it-d-p 3306:3306 –сетевая сеть my_net-e-v/mnt/mysql:/var/lib/mysql –имя mysql mysql:5.7.21 запуск докера-d-p 9000:9000 –имя php-v –сетевая сеть my_net/mnt/html:/usr/локальная/openresty/nginx/html php:7.2.3 #запуск докера PHP-d-p 80:80 –имя nginx-v/mnt/html:/usr/локальная/openresty/nginx/html –сеть my_net nginx:1.13.10 #Nginx При запуске мы используем параметр extra – V, что означает монтирование. Функция заключается в подключении каталога хоста к каталогу, указанному в контейнере. Таким образом, даже если мы уничтожим контейнер, данные в контейнере останутся на хосте без потерь. Например, каталог данных, в котором база данных хранит данные, каталог WWW, в котором веб-сервер хранит код, и каталог, в котором каждая служба хранит файлы конфигурации и т. Д.
web_server: изображение: порты nginx:
- “80:80”
- “443:443”
тома:
- /mnt/html:/usr/локальный/openresty/nginx/html
сети:
- “моя сеть”
db_server: изображение: docker.io/mysql:5.7.21 среда: MYSQL_ROOT_PASSWORD: 123456 портов:
- “3306:3306”
тома:
- /mnt/mysql:/var/lib/mysql
сети:
- “моя сеть”
php: изображение: docker.io/php:7.2.3 имя контейнера: ссылки на php:
- db_server:mysql
порты:
- “9000:9000”
тома:
- /mnt/html:/usr/локальный/openresty/nginx/html
- /mnt/php:/usr/локальный/etc/php
сети:
- “моя сеть”
сети: my_net: драйвер: мост
Сохраните как docker – compose.yml и выполните команду запуска docker compose up – D в файле
Запуск mysql … готово Запуск php … готово Запуск nginx … готово Вы можете убедиться, что следующее запускается нормально:
Докер PS – A или докер сочиняет PS С этим нелегко бороться. Если вы считаете, что это полезно, пожалуйста, обратите на меня внимание! Добро пожаловать в коллекцию forward