目標#
webdevops/php-nginx
をベースにした Docker イメージは、デフォルトで仮想静的をサポートしていますが、どのファイルか忘れてしまったため、プロセスを記録しておきます。
注:現時点では、ファイルパスの整理だけを行っています。適切でエレガントなカスタマイズ方法については、また研究する必要があります Orz。
コマンドのメモ#
# コンテナに入る
docker exec -it zbp_ForAPP /bin/bash
# コンテナ内で実行する
find /|grep nginx.conf
メインファイルのパスは:/etc/nginx/nginx.conf
ですが、さまざまな外部ファイルが参照されています。
例えば:include /etc/nginx/modules-enabled/*.conf;
は、実際のファイルは/usr/share/nginx/modules-available/
にあります。←ただし、ここでは*.so
ファイルの参照です。
そして:include /etc/nginx/conf.d/*.conf;
とinclude /etc/nginx/sites-enabled/*;
です。
ただし、後者はデフォルトでは空であり、前者は/opt/docker/etc/nginx
内の主要なファイルに関連しています。
以下は、必要なパスを検索するためのコマンドです:
# コンテナ内に入る
docker exec -it zbp_ForAPP /bin/bash
cd /etc/nginx/conf.d
ls
# 10-docker.conf
readlink *
# /opt/docker/etc/nginx/main.conf
cd /opt/docker/etc/nginx
ls
# conf.d main.conf ssl vhost.common.d vhost.ssl.conf
# global.conf php.conf vhost.common.conf vhost.conf
# コンテナの外で
# ファイルをコピーする
NGINX_DIR=/home/www/zbp_ForAPP/nginx
docker cp zbp_ForAPP:/etc/nginx/nginx.conf "${NGINX_DIR}/"
docker cp zbp_ForAPP:/opt/docker/etc/nginx "${NGINX_DIR}/"
# docker cp zbp_ForAPP:/usr/share/nginx/modules-available "${NGINX_DIR}/"
結果#
コンテナ内のパスに基づいて、次のファイルがあります:
/opt/docker/etc/nginx/vhost.common.d/10-location-root.conf
内容:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
一般的な意味での仮想静的と同等です。おおよそ。。