docker-compose方式搭建lnmp环境——筑梦之路

docker-compose.yml文件

bash 复制代码
# 生成 docker-compose.yml
cat > docker-compose.yml <<EOF
version: '3.8'
services:
  nginx:
    image: nginx:1.28.0-bookworm
    container_name: nginx
    ports:
      - "80:80"
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d
      - ./www:/usr/share/nginx/html
      - /etc/localtime:/etc/localtime:ro
    depends_on:
      - php

  php:
    image: php:8.2.29-fpm-alpine3.21
    container_name: php-fpm
    volumes:
      - ./www:/var/www/html
      - /etc/localtime:/etc/localtime:ro

  mysql:
    image: mysql:8.0.42
    container_name: mysql
    environment:
      MYSQL_ROOT_PASSWORD: root123456
      MYSQL_DATABASE: testdb
      MYSQL_USER: testuser
      MYSQL_PASSWORD: testpass
    ports:
      - "3306:3306"
    volumes:
      - ./mysql_data:/var/lib/mysql
      - /etc/localtime:/etc/localtime:ro
EOF

# 创建必要目录
mkdir -p nginx/conf.d www mysql_data

# 创建一个默认 nginx 配置
cat > nginx/conf.d/default.conf <<EOF
server {
    listen 80;
    server_name localhost;
    root /usr/share/nginx/html;

    location / {
        index index.php index.html;
        try_files \$uri \$uri/ /index.php?\$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /var/www/html\$fastcgi_script_name;
        include fastcgi_params;
    }
}
EOF

echo "<?php phpinfo(); ?>" > www/index.php

echo "开始启动服务..."
docker-compose up -d
# 获取本机ip
ip_addr=$(hostname -I | awk '{print $1}')

echo "部署完成!"
echo "访问测试页 Nginx: http://${ip_addr}/"

echo "MySQL: 3306  用户:testuser 密码:testpass 数据库:testdb"

php连接达梦数据库相关问题参考

Linux 环境下 php 连接达梦数据库(PHP安装达梦扩展)_php配置达梦数据库扩展-CSDN博客

PHP 数据库接口 | 达梦技术文档