docker nginx+php(docker nginx反向代理)

一、docker安装:将微信公众号项目运行绑定至80端口(微信服务器只能和外部开通了80端口的服务器之间通信)docker一次构建可放在任何地方就可以运行,不需要进行任何改变DocKer就类似于一个容器。这个容器就好像咱们常用的虚拟机一样,当我们虚拟机里面安装过VS、SQL、浏览器……之后咱们就把虚拟机镜像备份下来、等到下一次需要重新搭一个环境的时候,就可以省去很多事情了,直接…

大家好,又见面了,我是你们的朋友全栈君。

一、docker安装:

  • docker一次构建可放在任何地方就可以运行,不需要进行任何改变DocKer 就类似于一个容器。这个容器就好像咱们常用的虚拟机一样,当我们虚拟机里面安装过VS、SQL、浏览器 … 之后咱们就把虚拟机镜像备份下来、等到下一次需要重新搭一个环境的时候,就可以省去很多事情了,直接把备份的虚拟机运行起来,该有的就都有了,省去了很多事情。

  • 安装指令:
    $ sudo yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm
    $ sudo yum install docker-io

  • 启动
    $ sudo service docker start

二、编辑启动脚本:

  • 在系统中建立一个专门存放docker启动的脚本,分别是,start_docker_mysql.sh,start_docker_nginx.sh,start_docker_php.sh,完成后目录如下
    这里写图片描述

  • 1.启动脚本建立好了以后首先开始mysql的安装,在start_docker_mysql.sh里面写入内容:
    sudo docker run --name mysql -p 3306:3306 -d -e MYSQL_ROOT_PASSWORD=xiukang -v /home/docker-mysql:/var/lib/mysql registry.cn-hangzhou.aliyuncs.com/qinyujia-test/mysql 具体代码内容指令请查看docker相关教程

  • 2.编写启动php脚本。在start_docker_php.sh中写入一下内容:
    sudo docker run --name php --link=mysql:mysql -d -v /home/wwwroot:/home/wwwroot -v /home/wwwlogs:/home/wwwlogs -v /tmp:/tmp -v /etc/localtime:/etc/localtime --privileged=true wgkj/php

  • 3.编写启动nginx脚本。在start_docker_nginx.sh中写入一下内容:
    这里写图片描述

三、添加nginx 配置文件:

  • 在启动nginx 脚本中可以看到在/home/pure_nginx_vhosts这个目录是存在nginx.conf的文件,我们采用多站点运行方式得话, 所有配置文件需要统一放这个目录下,如图:
    这里写图片描述
    本次只添加了一个默认的配置文件,配置文件内容如下:
    这里写图片描述
    这是默认的配置文件,其他的项目配置文件可以参考该文件进行编写, 具体指令请参考nginx配置教程

  • 在nginx配置完后,咱们就需要配置项目文件了,从启动nginx 的脚本中,我们将/home/wwwroot/目录统一设置为项目目录,/home/wwwlogs/目录统一设置为日志目录,项目中的日志,docker的日志均可放这里。

      现在我们需要配置一个nginx访问地址,在`/home/wwwroot/`目录下建立 default目录
      然后新建 index.html或者index.php文件,文件内容随意。
    

我的内容如下
这里写图片描述

四、运行项目:

  • 按顺序执行编写的三个脚本,顺序本别是,start_docker_mysql.sh -> start_docker_php.sh -> start_docker_nginx.sh
  • 执行完成后入下图:
    这里写图片描述
    mysql,php,nginx都启动成功的话,会是上图的情况,
  • 如果没有启动成功,请检测自己的脚本是否编写有有误,可以执行 docker logs -f mysql 查看启动日志等。

五、运行访问:

  • 项目访问时需要访问到服务器的80,3306 端口,请检查该端口是否开放
  • 在浏览器上输入服务器ip地址或者配置好的域名,出现如下图则为配置成功
    这里写图片描述
  • 同样MySQL可以以用mysql客户端进行访问

六、结束语:
对此,docker部署nginx,mysql,php基本结束
对docker或者linux不太熟悉的同学,在部署中若遇到问题,可以查阅相关的文档或者联系我(1102842479@qq.com),遇到问题是正常情况,大家需要静下心来,找到问题的所在,才能成功

在这里插入图片描述
谢谢支持

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128239.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Docker 启动redis镜像

    Docker 启动redis镜像查看本地所有容器:dockerps-a查看本地运行中的容器:dockerps查看所有镜像:dockerimagesdaocker启动redis镜像同时设置密码:dockerrun-d–nameredis1-p6379:6379redis–requirepass“gs123456”参数解释:-d:后台运行-name为容器的名字-p端口映射–requirepass:redis密码redis为镜像名…

    2022年9月15日
    1
  • pycharm 使用docker 配置环境「建议收藏」

    pycharm 使用docker 配置环境「建议收藏」前提:windowspycharm使用docker中的python3搭建运行环境配置环境:pycharmversion:2018.1.2docker18.03.1-ce-win65windows10专业版启动dockerdockerpullpython3##downloadpython3容器默认latest版本无需运行该容器,若需要安装…

    2022年8月25日
    6
  • Jenkins(2)docker容器中安装python3「建议收藏」

    Jenkins(2)docker容器中安装python3「建议收藏」前言使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。进jenki

    2022年7月30日
    4
  • docker 镜像构建_docker生成镜像

    docker 镜像构建_docker生成镜像前言如果我们已经安装了一个python3的环境,如果另一台机器也需要安装同样的环境又要敲一遍,很麻烦,这里可以配置Dockerfile文件,让其自动安装,类似shell脚本Dockerfile编写

    2022年7月29日
    3
  • docker_docker一键部署

    docker_docker一键部署1、安装mysql自行安装2、安装Gogs自行安装3、安装drone/dronedockerrun-d\–volume=/var/lib/drone:/data\–env=DRONE_DEBUG=true\–env=DRONE_LOGS_TRACE=true\–env=DRONE_LOGS_DEBUG=true\–env=DRONE_LOGS_PRETTY=true\–env=DRONE_AGENTS_ENABLED=true\–env=

    2022年8月15日
    4
  • Docker常用命令大全「建议收藏」

    Docker常用命令大全「建议收藏」Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化、容器是完全使用沙箱机制,彼此之间没有任何接口。一个完整的Docker有以下几个部分组成:DockerClient客户端Docker守护进程守护进程Docker镜像镜像Docker容器容器下面是Docker的常用命令:Docker常用命令大全容器生命周期管理命令runstart/stop/restart

    2022年9月18日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号