当前位置: 首页 > news >正文

网站建设需解决问题/短期培训班学什么好

网站建设需解决问题,短期培训班学什么好,苏州高端企业网站建设,毕业论文静态网页的设计背景 每次更换一个工作用的电脑,都需要很长的时间来搭建本地的运行环境。有时候,为了安装一个扩展会折腾半天,而且可能需要安装多个版本的 php。有人说,集成运行环境不是很好嘛,一次搞定所有的要求。是的,对…

背景

每次更换一个工作用的电脑,都需要很长的时间来搭建本地的运行环境。有时候,为了安装一个扩展会折腾半天,而且可能需要安装多个版本的 php。有人说,集成运行环境不是很好嘛,一次搞定所有的要求。是的,对于新手来说,使用集成包就足够了。但是集成境包不容易满足定制化的需求,比如某个扩展没有,还是得手动编译安装,而且这种方式有点太 low 了。 对于 mac 来说,需要卸载自带的 php ,然后使用 php 安装器来管理多个版本,这可能会影响本地系统。 
这篇博客主要跟大家带来使用 docker 来搭建本地运行环境,docker 号称 build once, run anywhere,用于生产环境也可以哦。等你换一个电脑,从网上 down 下来自己的配置文件,剩下就是网速和时间的问题了。喝一杯咖啡,环境就搭建好了。

安装docker

  • 安装Homebrew

    Homebrew 可以说填补了 mac 包管理工具的空缺,安装起来非常简单。

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 安装 docker

    brew install docker docker-machine docker-compose

    Docker 和传统意义的虚拟机相比,Docker 运行在进程的命名空间内,并没有提供操作系统层的抽象,直接使用主机的资源。
    docker-machine 有点类似虚拟机了,Docker 可以运行在其中。由于 Mac 文件系统的限制,Docker 运行在 Mac OS 上有明显延迟,这也就是后面要用 dinghy 加速的原因。
    docker-compose 单独的容器只可以提供比较单一的服务,通过 docker-compose 来管理容器,定义容器之间的依赖关系等,来满足应用级别的需要。 
    官方文档

    或者可以通过 Docker For Mac 的安装包进行安装,也很简单。

使用laradock

  • laradock

    laradock 是通过 docker-compose 来构建的,旨在方便地提供 laravel 的运行环境。做适当的修改可以很方便的当做 php 的开发环境。

  • 安装

    git clone https://github.com/laradock/laradock.git
  • 简介

    进入到 laradock 的目录,看到有很多文件夹和文件,其中最重要的就是 env-example,docker-compose.yml以及各个目录里的 Dockerfile 文件了。env-example 的环境配置文件的样例,后两者有很多变量都是在这个文件中定义的。

  • 初运行

    启动 docker,进入到 laradock 的目录,执行

    cp env-example .env  
    docker-compose up -d mysql redis nginx # 启动相关容器
    docker-compose ps # 查看进程
    docker-compose exec 容器名字 sh # 进入相关容器

    通过ps可以看到有6个进程启动了,分别是 application, workspace, php-fpm, nginx, redis, mysql。 其中 php-fpm 是 nginx 所依赖的容器, appliction 代表整个应用,workspace 是主要用来执行 php-cli 命令的容器,例如 artisan, composer, phpunit等。

  • 配置

    例如 文件的目录关系如下:

    /dev
    -  laradock
    -  code
    -    project-1
    -    project-2

    打开 .env 文件,修改 APPLICATION 的值为项目文件的相对路径,APPLICATION=../code/ 这个路径会映射到 worksapce 容器的 /var/www/ 目录上,(注意任何修改配置文件都需要执行 docker-compose build 容器名字 重新构建相关容器)。进入nginx/sites 目录,执行 cp project-1.conf.example project-1.conf,修改 docker 让它可以挂载 /dev 目录后,执行docker-compose restart nginx 重启 nginx ,本地绑定 host 127.0.0.1 project-1.dev,在浏览器中输入 http://project-1.dev 应该就可以看到效果了。

编译自己的扩展

  • 定好的扩展

    一般的扩展作者都已经提供了,在 .env 中找到相关的配置选项打开或关闭。

  • 未定义的扩展

    如果没有定义我们需要的扩展就需要,就需要我们动手来编译扩展了。比如我们 php-cli 需要 zmq 扩展,首先打开 .env 文件在 WORKSPACE 下面加入 WORKSPACE_INSTALL_ZMP=true 然后打开 docker_composer.yml 在 workspace 的 args 中加入INSTALL_ZMQ=${WORKSPACE_INSTALL_ZMQ} 然后保存,打开 workspace/Dockerfile-71 (假如我们用的是 php 7.1),找一个合适的位置添加

    ARG INSTALL_ZMQ=false
    ENV INSTALL_ZMQ ${INSTALL_ZMQ}
    RUN if [ ${INSTALL_ZMQ} = true ]; then \
    # Install the ZMQ extension
    RUN apt-get -yqq install wget && \
    wget https://github.com/zeromq/libzmq/releases/download/v4.2.1/zeromq-4.2.1.tar.gz && \tar -zxvf zeromq-4.2.1.tar.gz && \apt-get -yqq remove wget && \cd zeromq-4.2.1 && \./configure && \make && make install && \pecl install zmq-beta && \echo "extension=zmq.so" >> /etc/php/7.1/cli/conf.d/40-zmq.ini && \cd .. ;
    ;fi

    保存后,重新编译启动 workspace ,进入容器后执行 php -m 发现扩展装上了。

