Proof of concept - LaraDock hosting multiple sites

This commit is contained in:
larryeitel 2016-08-15 15:14:05 -06:00
parent 28b4077a49
commit 93504a714d
7 changed files with 73 additions and 2 deletions

3
.gitignore vendored
View File

@ -1,3 +1,4 @@
.idea
/logs /logs
/data /data
.env .env

View File

@ -203,6 +203,17 @@ services:
volumes: volumes:
- ../:/var/www/laravel - ../:/var/www/laravel
# By default, site_a and site_b are mirroring the parent Laravel app.
# This is because the nginx container has these domains
# enabled to demonstrate how to support multiple sites
- ../:/var/www/site_a
- ../:/var/www/site_b
# This demonstrates example of where you may mount sites
# - ../../site_a/:/var/www/site_a
# - ../../site_b/:/var/www/site_b
### Databases Data Container ################################ ### Databases Data Container ################################
volumes_data: volumes_data:

View File

@ -3,7 +3,7 @@ FROM nginx:alpine
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me> MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
ADD nginx.conf /etc/nginx/ ADD nginx.conf /etc/nginx/
ADD laravel.conf /etc/nginx/conf.d/laravel.conf COPY sites/*.conf /etc/nginx/sites-available/
ARG PHP_UPSTREAM=php-fpm ARG PHP_UPSTREAM=php-fpm

View File

@ -24,5 +24,6 @@ http {
gzip on; gzip on;
gzip_disable "msie6"; gzip_disable "msie6";
include /etc/nginx/conf.d/*.conf; include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-available/*;
open_file_cache max=100; open_file_cache max=100;
} }

View File

@ -1,7 +1,9 @@
server { server {
listen 80 default_server; listen 80 default_server;
listen [::]:80 default_server ipv6only=on; listen [::]:80 default_server ipv6only=on;
server_name laravel;
root /var/www/laravel/public; root /var/www/laravel/public;
index index.php index.html index.htm; index index.php index.html index.htm;

28
nginx/sites/site_a.conf Normal file
View File

@ -0,0 +1,28 @@
server {
listen 80;
listen [::]:80;
server_name site_a;
root /var/www/site_a/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_pass php-upstream;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}

28
nginx/sites/site_b.conf Normal file
View File

@ -0,0 +1,28 @@
server {
listen 80;
listen [::]:80;
server_name site_b;
root /var/www/site_b/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_pass php-upstream;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}