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

OSCHINA-MIRROR/yeszao-dnmp

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README-en.md

Развёртывание Docker: Nginx, MySQL, PHP7/PHP5.6/PHP5.4 в одном ключе с полной функциональностью.

[中文说明]

1. Функциональность

  1. Полностью открытый исходный код.
  2. Поддержка переключения между несколькими версиями PHP (PHP5.4, PHP5.6, PHP7.0, PHP7.1, PHP7.2, PHP7.3).
  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:
    $ sudo gpasswd -a ${USER} docker
  4. Запустите контейнеры Docker:
    $ cd dnmp
    $ cp env.sample .env
    $ cp docker-compose.sample.yml docker-compose.yml
    $ docker-compose up
  5. Перейдите в свой браузер и введите http://localhost, вы увидите:

Изображение демо

Индексный файл находится по адресу ./www/localhost/index.php.

3. Несколько версий PHP

По умолчанию мы создаём 3 контейнера PHP: PHP7, PHP5.6 и PHP5.4. Мы можем легко изменить их, модифицировав конфигурацию Nginx fastcgi_pass. Например, http://localhost использует PHP7, Nginx fastcgi_pass выглядит так:

    fastcgi_pass   php:9000;

Чтобы использовать PHP7, измените его:

    fastcgi_pass   php54:9000;

Затем перезагрузите nginx:

$ docker exec -it nginx nginx -s reload

Готово.

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

Мы всегда будем использовать composer на хосте. На хосте создайте папку для сохранения файла конфигурации и кэша composer:

mkdir ~/dnmp/composer

Откройте ~/.bashrc и добавьте:

composer () {
    tty=
    tty -s && tty=--tty
    docker run \
        $tty \
        --interactive \
        --rm \
        --user $(id -u):$(id -g) \
        --volume ~/dnmp/composer:/tmp \
        --volume /etc/passwd:/etc/passwd:ro \
        --volume /etc/group:/etc/group:ro \
        --volume $(pwd):/app \
        composer "$@"
}

Сделайте этот скрипт активным:

source ~/.bashrc

Вот и всё, используйте composer:

cd ~/dnmp/www/
composer create-project yeszao/fastphp project --no-dev

Лицензия

MIT

Комментарии ( 0 )

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

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления (6)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/yeszao-dnmp.git
git@api.gitlife.ru:oschina-mirror/yeszao-dnmp.git
oschina-mirror
yeszao-dnmp
yeszao-dnmp
master