200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > mac使用docker安装php开发环境

mac使用docker安装php开发环境

时间:2022-03-15 10:45:31

相关推荐

mac使用docker安装php开发环境

前言:mac本机项目工作目录:/Users/a1234/program/www,存放index.php,index.html、项目本身等

1、安装docker软件【这个不用说,自己搜索,傻瓜式安装】

2、打开mac本终端,拉取需要的镜像:

php-fpm:docker pull php:7.3-fpm【版本号自己选】

nginx:docker pull nginx:1.18.0【版本号自己选】

mysql:docker pull mysql:5.7【版本号自己选】

3、运行镜像,生成容器:

(1)先创建一个叫:my-net 的网络,之后在run容器时进行关联,使之在同一个网络下面,实现容器之间的通信

docker network create -d bridge my-net

(2)mysql容器运行:

docker run -d --name mysql5.7 --privileged=true --restart always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --network my-net mysql:5.7

(3)php容器运行:

docker run -d -p 9000:9000 --name php7.3 -v /Users/a1234/program/www:/var/www/html --privileged=true --restart always --network my-net php:7.3-fpm

(4)nginx容器运行:

docker run -itd --name nginx1.18.0 -p 80:80 -v /Users/a1234/program/nginx/conf/conf.d:/etc/nginx/conf.d -v /Users/a1234/program/www:/usr/share/nginx/html --privileged=true --restart always --network my-net nginx:1.18.0

(5)参数解释:

-itd:后台运行,并返回一个容器内终端

-v 目录映射,冒号前面为宿主机的目录,后面是容器内目录

--name nginx1.18.0 容器命名

--privileged=true 容器内目录权限

--restart always 总是随着docker启动而启动

--network my-net 设置网络

4、nginx配置:

(1)进入nginx容器内部:

docker exec -it nginx1.18.0 /bin/bash

进入之后先更新apt:aptupdate

容器内都是简单的linux内核,不包含多余命令,所以需要安装vim:apt install vim

(2)在工作目录创建/etc/nginx/conf/conf.d/default.conf,其中default.conf内容如下:

server {

listen 80;

server_name localhost;

#access_log /var/log/nginx/host.access.log main;

location / {

root /usr/share/nginx/html; #nginx的默认项目目录

index index.html index.htm index.php; #添加index.php

}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root /usr/share/nginx/html;

}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

location ~ \.php$ {

root/var/www/html;#php项目的默认目录,和php启动映射的数据卷对应上

fastcgi_pass 127.0.0.1:9000;# 宿主机ip和php映射的宿主机的端口号一致

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #这块也修改一下

include fastcgi_params;

}

}

上述,注释的位置都需要修改,注意:127.0.0.1 要改为宿主机的IP地址

重启nginx:nginx -s reload

创建测试文件:index.php

<?php

phpinfo()

?>

访问:localhost/index.php,结果可以查到php相关信息

5、php的扩展安装:

(1)zip:

a、安装zip扩展所需的依赖扩展

apt-get update && apt-get install -y zlib1g-dev && apt-get install -y libzip-dev

b、安装并启动zip扩展

docker-php-ext-install zip

(2)redis:

pecl install /get/redis-5.3.5.tgz

docker-php-ext-enable redis

(3)mongodb:原mongo扩展不适用于php7.0以上的版本,且已经停止维护,高版本的需要mongodb扩展:

pecl install /get/mongodb-1.12.0.

docker-php-ext-enable mongo

(4)bcmath:精度计算函数:docker-php-ext-install bcmath

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。