前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MAC下Docker安装Nginx+PHP+Mysql并配置虚拟域名

MAC下Docker安装Nginx+PHP+Mysql并配置虚拟域名

原创
作者头像
Action
修改2021-03-28 10:43:09
1.9K0
修改2021-03-28 10:43:09
举报
文章被收录于专栏:WEB开发~WEB开发~

镜像下载

PHP镜像下载

代码语言:txt
复制
docker pull php:7.4.8-fpm

Nginx镜像下载

代码语言:txt
复制
docker pull nginx

Mysql镜像下载

代码语言:txt
复制
docker pull mysql:5.7 

验证

代码语言:txt
复制
docker images

结果如图:

制作配置文件

创建 ~/nginx/conf/ 配置等目录

代码语言:txt
复制
mkdir -p  ~/nginx/logs ~/nginx/conf

创建nginx的配置文件

代码语言:txt
复制
vim ~/nginx/conf/nginx.conf

配置文件如下:

代码语言:txt
复制
server {
    listen       80;
    server_name  localhost;

    location / {
        root   /webroot/;
        index  index.html index.htm index.php;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /webroot/;
    }

    location ~ \.php$ {
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

配置文件说明:

  • php:9000: 表示 php 服务的 URL。
  • /webroot/: 是 php 容器中 php 文件的存储路径,映射到本地的 ~/Documents/code 目录。

在 ~/Documents/code 目录下创建index.php

代码语言:txt
复制
<?php
    phpinfo();
?>

运行Mysql容器

代码语言:txt
复制
docker run -it -d -p8066:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql57 -v ~/Documents/code/mysqldata:/usr/local/mysql mysql:5.7

运行PHP容器

代码语言:txt
复制
docker run --name php7 -v ~/Documents/code:/webroot -v ~/php/etc:/usr/local/etc/php/conf.d -d php:7.4.8-fpm

运行Nginx容器

代码语言:txt
复制
docker run --name mynginx -p 80:80 -v ~/Documents/code:/webroot -v ~/nginx/conf:/etc/nginx/conf.d --link php7:php --link mysql57:mysql -d nginx

命令说明:

  • --name mynginx : 将容器命名为 mynginx
  • -v ~/Documents/code:/webroot : 将本地目录~/Documents/code 挂载到容器的/webroot目录下

验证

浏览器访问 localhost

配置虚拟域名

修改nginx的配置文件

代码语言:txt
复制
vim ~/nginx/conf/nginx.conf
代码语言:txt
复制
server {
    listen       80;
    server_name  mytest.com;

    location / {
        root   /webroot/test/;
        index  index.html index.htm index.php;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /webroot/test/;
    }

    location ~ \.php$ {
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /webroot/test/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

重启容器

代码语言:txt
复制
docker restart mynginx

修改hosts文件

代码语言:txt
复制
sudo vim /ets/hosts

增加

代码语言:txt
复制
127.0.0.1 mytest.com

测试

在~/Documents/code下创建test文件夹,在该文件夹新建一个index.php

代码语言:txt
复制
<?php
echo "hello world";
?>

验证

浏览器访问 mytest.com

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 镜像下载
  • 制作配置文件
  • 验证
  • 配置虚拟域名
    • 修改nginx的配置文件
      • 重启容器
        • 修改hosts文件
          • 测试
            • 验证
            相关产品与服务
            容器镜像服务
            容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档