Linux 系统 docker快速搭建PHP环境
PHP安装
#############################################################################
1、直接拉取官方镜像
查找Docker Hub上的php镜像
docker search php
直接拉取官方镜像
docker run --name myphp --restart=always --network lnmp -d php:7.1-fpm
2、创建php容器
mkdir /opt/php
#拷贝配置文件(这个地方容易出错,可以直接把实施工程文件里现成的配置文件直接拷贝过去,不用执行下面的语句了)
docker cp 0850901bc597:/etc/php/7.1/fpm/php.ini /opt/php/php.ini
#停止、删除容器
docker stop php
docker rm b2009f54cf34
#正式部署
docker run -p 9000:9000 --name php -v //opt/nginx/html:/var/www/html -v //opt/php/php.ini:/etc/php/7.4/fpm/php.ini -d --restart=always php:7.1-fpm
第一个-v 网址Nginx网站目录映射到PHP目录
第二个-v 映射配置文件php容器和宿主机共享目录
3、修改nginx配置(此处配置文件在本机,/opt/nginx/conf目录下)
user root;
worker_processes 1;#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;server {listen 80;server_name localhost;location / {#这是nginx容器中的默认配置路径,已经映射到虚拟机/www下了 不需要改动root /usr/share/nginx/html/;#这里添加index.php入口文件index index.php index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/html;}#配置phplocation ~ \.php$ {#这里要换成php容器的ip!fastcgi_pass 192.168.0.118:9000; fastcgi_index index.php;#这一段一定要注意!把php容器中默认的/var/www/html写进去,替换掉之前的$documentfastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;include fastcgi_params;}
}
##############################轮询负载均衡##################################
# upstream order {#ip_hash;#server 192.168.0.118:8011 weight=1; #weight权重#server 192.168.0.118:8088 weight=1;#}# server{# listen 80;# server_name 192.168.0.118;# location / {# index index.html index.htm;# proxy_pass http://order/;
# }
# }
####################################标准配置################################
# server {
# listen 80;
# server_name somename alias another.alias;
#
# location / {
# root /usr/share/nginx/html/;
# index index.html index.htm;
# }
# }}
#保存退出,然后重启nginx
docker restart nginx
#去Nginx目录下/opt/nginx/html目录中新建index.php(此目录是共享目录,已经挂载给Nginx和PHP,所以项目可以直接放在这个目录下即可)
#写入php代码,然后本地访问虚拟机ip即可看到配置成功
php扩展安装
首先进入容器
docker ps
docker exec -it 容器ID或名称 /bin/bash
cd /usr/src 里边会有两个压缩文件
安装链接MySQL数据库的驱动
docker-php-ext-install pdo pdo_mysqldocker-php-ext-install mysqli