新浦京81707con > 功能介绍 > 服务器环境,开发环境

原标题:服务器环境,开发环境

浏览次数:148 时间:2020-01-30

图片 1Lumen

图片 2

条件计划是享有团队都必得面临的标题,随着系统更大,信赖的劳动也越扩张,举个例子大家方今的一个档期的顺序就能够用到:

就在两十日前(初步写那一个文章是 9 月 8 号,确实是 2,3 天前,可是写完的时候已是 9 月 25 号了, ),Lumen 宣布了 5.5 版本。傻乎乎的作者就在第有时间把现成运行着 Lumen 5.4 的连串都进级到了 5.5 版本。因为众多事物变化了,晋级历程中冒出了成都百货上千的坑,尤其是第三方的库对于新类其余支撑还百般的糟糕。

group_5622_0

  • Web服务器:Nginx
  • Web程序:PHP Node
  • 数据库:MySQL
  • 搜寻引擎:ElasticSearch
  • 队列服务:Gearman
  • 缓存服务:Redis Memcache
  • 前面一个营造筑工程具:npm bower gulp
  • PHP CLI工具:Composer PHPUnit

唯独明日主要想要探究的不是什么将 Lumen 从 5.4 进级到 5.5,而是介绍如何搭建 Lumen 开辟条件。

那二日翻了翻从前的手艺文书档案,开采成生龙活虎篇值得拿出去和贵宗大吃大喝:如何给豆蔻梢头台全新的Ali云服务器,搭建情形—— 来安插 PHP 项目,Node.js 项目等。

据此团队的付出情状陈设随之暴表露若干主题材料:

事情未发生前 Madison 同学一直烦心于怎么样在 macOS 下搭建基于 PHP 的 Lumen 开垦情况,笔者就随手把布署文件给他了,也远非时间能够解释一下为啥。

让我们初叶吧:

  1. 凭仗服务广大,本地搭建生龙活虎套遇到基金更高,初级职员很难解决情状安插中的一些难题
  2. 劳务的本子差别及OS的差别都大概导致线上情状BUG
  3. 项目引进新的服务时全数人的境遇亟待重新配置

恰好借着此次系统升级的机遇,写篇文章简要介绍下,也总算给 Madison同学三个交代了。

1. 利用 Docker 制作 Centos 服务器
2. 安装 Nginx
3. 安装 PHP 7
4. 安装 composer
5. 安装Node.js
6. 安装 git 和 svn

对于难题1,能够用Vagrant诸有此类的依据设想机的门类来缓和,团队成员共享风流倜傥套开辟碰着镜像。对于难题2,能够引进相近PHPBrew那般的多版本PHP管理工科具来化解。但双边都不能够很好地消弭难点3,因为虚构机镜像未有版本处理的定义,当两人拥戴二个镜像时,非常轻巧现身构造脱漏只怕冲突,叁个相当的大的镜像传输起来也不便于。

安装 Docker

用作二个施用 macOS 的程序员,Homebrew 是必备的,未有的话自身设置吧。

首先安装 Docker 相关的顺序

brew updatebrew install docker docker-machine docker-compose

倘若你未有设置过 VirtualBox 的话,你还索要先安装三个

brew cask install virtualbox

随着制造五个 Docker 设想机,名字用 default 就好,当然你也足以改成你向往的名字

docker-machine create default

接着正是要下载须要的 Docker 镜像了

docker pull tommylau/php:7.1docker pull nginx:1.12-alpinedocker pull mysql:5.7

各自对应大家需求的 MySQLPHPNginx,到这里 Docker 的备选干活正是是成功了。

利用 Docker 制作 Centos 服务器

因为作者自个儿并未Ali云服务器,所以不得已在真正的服务器上搭建情形;但我们得以接纳Docker 来模拟。

第生机勃勃供给叁个 systemd 整合的 Centos 镜像。

Dockerfile 内容如下所示:

FROM daocloud.io/centos:7

MAINTAINER "yemeishu" <yemeishu@126.com>
ENV container docker
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == 
systemd-tmpfiles-setup.service ] || rm -f $i; done); 
rm -f /lib/systemd/system/multi-user.target.wants/*;
rm -f /etc/systemd/system/*.wants/*;
rm -f /lib/systemd/system/local-fs.target.wants/*; 
rm -f /lib/systemd/system/sockets.target.wants/*udev*; 
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; 
rm -f /lib/systemd/system/basic.target.wants/*;
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]

接下来就能够运行容器了,但此处要幸免「运转Docker 使用systemctl报错」的主题素材,施工方案是:挂载 /sys/fs/cgroup 目录到容器的 /sys/fs/cgroup 目录并配置只读权限,但是docker run 命令只好动用-d参数,无法接受-it参数,使用-it参数依旧会卡死。

docker run -d -v /sys/fs/cgroup:/sys/fs/cgroup:ro local/centos7-systemd

参考: https://github.com/docker-library/docs/tree/master/centos

运转容器:

图片 3

当大家运行 vim 想张开编辑有些文件时,挖掘 vim 并不曾设置,那个时候大家能够直接在容器中安装,但为了参考的更加深透,大家再改革改正Dockerfile 文件,让镜录像带上 vim:

FROM daocloud.io/centos:7

MAINTAINER "yemeishu" <yemeishu@126.com>
ENV container docker
RUN yum -y install vim-enhanced

RUN yum -y install vim*

RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == 
systemd-tmpfiles-setup.service ] || rm -f $i; done); 
rm -f /lib/systemd/system/multi-user.target.wants/*;
rm -f /etc/systemd/system/*.wants/*;
rm -f /lib/systemd/system/local-fs.target.wants/*; 
rm -f /lib/systemd/system/sockets.target.wants/*udev*; 
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; 
rm -f /lib/systemd/system/basic.target.wants/*;
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]

制作镜像,生成容器,运维容器,验证 vim 是还是不是安装成功,直接看图:

图片 4

Docker的现身让地点的主题材料有了更加好的解决方案,即使个人对于Docker大范围应用到分娩条件还持稳重态度,但万大器晚成单纯考虑测验及费用,私感觉Docker的容器化观念已是能真的解决遭逢安顿难点的银弹了。

本文由新浦京81707con发布于功能介绍,转载请注明出处:服务器环境,开发环境

关键词: 新浦京81707con 环境 macOS Docker coding01

上一篇:PHP开发api接口安全验证

下一篇:没有了