在Debian系统上集成LNMP(Linux, Nginx, MySQL/MariaDB, PHP)与Docker可以通过以下步骤实现:
首先,确保你的Debian系统上已经安装了Docker。如果没有安装,可以使用以下命令进行安装:
sudo apt update sudo apt install docker.io 启动Docker服务并设置开机自启:
sudo systemctl start docker sudo systemctl enable docker 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 在你的项目目录中创建一个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: 在项目目录中创建一个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; } } 在项目目录中创建一个php文件夹,并在其中创建一个简单的PHP文件info.php:
mkdir -p php echo "<?php phpinfo(); ?>" > php/info.php 在项目目录中运行以下命令启动Docker容器:
docker-compose up -d 打开浏览器并访问http://localhost,你应该能够看到PHP信息页面。
通过以上步骤,你已经成功在Debian系统上集成了LNMP与Docker。你可以根据需要进一步配置和优化各个服务。