diff --git a/.env.example b/.env.example index 42e786f..0bd0f7c 100644 --- a/.env.example +++ b/.env.example @@ -1,4 +1,4 @@ - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=dummy - MYSQL_USER=dummy - MYSQL_PASSWORD=dummy \ No newline at end of file +MYSQL_ROOT_PASSWORD=root +MYSQL_DATABASE=dummy +MYSQL_USER=dummy +MYSQL_PASSWORD=dummy \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml index 2ee6cb3..f46fed2 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,11 +1,15 @@ -version: '3' +version: '3.3' services: php: build: - context: ./docker/php + context: './docker/php' + ports: + - 9000:9000 volumes: - - './www-data:/srv/www/api' - - ./docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf + - './www-data:/var/www' + - './docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf' + - './docker/php/php.ini:/usr/local/etc/php/conf.d/php.override.ini' + - './logs/php:/var/log/php' environment: MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} @@ -15,8 +19,9 @@ services: ports: - 8123:80 volumes: - - ./www-data:/srv/www/api - - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf + - './www-data:/var/www' + - './docker/nginx/default.conf:/etc/nginx/conf.d/default.conf' + - './logs/nginx:/var/log/nginx' depends_on: - php mysql: diff --git a/docker/nginx/default.conf b/docker/nginx/default.conf index 94b90c1..8103348 100644 --- a/docker/nginx/default.conf +++ b/docker/nginx/default.conf @@ -1,20 +1,20 @@ - server { - listen 80 default_server; +server { + listen 80 default_server; - server_name api.com www.api.com; + server_name change.me www.change.me; - root /srv/www/api; + root /var/www; - location ~ \.php$ { - try_files $uri =404; - fastcgi_split_path_info ^(.+\.php)(/.+)$; - fastcgi_pass php:9000; - fastcgi_index index.php; - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_param PATH_INFO $fastcgi_path_info; - } + location ~ \.php { + try_files $uri =404; + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_pass php:9000; + fastcgi_index index.php; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; + fastcgi_param PATH_INFO $fastcgi_path_info; + } - error_log /var/log/nginx/api_error.log; - access_log /var/log/nginx/api_access.log; - } \ No newline at end of file + error_log /var/log/nginx/error.log; + access_log /var/log/nginx/access.log; +} \ No newline at end of file diff --git a/docker/php/Dockerfile b/docker/php/Dockerfile index 1729305..f50890f 100644 --- a/docker/php/Dockerfile +++ b/docker/php/Dockerfile @@ -1,4 +1,3 @@ - - FROM php:7.2-fpm +FROM php:7.2-fpm - RUN docker-php-ext-install mysqli \ No newline at end of file +RUN docker-php-ext-install mysqli \ No newline at end of file diff --git a/docker/php/php.ini b/docker/php/php.ini new file mode 100644 index 0000000..bec2a07 --- /dev/null +++ b/docker/php/php.ini @@ -0,0 +1,11 @@ +[php] +date.timezone=UTC +log_errors=On +error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT +display_errors=Off +max_execution_time=60 +memory_limit=256M +error_log = /var/log/php/error.log +access_log = /var/log/php/access.log +post_max_size = 24M +upload_max_filesize = 24M \ No newline at end of file diff --git a/docker/php/www.conf b/docker/php/www.conf index 0a6cad1..b9bfd2a 100644 --- a/docker/php/www.conf +++ b/docker/php/www.conf @@ -1,12 +1,11 @@ - [www] +[www] - user = www-data - group = www-data +user = www-data +group = www-data - listen = nginx:9000 - - pm = dynamic - pm.max_children = 5 - pm.start_servers = 2 - pm.min_spare_servers = 1 - pm.max_spare_servers = 3 \ No newline at end of file +listen = nginx:9000 +pm = dynamic +pm.max_children = 5 +pm.start_servers = 2 +pm.min_spare_servers = 1 +pm.max_spare_servers = 3 \ No newline at end of file diff --git a/www-data/connect.php b/www-data/connect.php index 1afa35f..5f224d5 100644 --- a/www-data/connect.php +++ b/www-data/connect.php @@ -1,10 +1,10 @@ $host = 'mysql'; - $user = getenv('MYSQL_USER'); - $pass = getenv('MYSQL_PASSWORD'); +$user = getenv('MYSQL_USER'); +$pass = getenv('MYSQL_PASSWORD'); - $conn = mysqli_connect($host, $user, $pass); - if (!$conn) { - exit('Connection failed: '.mysqli_connect_error().PHP_EOL); - } +$conn = mysqli_connect($host, $user, $pass); +if (!$conn) { + exit('Connection failed: '.mysqli_connect_error().PHP_EOL); +} - echo 'Successful database connection!'.PHP_EOL; \ No newline at end of file +echo 'Successful database connection!'.PHP_EOL; \ No newline at end of file