Sign inSign up

tekintian/nginx-php

By tekintian

Updated almost 8 years ago

nginx-php for docker , nginx + php5.4, 5.5, 5.6, php7.0, 7.1, 7.2 and PHP 7.3 docker container

Image
1

1.5K

tekintian/nginx-php repository overview

nginx-php for docker , nginx + php5.4, php5.5, php5.6, php7.0, php7.1, php7.2 docker container

docker run -it -d --name mywaf -p 83:80 -v /Users/Github/tengine-php/src:/home/src tekintian/tengine-php:7.2.waf

docker run -it -d --name nginx -p 87:80 -v /Users/Github/nginx-php/nginx_waf.conf:/usr/local/nginx/conf/nginx.conf -v /Users/Github/nginx-php/src:/home/src nginx:7.2waf

docker run -it -d --name nginx -p 87:80 -v /Users/Github/nginx-php/src:/home/src nginx:7.2waf

docker run -it -d --name tenginewaf -p 82:80 -v /Users/Github/tengine-php/src:/home/src tekintian/tengine-php:7.2.3.waf

php latest version

docker pull tekintian/nginx-php

php-2.2.3

docker pull tekintian/nginx-php:2.2.3

php-7.1.15

docker pull tekintian/nginx-php:7.1.15

php-7.0.28

docker pull tekintian/nginx-php:7.0.28

php-5.6.34

docker pull tekintian/nginx-php:5.6.34


description

nginx-2.2.2 php-5.6.34, php-7.0.28, php-7.1.15, php-2.2.3 last update 2018年03月10日09:32:46

nginx(Nginx) + php5.4, php5.5, php5.6, php7.0, php7.1, php7.2 nginx+ LuaJIT waf security module, IPV6, http2, OPENSSL sphinx + Memcached [Memcache]+ Redis + Swoole + Workman ImageMagick + ZendOpcache ZendGuardLoader + ionCube <php5.6

nginx/nginx control

start|stop|status|restart|reload|configtest

docker exec -d web service nginx restart php control start|stop|restart|reload|status

docker exec -d web service php-fpm restart


使用示例

使用默认配置独立运行nginx+php

  1. 自定义配置运行命令

docker run -d -it
--name nginx
--restart=always
-p 80:80
-p 443:443
-v /home/opt/nginx-php/vhost:/usr/local/nginx/conf/vhost
-v /home/wwwroot:/home/wwwroot
-v /home/wwwlogs:/home/wwwlogs
tekintian/nginx-php:latest

  1. 简洁运行命令{just for test}: docker run -d -it --name nginx -p 80:80 -p 443:443 tekintian/nginx-php
文件夹说明

默认主机 /home/wwwroot/default 增加主机: 配置文件放到 /home/opt/nginx-php/vhost 文件夹, 网站文件放到本地 /home/wwwroot/ 文件夹下, 配置文件中的网站路径为 /home/wwwroot/xxx.com

###参数解释 以分号:分隔的运行参数,左边为需要镜像的主机的参数{可随意修改}, 分号右边为容器的参数{不可修改}

-p 80:80 分号左边为本地端口,右边为容器的端口

** -v Volume映射 ** -v /home/xxx:/usr/local/nginx/conf 在分号 : 左边的 /home/xxx为你本地主机的路径{可随意修改},分号右边的的为容器的路径{不可修改}


与其他容器链接运行

** PS: 如果与其他容器链接运行,则必须先启动需要链接的容器后才能启动nginx **

nginx + alisql + redis + memcached

alisql


docker run --name myalisql -it -d
-p 3306:3306
-e MYSQL_ROOT_PASSWORD=123456
--restart=always
-v /home/opt/alisql/my.cnf:/usr/local/mysql/etc/my.cnf
-v /home/opt/alisql/data:/data/mysql/data
-v /home/opt/alisql/logs:/data/mysql/log
tekintian/alisql:latest

注意将密码 123456 改为你自己的密码!
以交互方式登录 alisql
docker exec -it myalisql mysql -uroot --password=123456

https://hub.docker.com/r/alisql/alisql/

redis


docker run -d -it
--name myredis
--restart=always
-v /home/opt/redis/redis.conf:/usr/local/etc/redis/redis.conf
redis

https://hub.docker.com/_/redis

memcached


docker run -it -d --name mymemcache --restart=always memcached -m 64

This would set the memcache server to use 64 megabytes for storage.

--link mymemcache:memcache

https://hub.docker.com/_/memcache/

nginx


docker run -d -it
--name nginx
--link myalisql:mysql
--link mymemcache:memcache
--link myredis:redis
--restart=always
-p 80:80
-p 443:443
-v /home/opt/nginx_conf:/usr/local/nginx/conf
-v /home/opt/php72_etc:/usr/local/php/etc
-v /home/opt/php72_log/var:/usr/local/php/var/log
-v /home/wwwroot:/home/wwwroot
-v /home/wwwlogs:/home/wwwlogs
tekintian/nginx-php:7.2

本地路径

/home/opt /home/wwwroot /home/wwwlogs

Volume映射

主机Volume容器Volume权限
/home/wwwroot/home/wwwroot读写
/home/wwwlogs/home/wwwlogs读写
/home/opt/nginx/php_etc/usr/local/php/etc读写
/home/opt/nginx/conf/usr/local/nginx/conf读写

默认配置文件见 https://github.com/tekintian/nginx-php/tree/master/src

Docker Container https://hub.docker.com/r/tekintian/nginx-php/


##usage

run with mysql latest

docker run --name mysql
-v /home/conf/mysql:/etc/mysql/conf.d
-v /home/mysql:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456
-d mysql

docker run --name web
--link mysql:mysql
-v /home/conf/nginx:/usr/local/nginx/conf
-v /home/wwwlogs:/home/wwwlogs
-v /home/wwwroot:/home/wwwroot
-p 80:80 -p 443:443
-d tekintian/nginx-php

###run didn't with mysql and run latest php version docker run --name web
-v /home/wwwlogs:/home/wwwlogs
-v /home/wwwroot:/home/wwwroot
-p 80:80 -p 443:443
-d tekintian/nginx-php:latest

查看日志

docker logs --tail=10 容器名称/ID

docker logs -f -t --since="2017-05-31" --tail=10 name

--since : 此参数指定了输出日志开始日期,即只输出指定日期之后的日志。

-f : 查看实时日志

-t : 查看日志产生的日期

--tail=10 : 查看最后的10条日志。

name : 容器名称

Tag summary

Content type

Image

Digest

Size

203.5 MB

Last updated

almost 8 years ago

docker pull tekintian/nginx-php