windows10中docker desktop安装使用php+nginx服务流程步骤

2023-06-01 00:00:00 安装 步骤 流程

windows10+docker环境作为开发测试环境还是非常方便的,下面介绍一下在该环境下php服务安装使用的流程步骤。这里涉及到nginx,php+nginx懂的都懂 哈哈,因为之前有写nginx服务安装使用文章这里就一笔带过了


拉取7.4-fpm版本的php镜像

C:\Users\htz>docker pull php:7.4-fpm
7.4-fpm: Pulling from library/php
1efc276f4ff9: Already exists
3239fd0772e9: Pull complete
52ccb8ba6c06: Pull complete
e907707b68ee: Pull complete
1f3061cbf6be: Pull complete
4a3e9a5c9ada: Pull complete
163163af3a7f: Pull complete
bf2cf7e6e3aa: Pull complete
4ee0a6366f51: Pull complete
5c0da2dc3191: Pull complete
Digest: sha256:776f10bf1cf29c4b2ca81247f633e8b3c1385966ad888eef96ac5abb847c0c2f
Status: Downloaded newer image for php:7.4-fpm
79ddde0348af4160619da034e0d76f16f072651e0c1461536f3facc502188503


创建临时php容器,拷贝配置文件用

docker run -d -v C:\Users\htz\dockers\nginx\www:/var/www/html -p 9000:9000 --name php74 php:7.4-fpm

在宿主机上创建文件夹:(映射配置文件用)

C:\Users\htz\dockers\php\conf\

拷贝php容器里面的配置文件至宿主机

C:\Users\htz>docker cp php74:/usr/local/etc/php-fpm.d/www.conf C:\Users\htz\dockers\php\conf\www.conf
C:\Users\htz>docker cp php74:/usr/local/etc/php/php.ini-production C:\Users\htz\dockers\php\conf\php.ini


停止并删除临时php容器

C:\Users\htz>docker stop php74 && docker rm php74
php74
php74


正式启动php容器服务

C:\Users\htz>docker run -d -v C:\Users\htz\dockers\nginx\www:/var/www/html  -v C:\Users\htz\dockers\php\conf\www.conf:/usr/local/etc/php-fpm.d/www.conf -v C:\Users\htz\dockers\php\conf\php.ini:/usr/local/etc/php/php.ini  -p 9000:9000 --name php74 php:7.4-fpm
4e1742d8f49384d7edd6eec779e70c11139cec99b8bed36e79ce7a40c830f6e6


创建index.php测试文件

C:\Users\htz\dockers\nginx\www\index.php

如下所示:

C:\Users\htz>cd dockers\nginx\www
C:\Users\htz\dockers\nginx\www>dir
 驱动器 C 中的卷没有标签。
 卷的序列号是 82E1-16B0
 C:\Users\htz\dockers\nginx\www 的目录
2022/08/09  12:33    <DIR>          .
2022/08/09  12:33    <DIR>          ..
2022/08/04  17:04               329 index.html
2022/08/09  14:02                28 index.php
               2 个文件            357 字节
               2 个目录 64,011,735,040 可用字节
C:\Users\htz\dockers\nginx\www>type index.php
<?php
echo phpinfo();


修改nginx配置文件

C:\Users\htz\dockers\nginx\conf\nginx.conf

如下所示:

server {
    listen       80;
    server_name  localhost;
    location / {
        root   /usr/share/nginx/html;
        index  index.php;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
   
      location ~ \.php(.*)$ {  
     
        root /var/www/html;
       
        fastcgi_pass php74:9000;     //php容器名称  
        fastcgi_index index.php;   
       
        fastcgi_split_path_info ^(.+\.php)(.*)$;   
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;   
        fastcgi_param PATH_INFO $fastcgi_path_info;   
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;   
        include  fastcgi_params; 
     }
}


重新启动nginx容器服务

C:\Users\htz>docker run -d -p 80:80 --name nginx-server -v C:\Users\htz\dockers\nginx\www:/usr/share/nginx/html -v C:\Users\htz\dockers\nginx\conf\nginx.conf:/etc/nginx/nginx.conf -v C:\Users\htz\dockers\nginx\logs:/var/log/nginx --link php74:7.4-fpm nginx
8a05850c4d875850bd3febaa7812ae831ccf1556c7dc4a004d4aa2fbfb414353


到此,所有步骤都配完了

访问测试一下吧

php-nginx.png

相关文章