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),遇到问题是正常情况,大家需要静下心来,找到问题的所在,才能成功

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

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