1 Star 6 Fork 3

phprao / dnmp2

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
Clone or Download
Notice: Creating folder will generate an empty file .keep, because not support in Git


Docker deploying Nginx MySQL PHP7 in one key, support full feature functions.

Demo Image

1. Feature

  1. Completely open source.
  2. Support Multiple PHP version(PHP5.4, PHP5.6, PHP7.2) switch.
  3. Support Multiple domains.
  4. Support HTTPS and HTTP/2.
  5. PHP source located in host.
  6. MySQL data directory in host.
  7. All conf files located in host.
  8. All log files located in host.
  9. Built-in PHP extensions install commands.
  10. Promise 100% available.
  11. Supported any OS with docker.

2. Usage

  1. Install git, docker and docker-compose;
  2. Clone project:
    $ git clone https://github.com/yeszao/dnmp.git
  3. Start docker containers:
    $ cd dnmp
    $ docker-compose up
    You may need use sudo before this command in Linux.
  4. Go to your browser and type localhost, you will see:

Demo Image

The index file is located in ./www/site1/.

3. Other PHP version?

Default, we start LATEST PHP version by using:

$ docker-compose up

we can also start PHP5.4 or PHP5.6 by using:

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

We need not change any other files, such as nginx config file or php.ini, everything will work fine in current environment (except code compatibility error).

Notice: We can only start one php version, for they using same port. We must STOP the running project then START the other one.

4. HTTPS and HTTP/2

Default demo include 2 sites:

To preview them, add 2 lines to your hosts file (at /etc/hosts on Linux and C:\Windows\System32\drivers\etc\hosts on Windows): www.site1.com www.site2.com

Then you can visit from browser.

5. Use log

We can identify log directory in nginx / php / php-fpm / mysql config file. To display the log file in host, we should config them to /var/log/dnmp.

But, there are some differences:

5.1 Nginx log

Nginx will auto generate all log files.

5.2 PHP-FPM log

To use php-fpm log, you must create log file manually(in host):

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

5.3 MySQL log

Same as php-fpm, log file must be created manually(in host):

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

6. License


Repository Comments ( 3 )

Sign in to post a comment


DNMP(Docker + Nginx + MySQL + PHP7/5)是一款全功能的LNMP一键安装程序。 expand collapse


No release




Load More
can not load any more