1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/phprao-dnmp2

Клонировать/Скачать
README-en.md 3.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 02.06.2025 22:58 6430656

dnmp

Установка Docker для Nginx, MySQL и PHP7 одним ключом, поддержка всех функций.

Demo Image

1. Функции

  1. Полностью открытое ПО.
  2. Поддержка нескольких версий PHP (PHP5.4, PHP5.6, PHP7.2) переключения.
  3. Поддержка нескольких доменов.
  4. Поддержка HTTPS и HTTP/2.
  5. Исходный код PHP расположен на хосте.
  6. Директория данных MySQL расположена на хосте.
  7. Все конфигурационные файлы расположены на хосте.
  8. Все файлы логов расположены на хосте.
  9. Встроенные команды установки расширений PHP.
  10. Обещание 100% доступности.
  11. Поддержка любой ОС с использованием Docker.

2. Использование

  1. Установите git, docker и docker-compose;
  2. Клонируйте проект:
    $ git clone https://github.com/yeszao/dnmp.git
  3. Запустите контейнеры Docker:
    $ cd dnmp
    $ docker-compose up
    Вы можете потребовать использовать sudo перед этой командой в Linux.
  4. Перейдите в ваш браузер и введите localhost, вы увидите:

Demo Image

Файлы индекса расположены в ./www/site1/.

3. Другие версии PHP?

По умолчанию, мы запускаем последнюю версию PHP с помощью:

$ docker-compose up

мы также можем запустить PHP5.4 или PHP5.6 с помощью:

$ docker-compose -f docker-compose54.yml up
$ docker-compose -f docker-compose56.yml up

Нам не нужно изменять другие файлы, такие как конфигурационный файл Nginx или php.ini, всё будет работать корректно в текущей среде (за исключением ошибок совместимости кода).> Внимание: Мы можем запустить только одну версию PHP, так как они используют одинаковый порт. Мы должны остановить запущенный проект, прежде чем запустить другой.

4. HTTPS и HTTP/2

По умолчанию, демо включает 2 сайта:

Чтобы просмотреть их, добавьте 2 строки в ваш файл hosts (в /etc/hosts на Linux и C:\Windows\System32\drivers\etc\hosts на Windows):

127.0.0.1 www.site1.com
127.0.0.1 www.site2.com

Затем вы можете посетить их из браузера.

5. Логи

Мы можем определить директорию логов в конфигурационных файлах Nginx / PHP / PHP-FPM / MySQL. Чтобы отобразить файлы логов на хосте, нам нужно настроить их на /var/log/dnmp.

Однако, есть некоторые различия:

5.1 Логи Nginx

Nginx автоматически генерирует все файлы логов.

5.2 Логи PHP-FPM

Чтобы использовать логи php-fpm, вам нужно создать файл логов вручную (на хосте):

$ touch log/php.fpm.error.log
$ chmod a+w log/php.fpm.error.log

5.3 Логи MySQL

Также как php-fpm, файл логов должен быть создан вручную (на хосте):

$ touch log/mysql.slow.log
$ chmod a+w log/mysql.slow.log

6. Лицензия

MIT

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/phprao-dnmp2.git
git@api.gitlife.ru:oschina-mirror/phprao-dnmp2.git
oschina-mirror
phprao-dnmp2
phprao-dnmp2
master