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;
}
#配置php
location ~ \.php$ {
#这里要换成php容器的ip!
fastcgi_pass 192.168.0.118:9000;
fastcgi_index index.php;
#这一段一定要注意!把php容器中默认的/var/www/html写进去,替换掉之前的$document
fastcgi_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_mysql
docker-php-ext-install mysqli