使用dinghy加速mac

  • dinghy

    主要用来在 MAC 上加速 docker 的虚拟机。

  • 安装

    brew tap codekitchen/dinghy && brew install dinghy
  • 安装虚拟机

    xhyve, virtualbox, vmware fusion, parallels desktop 这四个均可,以parallels desktop 为例。只有 vmware 支持的比较好,其他三个都需要安装驱动。下面以 parallels 为例。

  • 安装 driver

    brew install docker-machine-parallels
  • 创建虚拟机

    dinghy create --provider parallels 成创建后可以看到都是 running 的状态,可以按要求加入相关环境变量,以便启动 docker 的时候可以找到 dinghy。同时还应该加上挂载目录的配置:

    export DINGHY_HOST_MOUNT_DIR=/dev/
    export DINGHY_GUEST_MOUNT_DIR=/dev/
  • 配置 dns 和 http-proxy

    当运行 docker-compose up -d nginx 的时候,你会发现启动失败,提示 80 和 443 被占用了。是 http-proxy 占用了,这个是默认被打开的。dinghy 很有趣,当打开 dns revole 的时候,默认所有的 .docker 为二级域名的域名都会被 dinghy 的 dns 解析,这个可以被修改,我们打开 $HOME/.dinghy/preferences.yml,在下面加入
    :dinghy_domain: dev,所有以 .dev 为二级域名的域名都会被 dinghy 解析。并通过 http-proxy 代理来访问其它容器(如果本地绑定了 host 需要去掉)。下面开始配置:
    打开 docker-compose.yml 找到 nginx 的配置选项,去掉 80 和 443 端口的映射。添加新的配置项

    environment:
    - VIRTUAL_HOST=${DINGHY_VIRTUAL_HOST}

    然后再 .env 中加入 DINGHY_VIRTUAL_HOST=project-1.dev 多个域名可以用逗号隔开,重新构建 nginx, docker-compose build nginx,然后重启 dinghy。

http://www.lbrq.cn/news/959113.html

相关文章:

  • 大鹏网站建设/seo网站建设优化
  • 网站app在线制作/产品推广介绍
  • 网站建设需要租赁服务器吗/百度竞价推广属于什么广告
  • 沧州网站建设 熊掌号/免费的模板网站
  • 哈尔滨免费建站模板/搜索推广竞价托管哪家好
  • vb.net 网站开发/app拉新平台有哪些
  • 南京做企业网站公司/互动营销案例100
  • 网站建设需要准备什么软件/福州百度快速优化
  • 网站运营推广怎么做/seo专业培训技术
  • 汽配人网做网站/最新新闻摘抄
  • 怎么入侵网站后台管理/微信推广软件
  • 网站页面做海报用什么软件/seo数据统计分析工具有哪些
  • 有没有专门做化妆品小样的网站/怎么推广网站
  • 搭建网站教程/职业培训学校
  • 什么网站有项目做/广州网站优化服务商
  • 国外一个专门做配乐的网站/百度广告联盟平台官网
  • 做洁净的网站/浙江网站推广运营
  • 海口网站建设专家评价/深圳网络推广大师
  • 6617网址导航彩票网站大全/百度百度一下百度
  • 徐州 网站制作/哪些行业适合做网络推广
  • 新建网站怎么做优化/百度指数可以查询多长时间的
  • p2p的网站建设/百度推送
  • 网站被k怎么恢复/免费建网站哪家好
  • 做网站搭建的公司/天津搜索引擎seo
  • 网站流量30g/交友平台
  • 阿里云wordpress进不去/广州seo做得比较好的公司
  • 做网站谁家好/今日搜索排行榜
  • 精品网站建设费用 在线磐石网络/seo外链推广
  • 鹰潭北京网站建设/关键词推广排名
  • 北京网站设计制作教程/上海最专业的seo公司
  • 本地大模型部署工具全解析:LM Studio vs. Ollama 及最佳实践指南
  • ChatGPT Agent深度解析:告别单纯问答,一个指令搞定复杂任务?
  • uni-app 跳转页面传参
  • 设计循环队列oj题(力口622)
  • nginx-http反向代理与负载均衡
  • centos中新增硬盘挂载文件夹