php服务docker化,docker化你的PHP应用环境Nginx PHP-FPM

文章目录

[隐藏]

开始之前

配置Nginx

配置PHP

开始之前

在开始之前,我们假设你对Docker使用已经有了一些经验。本文尝试使用Docker官方存储库来运行一个简单的PHP应用程序,环境是Nginx和PHP。首先第一件事当然是安装Docker(如果你还没安装)。第二获取Docker Compose。

配置Nginx

我们从配置Web服务器开始,这里我们使用Docker官方的Nginx镜像。既然我们准备使用Docker Compose,我们接下来先创建docker-compose.yml文件,其实docker nginx的80端口映射到宿主机的8080端口:

web:

image: nginx:latest

ports:

– "8080:80"

现在我们运行:

docker-compose up

现在我们应该通过ip:8080会得到nginx的默认页面了。

pic1-1.png

现在nginx是启动了,让我们再来添加一些配置。首先更新docker-compose.yml使它挂载到一个本地目录。我们使用目录code。

web:

image: nginx:latest

ports:

– "8080:80"

volumes:

– ./code:/code

下一步我们创建一个虚拟机配置文件site.conf,设置其根目录为/code,把该文件放置到与docker-compose.yml同级目录。

server {

index index.html;

server_name php-docker.local;

error_log  /var/log/nginx/error.log;

access_log /var/log/nginx/access.log;

root /code;

}

为了让这个虚拟机配置生效,我们还需要再次更改docker-compose.yml文件:

web:

image: nginx:latest

ports:

– "8080:80"

volumes:

– ./code:/code

– ./site.conf:/etc/nginx/conf.d/site.conf

此次更新是把本地的site.conf挂载docker nginx里的/etc/nginx/conf.d/site.conf,这样这个配置文件就被添加到docker nginx里了。下面我们执行这个命令生效它:

docker-compose up

配置PHP

现在我们已经把nginx配置好了,接下来配置PHP。首先是拉取官方的PHP7-FPM镜像,并链接到Nginx容器,docker-compose.yml如下:

web:

image: nginx:latest

ports:

– "8080:80"

volumes:

– ./code:/code

– ./site.conf:/etc/nginx/conf.d/site.conf

links:

– php

php:

image: php:7-fpm

下一步是配置nginx使用php-fpm容器来解析php文件。更新后的site.conf如下:

server {

index index.php index.html;

server_name php-docker.local;

error_log  /var/log/nginx/error.log;

access_log /var/log/nginx/access.log;

root /code;

location ~ .php$ {

try_files $uri =404;

fastcgi_split_path_info ^(.+.php)(/.+)$;

fastcgi_pass php:9000;

fastcgi_index index.php;

include fastcgi_params;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_path_info;

}

}

为了测试,让我们在./code目录新建一个index.php,内容如下:

phpinfo();

?>

然后通过ip:8080打开,但出现File not found错误。这是因为PHP容器找不到此文件,我们也需要像nginx一样挂载code目录,更新docker-compose.yml文件如下:

web:

image: nginx:latest

ports:

– "8080:80"

volumes:

– ./code:/code

– ./site.conf:/etc/nginx/conf.d/site.conf

links:

– php

php:

image: php:7-fpm

volumes:

– ./code:/code

最后,启动容器:

docker-compose up

我们将会看到正常的phpinfo页面

pic2-1.png

docker化你的PHP应用环境Nginx PHP-FPM

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值