Что такое Nginx Php Docker и какие основные проблемы необходимо решить
На основе docker локальная среда разработки Nginx+Php (включая распространенные расширения PHP), nginx, файлы конфигурации PHP , файлы журналов и инженерные коды PHP находятся на хосте для легкой модификации.
Это может решить следующие проблемы:
- Новые люди присоединяются к команде, настраивают хлопотную и дублирующую работу SNMP
- Prod, постановка, локальная среда разработки несовместима, локальная проблема отсутствует, при постановке у prod есть множество проблем
- Существуют проблемы с установкой расширений PHP, таких как: компьютеры MAC, несколько локальных версий PHP, несовместимые расширения (например: memcache, memcached)
- Новые функции проекта должны быть установлены с новыми расширениями, и все разработчики должны установить их один раз.
Nginx Php Докер github url
1. Как им пользоваться?
1.1 код загрузки
git clone [email protected]:weiwenwang/NginxPhpDocker.git cd NginxPhpDocker
1.2 Запустите контейнер PHP
docker run -it -d \ --name myphp \ -v $PWD/www/php:/www/php \ -v $PWD/www/example:/www/example \ --privileged=true \ wangnan188/nginx-php-docker:v7.2-v1
1.3 Запустите контейнер nginx
docker run -it -d \ -p 80:80 \ -p 443:443 \ -v $PWD/nginx-conf/conf.d:/etc/nginx/conf.d \ -v $PWD/nginx-conf/nginx.conf:/etc/nginx/nginx.conf \ -v $PWD/www/html:/www/html \ -v $PWD/www/example:/www/example \ -v $PWD/ssl/server.crt:/etc/nginx/ssl/server.crt \ -v $PWD/ssl/server.key:/etc/nginx/ssl/server.key \ -v $PWD/log/nginx:/var/log/nginx/ \ --link=myphp:myphp_alias \ --privileged=true \ --name=mynginx nginx
1.4 Примечания, очень важные
- Две инструкции 1.2 и 1.3 должны быть выполнены в каталоге Nginx Php Docker
- Папка с PHP-кодом должна быть помещена в контейнер PHP. Когда им пользуется небольшой партнер, его необходимо повесить в контейнер nginx. Контейнеры nginx и PHP изолированы. PHP будет находить файлы в своем собственном контейнере только по адресу и взаимодействовать с nginx только через fastcgi. nginx сообщает пользователю PHP запрошенный адрес файла. PHP сам по себе способен найти соответствующий файл
Каков эффект 1.5 после 1.2 и 1.3?
3. Как запустить существующие проекты?
Позвольте мне привести вам пример. Если наш текущий проект (thinkphp_3.2.3_full) написан платформой ThinkPHP, как я могу его запустить? Шаг 1: Поместите код в каталог www/пример/Шаг 2: Добавьте файл конфигурации nginx-conf/conf.d/пример-thinkphp.conf, и все, что остается, – это простая проблема конфигурации nginx. Сделайте локальную привязку хоста: “127.0.0.1 thinkphp-full.com” Доступ к браузеру: http://thinkphp-full.com/inde…
4. Какие расширения теперь содержит Wangnan 188/nginx-php-docker?
– | – | – | ДА | – | ДА | Ядро | редис | |
– | – | – | ДА | – | ДА | тип ctype | gd | |
– | – | – | ДА | – | ДА | локон | xdebug | |
– | – | – | ДА | – | ДА | дата | mongodb | |
– | – | – | ДА | – | ДА | дом | свул | |
– | – | – | ДА | – | ДА | файлинфо | memcached | |
– | – | – | ДА | – | НЕТ | фильтр | memcache | |
– | – | ДА | ftp | |||||
– | – | ДА | гашиш | |||||
– | – | ДА | iconv | |||||
– | – | ДА | json | |||||
– | – | ДА | libxml | |||||
– | – | ДА | mbstring | |||||
– | – | ДА | mysqlnd | |||||
– | – | ДА | openssl | |||||
– | – | ДА | pcre | |||||
– | – | ДА | PDO | |||||
– | – | ДА | pdo_sqlite | |||||
– | – | ДА | Фар | |||||
– | – | ДА | posix | |||||
– | – | ДА | прочитанная строка | |||||
– | – | ДА | Отражение | |||||
– | – | ДА | сессия | |||||
– | – | ДА | simplexml_load_file | |||||
– | – | ДА | натрий | |||||
– | – | ДА | SPL | |||||
– | – | ДА | sqlite3 | |||||
– | – | ДА | стандарт | |||||
– | – | ДА | токенизатор | |||||
– | – | ДА | xml | |||||
– | – | ДА | xmlreader | |||||
– | – | ДА | xmlwriter | |||||
– | – | ДА | zlib |
5. Другое
Последующие расширения PHP являются дополнительными и могут не обновлять эту статью вовремя. Пожалуйста, перейдите на последнюю версию: GitHub