在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。你可以根据需要进一步配置和优化各个服务。