docker php伪静态无效,docker 安装 thinkphp+nginx

#安装docker 默认已安装docker,安装地址:https://www.docker.com/

1.下载php 和nginx镜像

docker pull php

docker pull nginx

2.创建dockerfile, dockerfile 是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。 #touch Dockerfile

创建phpdockerfile文件夹,创建Dockerfile文件。

FROM php:5.6-fpm

RUN apt-get update && apt-get install -y \

libfreetype6-dev \

libjpeg62-turbo-dev \

libmcrypt-dev \

libpng12-dev \

&& docker-php-ext-install -j$(nproc) iconv mcrypt \

&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \

&& docker-php-ext-install -j$(nproc) gd

RUN docker-php-ext-install mbstring

RUN docker-php-ext-install mysqli

RUN docker-php-ext-install pdo && docker-php-ext-install pdo_mysql

运行build 创建镜像

docker build -t pdophp . //(pdophp)代表新镜像名非固定,(.) 代表当前目录 docker自动去找Dockerfile文件

3.根据新创建的pdophp镜像,建立容器互连php与nginx。并建立文件映射

//myphp 容器名(非固定),workend 网络组名称(非固定),/Users/xxx/Works/web/工作目录(非固定)

docker run --name myphp --net workend -v /Users/xxx/Works/web/:/var/www/html/ --privileged=true -d pdophp

//mynginx容器名(非固定),workend网络组名称(同名互连),/Users/xxx/Works/web 工作目录(非固定),/Users/xxx/Works/docker/nginx/conf.d/ nginx配置文件(非固定)

docker run --name mynginx -p 80:80 --net workend -v /Users/xxx/Works/web:/usr/share/nginx/html -v /Users/xxx/Works/docker/nginx/conf.d/:/etc/nginx/conf.d --privileged=true -d nginx

4.建立nginx配置文件

运行 docker ps

b65863db6a9f52d0266c1eb7b7e79ae0.png 查看myphp容器端口(ports),我的为9000

在/Users/xxx/Works/docker/nginx/conf.d/下创建default.conf

server {

listen 80 default_server;

server_name _;

root /usr/share/nginx/html;

location / {

index index.html index.htm index.php;

autoindex off;

}

location ~ \.php(.*)$ {

root /var/www/html/;

fastcgi_pass myphp:9000;

fastcgi_index index.php;

fastcgi_split_path_info ^((?U).+\.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;

}

}

重启mynginx

docker restart mynginx

在/Users/xxx/Works/web/ 下创建info.php

成功继续往下,不成功找原因...

之后把thinkphp项目放到/Users/xxx/Works/web/下,如phpshop 访问http://localhost/phpshop 在/Users/xxx/Works/docker/nginx/conf.d/下创建每个项目的专属nginx配置。配置之后要重启mynginx

偶尔容器关闭了,使用docker start myphp启动,先启动myphp再启动mynginx

参考:

...等等等等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值