全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

利用docker搭建php7和nginx运行环境全过程(官方镜像)

本文分享的是利用docker搭建php7和nginx运行环境的全过程,分享出来供大家参考学习,下面来看看详细的介绍:

环境介绍

根目录: /docker

网站根目录:/docker/www

nginx相关目录:/docker/nginx/conf.d

准备工作

1、使用docker加速器

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://68abbefd.m.daocloud.io
service docker restart

2、下载相关镜像

docker pull nginx
docker pull php:7.1.0-fpm

3、建立相关目录

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

4、编辑default.conf

vim /docker/nginx/conf.d/default.conf

# 以下为示例内容
server {
  listen  80 default_server;
  server_name _;
  root   /usr/share/nginx/html;

  location / {
   index index.html index.htm index.php;
   autoindex off;
  }
  location ~ \.php(.*)$ {
   root   /var/www/html/;
   fastcgi_pass 172.17.0.2:9000;
   fastcgi_index index.php;
   fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_param PATH_INFO $fastcgi_path_info;
   fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
   include  fastcgi_params;
  }
}

搭建环境

1、启动php镜像

docker run -p 9000:9000 --name myphp \
-v /docker/www/:/var/www/html/ \
--privileged=true \
-d php:7.1.0-fpm

#查看php镜像的ip地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' myphp

172.17.0.2

#修改default.conf配置文件,使fastcgi_pass的值为 172.17.0.2:9000

vim /docker/nginx/conf.d/default.conf

fastcgi_pass 172.17.0.2:9000;

2、启动nginx镜像

docker run -p 80:80 --name mynginx \
-v /docker/www:/usr/share/nginx/html \
-v /docker/nginx/conf.d:/etc/nginx/conf.d \
--privileged=true \
-d nginx

3、查看镜像运行状态

docker ps

CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS          NAMES
93213e1eac73  nginx    "nginx -g 'daemon off" 3 seconds ago  Up 2 seconds  0.0.0.0:80->80/tcp mynginx
e93281652098  php:7.1.0-fpm  "docker-php-entrypoin" 8 minutes ago  Up 8 minutes  0.0.0.0:9000->9000/tcp      myphp

4、生成php测试文件info.php

echo "<?php phpinfo();" > /docker/www/info.php

浏览器访问 http://localhost/info.php 验证

nginx虚拟机配置

以配置www.test.com虚拟机为例,项目目录地址为/docker/www/test.com/

vim /docker/nginx/conf.d/test.com.conf

# 示例内容如下

server {
  listen  80;
  server_name www.test.com;
  root   /usr/share/nginx/html/test.com/;
  location / {
   index index.html index.htm index.php;
   autoindex off;
  }
  location ~ \.php(.*)$ {
   root   /var/www/html/test.com/;
   fastcgi_pass 172.17.0.2:9000;
   fastcgi_index index.php;
   fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_param PATH_INFO $fastcgi_path_info;
   fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
   include  fastcgi_params;
  }
}


#重启nginx镜像

docker restart mynginx

docker常用命令

1、停止所有正在运行的容器

docker kill $(docker ps -a -q)

2、删除所有已停止运行的容器

docker rm $(docker ps -a -q)

3、查看容器运行状态

docker stats

4、进入容器内进行命令行操作

docker exec -it content-name-or-id /bin/bash

常见问题

CentOS7 环境下因为宿主的SELINUX,导致在nginx容器内无法访问配置文件(default.conf),进而容器无法提供web服务

解决方法:

#############方法一#############
#在宿主主机关闭SELINUX
#临时关闭
setenforce 0
#永久关闭 修改/etc/sysconfig/selinux文件
SELINUX=disabled

#############方法二#############
#以特权方式运行容器
#--privileged参数为true
docker run -it --privileged=true -d nginx

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# docker  # nginx  # php7  # php  # 搭建nginx  # docker运行Nginx及配置方法  # docker运行nginx不生效的解决办法  # Docker部署php运行环境(php-fpm+nginx)  # docker运行nginx绑定配置文件失败原因以及问题解决  # Docker容器下运行Nginx并实现反向代理  # 浅谈docker运行nginx为什么要使用daemon off  # Docker中运行nginx并挂载本地目录到镜像中的方法  # docker nginx 运行后无法访问的问题解决  # 在 Docker 环境中部署和运行 Nginx 的方法  # 镜像  # 配置文件  # 的是  # 运行状态  # 容器内  # 运行环境  # 来看看  # 为例  # 这篇文章  # 谢谢大家  # 重启  # 准备工作  # 解决方法  # 命令行  # 值为  # 正在运行  # 无法访问  # 有疑问  # mkdir  # listen 


相关文章: 如何在VPS电脑上快速搭建网站?  如何在景安云服务器上绑定域名并配置虚拟主机?    黑客如何通过漏洞一步步攻陷网站服务器?  兔展官网 在线制作,怎样制作微信请帖?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  如何快速搭建高效简练网站?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  建站之星导航配置指南:自助建站与SEO优化全解析  广平建站公司哪家专业可靠?如何选择?  建站主机核心功能解析:服务器选择与网站搭建流程指南  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  如何通过NAT技术实现内网高效建站?  建站主机功能解析:服务器选择与快速搭建指南  如何快速搭建二级域名独立网站?  专业网站建设制作报价,网页设计制作要考什么证?  香港服务器选型指南:免备案配置与高效建站方案解析  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  网站好制作吗知乎,网站开发好学吗?有什么技巧?  如何快速上传建站程序避免常见错误?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  建站之星安装需要哪些步骤及注意事项?  音乐网站服务器如何优化API响应速度?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  如何用wdcp快速搭建高效网站?  常州企业网站制作公司,全国继续教育网怎么登录?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  如何选择靠谱的建站公司加盟品牌?  如何通过cPanel快速搭建网站?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  如何在香港免费服务器上快速搭建网站?  建站之星如何优化SEO以实现高效排名?  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  ,想在网上投简历,哪几个网站比较好?  网站制作模板下载什么软件,ppt模板免费下载网站?  C#怎么使用委托和事件 C# delegate与event编程方法  如何通过VPS建站无需域名直接访问?  如何在Tomcat中配置并部署网站项目?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  如何在阿里云香港服务器快速搭建网站?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  建站VPS选购需注意哪些关键参数?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。