Docker 安裝 PHP+Nginx


安裝Nginx

docker pull nginx

安裝PHP

docker pull php:7.3.5-fpm

 

啟動PHP-FPM

docker run --name myphpfpm -v /data/ftp:/www -d php:7.3.5-fpm

 /data/ftp 是外部路徑  www 是docker里的映射路徑

 

Nginx配置文件

server {
    listen       80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm index.php;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ \.php$ {
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

配置文件說明:

  • php:9000: 表示 php-fpm 服務的 URL,下面我們會具體說明。
  • /www/: 是 myphpfpm 中 php 文件的存儲路徑,映射到本地的 ~/nginx/www 目錄。

 

啟動Nginx

docker run --name php_nginx -p 8089:80 -d -v /data/ftp:/user/share/nginx/html:ro -v /data/nginx/conf/conf.d:/etc/nginx/conf.d:ro --link myphpfpm:php nginx

 

  • -p 8089:80: 端口映射,把 nginx 中的 80 映射到本地的 8089 端口。
  • /data/ftp: 是本地 html 文件的存儲目錄,/usr/share/nginx/html 是容器內 html 文件的存儲目錄。
  • /data/conf/conf.d: 是本地 nginx 配置文件的存儲目錄,/etc/nginx/conf.d 是容器內 nginx 配置文件的存儲目錄。
  • --link myphpfpm:php: 把 myphpfpm 的網絡並入 nginx,並通過修改 nginx 的 /etc/hosts,把域名 php 映射成 127.0.0.1,讓 nginx 通過 php:9000 訪問 php-fpm。
  • ro 表示只讀

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM