Docker-compose搭建lnmp

本文详细介绍了如何使用Docker-compose在本地主机上搭建LNMP(Linux+Nginx+MySQL+PHP)环境,包括下载镜像、配置Nginx、设置PHP与MySQL连接等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker-compose搭建lnmp

主机:192.168.19.130

下载镜像

docker pull  nginx
docker pull  mysql:5.7
docker pull  cytopia/php-fpm-5.6

建立新的目录,并创建文件

[root@localhost lnmp]# tree
.
├── conf
│   └── default.conf
├── docker-compose.yml
└── html
    ├── dbtest.php
    ├── index.html
    └── test.php

nginx配置文件:

[root@localhost lnmp]# cat conf/default.conf 
server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

#charset koi8-r;
#access_log  /var/log/nginx/host.access.log  main;

location / {
    root   /usr/share/nginx/html;
    index  index.html index.php index.htm;
}

#error_page  404              /404.html;

# redirect server error pages to the static page /50x.html
#
error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   /usr/share/nginx/html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#    proxy_pass   http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
    root           html;
    fastcgi_pass   php:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /var/www/html/$fastcgi_script_name;
    include        fastcgi_params;
}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
#    deny  all;
#}
}

网页内容:

[root@localhost lnmp]# cat html/index.html 
welcome !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

[root@localhost lnmp]# cat html/dbtest.php 
<?php
$conn=mysql_connect("mysql","root","123456");
if ($conn) echo "it's ok!!!!!";
mysql_close();
?>

测试连接数据库文件:

[root@localhost lnmp]# cat html/dbtest.php 
<?php
$conn=mysql_connect("mysql","root","123456");     ##数据库用户密码
if ($conn) echo "it's ok!!!!!";
mysql_close();
?>

docker-compose.yml 文件:

[root@localhost lnmp]# cat docker-compose.yml 
version: "3"
services:
  nginx:
    image: nginx
    ports:
      - 80
    volumes:
      - /root/lnmp/conf/default.conf:/etc/nginx/conf.d/default.conf    ##配置文件位置映射
      - /root/lnmp/html/:/usr/share/nginx/html     ##网页文件位置映射
    depends_on:
      - php
  php:
    image: cytopia/php-fpm-5.6
    volumes:
      - /root/lnmp/html/:/var/www/html/   ##网页文件位置映射
    depends_on:
      - mysql
  mysql:
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=123456    ##数据库用户密码

用docker-compose构建

[root@localhost lnmp]# docker-compose up -d
Creating network "lnmp_default" with the default driver
Creating lnmp_mysql_1 ... done
Creating lnmp_php_1   ... done
Creating lnmp_nginx_1 ... done
[root@localhost lnmp]# docker-compose ps
    Name                  Command               State           Ports        
-----------------------------------------------------------------------------
lnmp_mysql_1   docker-entrypoint.sh mysqld      Up      3306/tcp, 33060/tcp  
lnmp_nginx_1   /docker-entrypoint.sh ngin ...   Up      0.0.0.0:32768->80/tcp
lnmp_php_1     /docker-entrypoint.sh            Up      9000/tcp              

访问页面:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值