Write the Code. Change the World.

4月 11

win10 系统,安装 docker,然后跑 php 项目,通常会很慢,一个最简单接口都可能要好几秒,真叫人肝疼。改变不了 win10,只能找解决方法。

处理方法

慢的原因网上有很多,怎么解决网上也很多,也实践过。不过,有一条是真的快。将代码放在 ubuntu 系统上跑,就是快。

步骤

  1. 先安装 Ubuntu。
  2. 再安装 docker。
  3. 设置 docker 。

设置 docker 如下图所示。

  1. win + s 搜索安装的 ubuntu,点击图标,进入终端中。在 /mnt/ 目录对应的本地磁盘中的文件复制到 ubuntu 系统中,比如 /docker-data/p1, p1 是项目名

  2. 配置自启动。在 /etc/systemmd/system/ 下创建 p1-docker.service。vim p1-docker.service 写入脚本。

[Unit]
Description=My Docker Compose Service
After=network.target

[Service]
Type=simple
ExecStart=/bin/bash -c 'cd /docker-data/p1 && docker-compose up'
ExecStop=/bin/bash -c 'cd /docker-data/p1 && docker-compose down'
Restart=on-failure

[Install]
WantedBy=multi-user.target

Description:服务的描述。
After:指定该服务在 network.target 之后启动。
ExecStart:启动服务时执行的命令。
ExecStop:停止服务时执行的命令。
Restart:服务失败时自动重启。
WantedBy:指定该服务在多用户目标下启动。

设置权限。

sudo chmod +x p1-docker.service

设置自启动

systemctl enable mydocker.service
systemctl start mydocker.service

查看服务状态

systemctl status mydocker.service

这个时候再去请求 php 的接口就飞快。

测试

查看接口响应时间

docker ps
docker exec -it xxx bash
curl --request POST http://xxx.com/xxxx -w "请求时间:%{time_total} 秒\n" -o /dev/null -s

这里有个问题,将本地的文件复制的 ubuntu 上对开发不太友好。可以挂载或直接使用 /mnt/ 目录下的文件吗,暂时没试过

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注