Docker部署php运行环境(php-fpm+nginx+mysql)
以下是一个简化版的Docker部署PHP运行环境的示例,包括php-fpm、nginx和MySQL。
首先,创建一个名为docker-compose.yml
的文件,内容如下:
version: '3'
services:
php-fpm:
image: php:7.4-fpm
volumes:
- ./www:/var/www/html
ports:
- "9000:9000"
nginx:
image: nginx:1.17
volumes:
- ./www:/var/www/html
- ./nginx.conf:/etc/nginx/nginx.conf
ports:
- "80:80"
depends_on:
- php-fpm
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: your_database
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
在同一目录下创建nginx.conf
文件,用于配置Nginx:
server {
listen 80;
server_name localhost;
location / {
root /var/www/html;
index index.php index.html index.htm;
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
location ~ \.php$ {
fastcgi_pass php-fpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
include fastcgi_params;
}
}
最后,在Dockerfile同级目录下运行以下命令来启动服务:
docker-compose up -d
这将启动一个包含PHP-FPM、Nginx和MySQL的容器化环境。确保你的项目代码位于./www
目录下,这样Nginx和PHP-FPM就能正确地访问和执行它。
评论已关闭