docker安装lnmp环境

要使用 docker-compose 安装 LNMP(Linux, Nginx, MySQL, PHP)环境,可以按照以下步骤来配置 docker-compose.yml 文件并启动相关容器。

步骤 1: 创建一个目录来存放项目文件
首先,创建一个目录用于存放 docker-compose.yml 文件及其他配置文件:

bash
mkdir lnmp-docker
cd lnmp-docker
步骤 2: 编写 docker-compose.yml 文件
在该目录下创建一个 docker-compose.yml 文件,内容如下:

yaml
version: '3.8'

services:
# Nginx服务
nginx:
image: nginx:latest
container_name: nginx
ports:
- "80:80" # 将宿主机的80端口映射到容器的80端口
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf # 配置文件映射
- ./html:/usr/share/nginx/html # 网站根目录
depends_on:
- php
networks:
- lnmp_network

# MySQL服务
mysql:
image: mysql:5.7
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: rootpassword # 设置 MySQL 根密码
MYSQL_DATABASE: exampledb # 创建数据库
MYSQL_USER: user # 创建用户
MYSQL_PASSWORD: userpassword # 设置用户密码
volumes:
- mysql_data:/var/lib/mysql # 数据持久化
networks:
- lnmp_network

# PHP-FPM服务
php:
image: php:7.4-fpm
container_name: php
volumes:
- ./html:/var/www/html # PHP 网站根目录
networks:
- lnmp_network

networks:
lnmp_network:
driver: bridge

volumes:
mysql_data:
driver: local
步骤 3: 配置 Nginx 和 PHP
Nginx 配置文件:
在 lnmp-docker 目录下创建一个 nginx.conf 文件,内容如下:

nginx
server {
listen 80;
server_name localhost;

root /usr/share/nginx/html;
index index.php index.html index.htm;

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

location ~ \.php$ {
fastcgi_pass php:9000; # PHP-FPM服务
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/html$fastcgi_script_name;
include fastcgi_params;
}
}
这个配置将请求转发给 PHP 服务处理,确保 Nginx 能与 PHP-FPM 正常配合。

PHP 网站文件:
在 lnmp-docker 目录下创建一个 html 目录,该目录将存放你的 PHP 网站文件。

在 html 目录中创建一个 index.php 文件,内容如下:

php
<?php
phpinfo();
?>
步骤 4: 启动服务
在 lnmp-docker 目录下,执行以下命令启动所有服务:

bash
docker-compose up -d
该命令会在后台启动 Nginx、MySQL 和 PHP-FPM 容器。

步骤 5: 验证 LNMP 环境
打开浏览器,访问 http://localhost,你应该能够看到 PHP 信息页面(phpinfo() 的输出)。
如果一切正常,说明你的 LNMP 环境已经搭建成功。
其他配置(可选)
自定义 MySQL 配置: 你可以根据需要更改 MySQL 的 environment 变量,例如修改数据库名称、用户、密码等。
持久化存储: 使用 Docker 卷来保存 MySQL 数据,这样即使容器被删除,数据也会保持。
停止和移除容器
如果需要停止并移除容器,可以执行:

bash
docker-compose down
如果只想停止容器,可以执行:

bash
docker-compose stop
总结
通过上述步骤,你可以轻松地在 Docker 中使用 docker-compose 搭建一个 LNMP 环境。你可以根据自己的需求调整配置文件,如 MySQL 配置、PHP 版本等。这样,你的开发和测试环境就可以在容器化环境中运行,便于管理和部署。

 

<?php
phpinfo();
#容器名称
$host = "mysql"; // 数据库主机
$username = "root"; // 数据库用户名
$password = "rootpassword"; // 数据库密码
$dbname = "exampledb"; // 数据库名称

// 创建连接
$conn = mysqli_connect($host, $username, $password, $dbname);

// 检查连接是否成功
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}

echo "连接成功!";
?>

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: