docker 部署 nginx+php+mysql
系统:centos7
使用root账户
开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
安装docker
yum install docker -y
安装docker-compose
yum install epel-release -y
yum install -y python-pip
pip install --upgrade pip //更新pip
pip install -U docker-compose
部署nginx+php+mysql
开启docker
systemctl start docker
cd /home
mkdir www //网站目录
mkdir conf //配置文件
mkdir app //下载的应用
//拉取官方镜像
docker pull nginx:1.12.0
docker pull php:5.4-fpm
docker pull mysql:5.6
//下载到/home/app
去php官网下载php5.4.45
nginx官网下载nginx1.12.0
phpmyadmin官网下载phpmyadmin找php对应版本
都下载完并解压完成后,进入php文件
cp php.ini-development /home/conf/php.ini
进入nginx文件
cp conf/nginx.conf /home/conf/nginx.conf
cd /home/conf
vi nginx.conf
location / {
root /usr/share/nginx/html;
index index.html index.php index.htm;
}
location ~ \.php {//去除$
root /var/www/html;
fastcgi_pass fpm:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$; //nginx添加path_info支持
fastcgi_param PATH_INFO $fastcgi_path_info;//nginx添加path_info支持
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
cd /home/app
复制phpmyadmin解压出来的文件到/home/www并改名为phpmyadmin
//编写docker-compose
cd /home
docker images //查看镜像id
vi docker-compose.yml
version: '2'
services:
php:
image: php镜像id
ports:
- 9000:9000
volumes:
- /home/www:/var/www/html
- /home/conf/php.ini:/usr/local/etc/php/php.ini
links:
- mysql
privileged: true
nginx:
image: nginx镜像id
ports:
- 80:80
volumes:
- /home/www:/usr/share/nginx/html
- /home/conf/nginx.conf:/etc/nginx/nginx.conf
links:
- php:fpm
privileged: true
mysql:
image: mysql镜像id
ports:
- 3306:3306
volumes:
- /home/data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=123
privileged: true
docker-compose编写完成后
执行
docker-compose up -d //使容器后台运行
docker exec -it home_mysql_1 bash //进入mysql容器
mysql -u -root -p
密码:123
执行 status
查看 UNIX socket地址并复制
执行use mysql
update user set Host = '%' where User = 'root';
flush privileges;
完成后两次ctrl+d
退出容器
cd /home/conf
vi php.ini
搜索
mysql.default
mysqli.default
pdo_mysql.default
等号后加上复制出来的UNIX socket地址
cd /home
docker-compose restart
cd www
vi index.php
<?php
phpinfo();
?>
查看php信息
cd phpmyadmin
vi config.sample.inc.php
$cfg['Servers'][$i]['host'] = 'mysql'; 退出后config.sample.inc.php改名为config.inc.php 从外部访问 http://ip地址/phpmyadmin/index.php
登录mysql成功后即可完成
docker 部署 nginx+php+mysql的更多相关文章
- 使用docker部署nginx+tomcat架构(2):访问mysql数据库
上一篇完成了通过docker部署nginx+tomcat的基础软件架构,但是距离一个真正可用的软件架构还差得很远.其中最重要的一点是缺少数据库这个角色的存在,那么本篇就来完善这一点. 废话少说,直接进 ...
- 使用docker部署nginx+tomcat架构(3):使用docker-compose简化部署操作
经历了之前的两篇,我们已经大体上了解了docker部署容器的过程. 使用docker部署nginx+tomcat架构 使用docker部署nginx+tomcat架构():访问mysql数据库 不过, ...
- Docker部署Nginx并修改配置文件
Docker部署Nginx并修改配置文件 一.拉取nginx镜像 docker pull nginx 二.在宿主机中创建挂载目录 mkdir -p /data/nginx/{conf,conf.d,h ...
- Docker部署Nginx应用(2)
Docker部署Nginx应用(2) 1.拉取Nginx镜像 [root@localhost ~]# docker pull nginx Using default tag: latest lates ...
- docker(部署常见应用):docker部署nginx
上回说到centos安装docker. 这次用实战,docker部署运行常见的应用. docker常用命令 参看:docker命令大全.这里不做赘述. docker部署nginx 1.docker h ...
- docker 部署nginx 使用keepalived 部署高可用
一.体系架构 在Keepalived + Nginx高可用负载均衡架构中,keepalived负责实现High-availability (HA) 功能控制前端机VIP(虚拟网络地址),当有设备发生故 ...
- Docker部署Nginx启动成功,浏览器拒绝访问
今天下午部署完tomcat和mysql之后就接着部署Nginx,本以为Nginx也和之前两个一样简单,但是就因为标题这个问题,花费了我一个小时纠错. 过程复现: 解决完上一篇博客(https://ww ...
- 【原创】大数据基础之Mesos+Marathon+Docker部署nginx
一 安装 安装docker:https://www.cnblogs.com/barneywill/p/10343091.html安装mesos:https://www.cnblogs.com/barn ...
- docker创建nginx+php-fpm+mysql环境(一分钟搭建lnmp)
下载镜像 docker pull bitnami/php-fpm #下载php-fpm镜像 docker pull nginx #下载nginx镜像docker pull mysql:5.5.59 # ...
随机推荐
- HDU - 1223 DP 分类
据说这个是经典问题 \(dp[i][j]=dp[i-1][j-1]*j+dp[i-1][j]*j\) \(dp[i][j]\)表示前i个数分为j个集合,[i-1][j-1]为插入小于号[i-1][j] ...
- SPOJ - DISUBSTR 求串中子串的个数
\(height\)简单应用 #include<iostream> #include<cstdio> #include<cstring> #include<c ...
- vue 同一个组件的跳转, 返回时保留原来的下拉位置
1,需求分析 公司的项目有这样一个需求: 同一个list组件,根据传过来的listId渲染成多个页面,每个页面都可以下拉.在返回到不同的list页面时,要保留当时下拉的位置. 说的我自己都有点懵逼了, ...
- [转] log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析
[From] http://www.tuicool.com/articles/INveIf 注:下文中的“桥接”.“转调”.“绑定”等词基本都是同一个概念. log4j-over-slf4j和slf4 ...
- android apk重新[签名]
1,删除之前的签名文件 用解压缩工具打开,删除 [META-INF] 文件夹 2,打开命令行窗口 3,[保证签名文件和apk在同一级目录下] 然后执行如下命令,将 (xx) 处替换自己的签名.apk ...
- Python I/O及FIle方法
一.文件操作 文件的编码格式: ASCII与UNICODE: 计算机有256个ASCII字符(8个0/1的排列组合方式一共有256种, 2**8) UTF-8是UNICODE的一种编码格式,计算机中使 ...
- centos 安装xrdp远程连接桌面
1. 安装epel库,否则无法安装xrdp yum install epel-release 2.安装 xrdp yum install xrdp 3. 安装tigervnc-server yum i ...
- oracle 查看一个表中的记录是否被锁住
SELECT a.object_id, a.session_id, b.object_nameFROM v$locked_object a, dba_objects bWHERE a.object_i ...
- spark第四篇:Running Spark on YARN
确保HADOOP_CONF_DIR或者YARN_CONF_DIR指向hadoop集群配置文件目录.这些配置用来写数据到hdfs以及连接yarn ResourceManager.(在$SPARK_HOM ...
- c语言实现栈的增删查减
#include"stdio.h"#include"stdlib.h"#define STACK_SIZE 100#define STACKINCREMENT ...