debian

Debian如何集成LNMP与Docker

小樊
41
2025-07-01 19:46:39
栏目: 智能运维

在Debian系统上集成LNMP(Linux, Nginx, MySQL/MariaDB, PHP)与Docker可以通过以下步骤实现:

1. 安装Docker

首先,确保你的Debian系统上已经安装了Docker。如果没有安装,可以使用以下命令进行安装:

sudo apt update
sudo apt install docker.io

启动Docker服务并设置开机自启:

sudo systemctl start docker
sudo systemctl enable docker

2. 安装Docker Compose

Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。使用以下命令安装Docker Compose:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

3. 创建Docker Compose文件

在你的项目目录中创建一个docker-compose.yml文件,并定义Nginx、MySQL/MariaDB和PHP容器。

version: '3.8'

services:
  nginx:
    image: nginx:latest
    container_name: nginx
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d
      - ./nginx/html:/usr/share/nginx/html
    depends_on:
      - php
      - mysql

  php:
    image: php:fpm
    container_name: php
    volumes:
      - ./php:/var/www/html
    depends_on:
      - mysql

  mysql:
    image: mysql:5.7
    container_name: mysql
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword
      MYSQL_DATABASE: mydatabase
      MYSQL_USER: myuser
      MYSQL_PASSWORD: mypassword
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

4. 配置Nginx

在项目目录中创建一个nginx文件夹,并在其中创建一个conf.d文件夹和一个html文件夹。

mkdir -p nginx/conf.d
mkdir -p nginx/html

nginx/conf.d文件夹中创建一个默认的Nginx配置文件default.conf

server {
    listen 80;
    server_name localhost;

    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

5. 配置PHP

在项目目录中创建一个php文件夹,并在其中创建一个简单的PHP文件info.php

mkdir -p php
echo "<?php phpinfo(); ?>" > php/info.php

6. 启动Docker容器

在项目目录中运行以下命令启动Docker容器:

docker-compose up -d

7. 验证集成

打开浏览器并访问http://localhost,你应该能够看到PHP信息页面。

总结

通过以上步骤,你已经成功在Debian系统上集成了LNMP与Docker。你可以根据需要进一步配置和优化各个服务。

0
看了该问题的人还看了