diff --git a/.env b/.env new file mode 100644 index 0000000..6b9aedc --- /dev/null +++ b/.env @@ -0,0 +1 @@ +LOCAL_CODE_ROOT=/Users/tradewind/Projects diff --git a/.gitignore b/.gitignore index 29b636a..494dc89 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .idea -*.iml \ No newline at end of file +*.iml +.env \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index dbe972a..91c476a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,13 +1,28 @@ version: "3" services: + nginx: + build: + context: ./nginx/ + dockerfile: dockerfile + ports: + - 80:80 + networks: + - server + volumes: + - ./nginx/conf.d:/etc/nginx/conf.d + - ./nginx/sources.list:/etc/apt/sources.list + - ${LOCAL_CODE_ROOT}:/var/www/http + - ./log/nginx:/var/log/nginx + container_name: nginx-server + restart: always php7.4: build: context: ./php7.4/ dockerfile: dockerfile volumes: - ./php7.4/sources.list:/etc/apt/sources.list - - /var/www/http:/var/www/http + - ${LOCAL_CODE_ROOT}:/var/www/http networks: - server container_name: php7.4 diff --git a/nginx/conf.d/example.conf b/nginx/conf.d/example.conf new file mode 100644 index 0000000..3bb969c --- /dev/null +++ b/nginx/conf.d/example.conf @@ -0,0 +1,18 @@ +server { + listen 80; + server_name example.com; + root /var/www/http/example; + location / { + index index.php index.html error/index.html; + autoindex off; + } + location ~ \.php(.*)$ { + fastcgi_pass php7.4:9000; + fastcgi_index index.php; + fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $fastcgi_path_info; + fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; + include fastcgi_params; + } +} diff --git a/nginx/dockerfile b/nginx/dockerfile new file mode 100644 index 0000000..fc9de14 --- /dev/null +++ b/nginx/dockerfile @@ -0,0 +1,6 @@ +FROM nginx:alpine +MAINTAINER tradewind +RUN sed -i \ + 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' \ + /etc/apk/repositories && apk update +WORKDIR /var/www/http/ \ No newline at end of file diff --git a/nginx/sources.list b/nginx/sources.list new file mode 100644 index 0000000..5592a95 --- /dev/null +++ b/nginx/sources.list @@ -0,0 +1,9 @@ +# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 +deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free +# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free +deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free +# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free +deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free +# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free +deb https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free +# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free \ No newline at end of file