Рубрики
Uncategorized

На основе docker быстро создайте локальную среду разработки Nginx+Php+https, избегайте ручной установки расширения PHP

Автор оригинала: David Wong.

Что такое 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