首页 > 数据库 >Docker-compose 安装 Nginx PHP MySQL

Docker-compose 安装 Nginx PHP MySQL

时间:2022-11-16 21:08:49浏览次数:47  
标签:index www compose nginx Nginx MySQL docker php root


1、创建

mkdir -p /docker/www
mkdir -p /docker/nginx/conf.d/

2、配置

vim nginx/conf.d/default.conf

server {
listen 80;
server_name localhost;

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

location ~ \.php(.*)$ {
root /var/www/html;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

}

 3、创建 index.html,info.php,conn.php 三个文件

# html 静态文件
vim www/index.html

<h1>welcome to nginx</h1>



# php 文件
vim www/info.php

<?php
phpinfo();
?>


# php 连接 mysql
vim www/conn.php

<?php
$serve = 'mysql';
$username = 'root';
$password = '123456';
$dbname = 'mysql';

$mysqli = new Mysqli($serve,$username,$password,$dbname);

if ($mysqli->connect_error) {
die('connect error:'.$mysqli->connect_errno);
}

$mysqli->set_charset('UTF-8');
$result = $mysqli->query('select * from user');
$data = $result->fetch_all();
print_r($data);

?>

4、docker-compose.yml 

version: "3"

services:
nginx:
image: nginx
container_name: nginx
ports:
- 80:80
volumes:
- /docker/www:/usr/share/nginx/html
- /docker/nginx/conf.d:/etc/nginx/conf.d
php:
image: bitnami/php-fpm:7.1
container_name: php-fpm
volumes:
- /docker/www:/var/www/html
mysql:
image: mysql:5.6
container_name: mysql
environment:
- MYSQL_ROOT_PASSWORD=123456

5、运行

cd /docker

[root@ ~docker]# ll
total 12
-rw-r--r-- 1 root root 419 Oct 20 22:17 docker-compose.yml
drwxr-xr-x 3 root root 4096 Oct 18 16:59 nginx
drwxr-xr-x 2 root root 4096 Oct 20 22:33 www

# 启动
docker-compose up -d

# 成功后,会自动创建一个 docker-compose.yml 所在目录名 + networks 名的 bridge
# 默认为 networks 名为 defalut
[root@ ~docker]# docker network ls
NETWORK ID NAME DRIVER SCOPE
f494d9e871fc bridge bridge local
2efd0aa32907 docker_default bridge local
0049c2e52fe2 host host local
d1e9a42f8a20 none null local

6、查看

[root@ ~docker]# docker ps
CONTAINER ID IMAGE COMMAND STATUS AMES
f4530f0204d7 bitnami/php-fpm:7.1 "php-fpm -F --pid ..." 9000/tcp php-fpm
f8defe11c1eb nginx "/docker-entrypoin..." 0.0.0.0:80->80/tcp nginx
8e36b1e0280e mysql:5.6 "docker-entrypoint..." 3306/tcp mysql

 

标签:index,www,compose,nginx,Nginx,MySQL,docker,php,root
From: https://blog.51cto.com/u_14508118/5857661

相关文章

  • Centos 7 安装 docker-compose
    1、下载curl-Lhttps://github.com/docker/compose/releases\/download/1.21.2/docker-compose-`uname-s`-`uname-m`-o/usr/local/bin/docker-compose可能上面的下载比......
  • MySQL动态SQL
    if单独使用的时候需要注意where需要带一条永真的语句如“1=1”,或者有其他不被if包含的语句,否则就可能出现“whereand titlelike#{title}”,只有一条语句,然后还被and连......
  • 使用 Nginx 如何部署 web 项目
    第一步:前往Nginx官方下载Nginx资源包,建议下载Stableversion(长期稳定版本)   第二步:将Nginx压缩包解压到本地目录中(D:\Tools)   第三步:进入到已经解压......
  • Nginx快速入门
    参考文章:https://www.kuangstudy.com/bbs/1353634800149213186公司产品出现瓶颈?我们公司项目刚刚上线的时候,并发量小,用户使用的少,所以在低并发的情况下,一个jar包启动应用......
  • MySQL 索引最左前缀原则失效?
    测试索引最左前缀原则,发现缺失带头索引后,索引还是生效的。一、测试创建测试表CREATETABLE`user`(`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'主键',......
  • MySQL索引和SQL调优手册
    MySQL索引MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTre......
  • Nginx开启Gzip压缩大幅提高页面加载速度
    刚刚给博客加了一个500px相册插件,lightbox引入了很多js文件和css文件,页面一下子看起来非常臃肿,所以还是把Gzip打开了。环境:Debian61、Vim打开Nginx配置文件vim /usr/local......
  • mysql学习(9):联合索引和多个单列索引的使用区别详解
    前言为了提高数据库的查询效率,建索引是最常用的手段。那么问题来了,如果查询条件为2个及以上,我们是创建多个单列索引好呢,还是建一个联合索引比较好?正文我们首先来建一张表,......
  • 查看MySQL数据库所有的表名、表注释、字段名称、类型、长度、备注,一键导出生成数据库
    一、先了解下INFORMATION_SCHEMA1、在MySQL中,把INFORMATION_SCHEMA看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据......
  • MySQL清空表提示Cannot truncate a table referenced in a foreign key constraint
    MySQL清空表提示Cannottruncateatablereferencedinaforeignkeyconstraint在MySQL执行truncatetablexxx时,出现了这个报错[Err]1701-Cannottruncateatable......