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部署jenkins安装使用教程_docker安装python

    docker部署jenkins安装使用教程_docker安装python前言使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。进jenki

    2022年7月30日
    16
  • docker部署jenkins安装使用教程_docker搭建python开发环境

    docker部署jenkins安装使用教程_docker搭建python开发环境前言使用docker安装jenkins环境,jenkins构建的workspace目录默认是在容器里面构建的,如果我们想执行python3的代码,需进容器内部安装python3的环境。进jenki

    2022年7月31日
    7
  • docker-compose 集群_hadoop完全分布式搭建步骤

    docker-compose 集群_hadoop完全分布式搭建步骤前言实际工作中我们部署一个应用,一般不仅仅只有一个容器,可能会涉及到多个,比如用到数据库,中间件MQ,web前端和后端服务,等多个容器。我们如果一个个去启动应用,当项目非常多时,就很难记住了,所有

    2022年7月28日
    23
  • docker安装redis集群_docker eureka集群

    docker安装redis集群_docker eureka集群NeoKylin-Server离线部署跨主机redis集群NeoKylin-Server离线部署跨主机redis集群一、说明二、部署过程:1.切换root账号或所有语句加sudo;2.关闭6个节点防火墙(或打开端口);3.6个节点导入rpm包后安装基础环境:4.设置所有节点;5.启动docker并导入images;6.时间同步;7.etcd集群配置;8.部署flannel网络;9.n1-n3部署pxc;10.m1-m3部署Haproxy+Keepalived容器;11.m1-m3宿主机

    2022年8月10日
    7
  • docker dockerfile详解_进入docker容器命令

    docker dockerfile详解_进入docker容器命令前言Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。Dockerfile简介Dockerfile是用来构建Docker镜像的构建文件,是由一系列

    2022年7月28日
    11
  • 【docker安装RabbitMQ详细步骤】

    【docker安装RabbitMQ详细步骤】docker安装RabbitMQ详细步骤1.启动rabbitmqcd/opt/rabbitmqmkdirdata#拉取镜像dockerpullrabbitmq#查看镜像dockerimages#拉取镜像到本地仓库,这里是直接安装最新的,#如果需要安装其他版本在rabbitmq后面跟上版本号即可#dockerpullrabbitmq#启动rabbitMqdockerrun-d\-v/opt/rabbitmq/data:/var/lib/rabbit

    2022年5月23日
    44

发表回复

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

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