参考文献
Docker 安装 PHP
Docker 安装 Nginx
bitnami/php-fpm
安装docker
curl sh.rainbond.com/install_docker | bash
安装docker-compose
curl -SL https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker
官方仓库
启动php
、nginx
编辑ygys.yml
,添加以下内容
version: "3.8"
services:
phpfpm:
image: bitnami/php-fpm:7.3-prod
restart: always
volumes:
- /opt/ygys/www/html:/app
nginx:
image: bitnami/nginx:1.23
restart: always
depends_on:
- phpfpm
ports:
- "80:80"
- "443:443"
volumes:
- /opt/ygys/www/html:/app:ro
- /opt/ygys/conf.d/ygys.conf:/opt/bitnami/nginx/conf/server_blocks/ygys.conf:ro
nginx
的配置ygys.conf
文件内容
server {
listen 80;
server_name ygys;
root /app;
index index.php index.html index.htm default.php default.htm default.html;
location / {
try_files $uri $uri/index.php;
index index.html index.php;
if ( -f $request_filename) {
break;
}
if ( !-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
location ~ [^/]\.php(/|$) {
# fastcgi_pass [PHP_FPM_LINK_NAME]:9000;
fastcgi_pass phpfpm:9000;
include fastcgi.conf;
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
}
}
启动
docker-compose -f `ygys.yml -p ygys up -d
其他说明(webdevops/php-nginx使用,此处仅做笔记)
php安装扩展插件
## 进入容器
docker exec -it ygys-php-1 bash
## 安装扩展 以gmp为例
apt install libgmp-dev
docker-php-ext-install gmp
cp docker-php-ext-zip.ini docker-php-ext-gmp.ini
vim docker-php-ext-gmp.ini