BETA

Dockerでnginx+CakePHP2の環境構築

投稿日:2019-02-27
最終更新:2019-02-27

今までVagrantで環境構築していたんですけど、そろそろPCが重いのでDockerに手を出してみる。

【超簡単】Docker でモダンな PHP 開発環境を作る (PHP, MySQL, PHP-FPM, nginx, memcached) - koni blog

こちらを参考にDocker+nginx+CakePHP2の環境を構築

dockerの立ち上げ

// dockerの設定を落としてくる  
$git clone [email protected]:koni/docker-php-nginx-mysql-memcached.git  

// dockerの立ち上げ  
$ cd docker-php-nginx-mysql-memcached/docker  
$ docker-compose build

Successfully built が出たら成功。

$ docker-compose up

でDockerを立ち上げる。
index.php がちゃんと見えていればOK◎

nginxの書き換え

今回環境がnginxなので、ここから更にCakePHP2用に nginxのserver.conf を書き換える。

参考:nginx でのきれいな URL / URLリライティング - 2.x

server{  
    listen 80;  
    server_name localhost _;  

  root   /var/www/html/public/app/webroot;  
    index index.php;  

    access_log /var/log/nginx/access.log;  
    error_log  /var/log/nginx/error.log warn;  

  location / {  
      try_files $uri $uri/ /index.php?$args;  
  }  

  location ~ \.php$ {  
      try_files $uri =404;  
      include /etc/nginx/fastcgi_params;  
      fastcgi_pass    web:9000;  
      fastcgi_index   index.php;  
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
  }  
}  

server {  
    listen 443;  
    server_name localhost _;  

  root   /var/www/html/public/app/webroot;  
    access_log /var/log/nginx/access.log;  
    error_log  /var/log/nginx/error.log warn;  
    index index.php;  

  location / {  
    try_files $uri $uri/ /index.php?$args;  
    }  
    location ~* \.php$ {  
        fastcgi_pass web:9000;  
        include      fastcgi.conf;  
    }  

    ssl                         on;  
    ssl_certificate             /etc/ssl/certs/localhost.crt;  
    ssl_certificate_key         /etc/ssl/private/localhost.key;  
    ssl_session_timeout         5m;  
    ssl_protocols               SSLv2 SSLv3 TLSv1;  
    ssl_ciphers                 HIGH:!aNULL:!MD5;  
    ssl_prefer_server_ciphers   on;  
}

主に webrootパスの書き換えや、fastcgiの設定部分をいじっています。

ここまで出来たら、一度 docker-compose stop で止めた後、もう一度 docker-compose build をして、server.confを修正。

$ docker-compose up

で起動をして、Cakeが無事立ち上がっていればOK◎

参考

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@tanakashiの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!