您可以按照以下步骤来部署 PHP+MySQL+Nginx 环境:
1. 安装 Docker 和 Docker Compose
2. 创建一个文件夹并进入文件夹
mkdir php-nginx-mysql
cd php-nginx-mysql
3. 在该文件夹下创建 docker-compose.yml 文件
version: '3'
services:
db:
image: mysql:5.7
container_name: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_password_here
MYSQL_DATABASE: your_database_name_here
MYSQL_USER: your_username_here
MYSQL_PASSWORD: your_password_here
ports:
- 3306:3306
volumes:
- db-data:/var/lib/mysql
web:
image: nginx:alpine
container_name: nginx
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./src:/var/www/html
ports:
- 80:80
depends_on:
- php
php:
build: .
container_name: php
volumes:
- ./src:/var/www/html
ports:
- 9000:9000
depends_on:
- db
volumes:
db-data:
您需要将 MySQL 环境中的密码、数据库名和用户名设置为所需的值。
4. 创建 Nginx 配置文件
将以下内容保存为 `./nginx.conf`:
worker_processes auto;
events {
worker_connections 1024;
}
http {
server {
listen 80;
index index.php;
root /var/www/html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass php:9000;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PHP_VALUE "upload_max_filesize=10M \n post_max_size=10M";
include fastcgi_params;
}
}
}
5. 在该文件夹下创建一个 src 文件夹,您可以将 PHP 代码放在该文件夹下
6. 构建 PHP Docker 映像
在该文件夹下创建一个 Dockerfile 文件,内容如下:
FROM php:7.2-fpm
RUN docker-php-ext-install mysqli pdo pdo_mysql
运行以下命令来构建映像
docker-compose build
7. 启动 Docker 容器
在同一目录下运行以下命令来启动容器:
docker-compose up -d
这将启动一个 MySQL 容器,一个包含 PHP 和 Nginx 的容器,并使它们自动连接。
现在您已经成功通过 Docker 部署了 PHP+MySQL+Nginx 环境,您可以通过访问 http://localhost/ 来访问您的网站。