Docker 安装 PHP
PHP即"超文本预处理器",是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。
访问 Node 镜像库地址:https://hub.docker.com/_/php?tab=tags
可以通过 Sort by 查看其他版本的 php,默认是最新版本 php:latest。
此外,我们还可以用docker search php命令来查看可用版本
[root@localhost ~]# docker search php
这里我们拉取官方的镜像,标签为5.6-fpm
[root@localhost ~]# docker pull php:5.6-fpm
等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为php,标签为5.6-fpm的镜像。
[root@localhost ~]# docker images
Nginx + PHP 部署
Nginx 部署可以查看:Docker 安装 Nginx,一些 Nginx 的配置参考这篇文章。
1、启动 PHP:
[root@localhost ~]# docker run --name myphp-fpm -v ~/nginx/www:/www -d php:5.6-fpm
命令说明:
--name myphp-fpm:将容器命名为 myphp-fpm。
-v ~/nginx/www:/www:将主机中项目的目录 www 挂载到容器的 /www
2、创建 ~/nginx/conf/conf.d 目录
[root@localhost ~]# mkdir -p ~/nginx/conf/conf.d
3、创建test-php.conf配置文件
[root@localhost ~]# vim ~/nginx/conf/conf.d/test-php.conf
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/:是myphp-fpm中php 件的存储路径,映射到本地的~/nginx/www 目录。
4、启动Nginx
[root@localhost ~]# docker run --name test-php-nginx -p 8083:80 -d \
-v ~/nginx/www:/usr/share/nginx/html:ro \
-v ~/nginx/conf/conf.d:/etc/nginx/conf.d:ro \
--link myphp-fpm:php \
nginx
参数说明
-p 8083:80:端口映射,把nginx中的80映射到本地的8083端口。
~/nginx/www:是本地html文件的存储目录,/usr/share/nginx/html是容器内 html 文件的存储目录。
~/nginx/conf/conf.d:是本地nginx配置文件的存储目录,/etc/nginx/conf.d 是容器内nginx配置文件的存储目录。
--link myphp-fpm:php:把myphp-fpm的网络并入nginx,并通过修改nginx的/etc/hosts,把域名php映射成127.0.0.1,让nginx通过php:9000访问 php-fpm。
5、创建index.php文件
[root@localhost ~]# vim ~/nginx/www/index.php
<?php
phpinfo();
?>
6、浏览器打开http://192.168.1.3:8083/index.php,显示如下:
历史上的今天
6 月
19