国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

創(chuàng)建一個(gè)運(yùn)行 PHP,NGINX 和 Hip Hop VM(HHVM) 的鏡像

Rainie / 2587人閱讀

摘要:部署一個(gè)應(yīng)用程序的過(guò)程絕對(duì)是一個(gè)噩夢(mèng)般的經(jīng)歷。準(zhǔn)備開(kāi)始,我們創(chuàng)建一個(gè)一個(gè)中包含怎樣創(chuàng)建你想要的鏡像的指令。使用告知使用官方社區(qū)最新版本的可用鏡像。這個(gè)鏡像在的可用版本。

  

注:本文由 Mike Ebinum 編寫,原文地址 Creating a Docker Container to run PHP, NGINX and Hip Hop VM (HHVM)

對(duì)于 Docker,我感到非常的興奮,作為一個(gè)開(kāi)發(fā)人員,在早些時(shí)候,我花費(fèi)了太多的時(shí)間陷入了 .NET 工作中我不喜歡的幾件事情中,如在不同的環(huán)境中部署和測(cè)試。部署一個(gè) web 應(yīng)用程序的過(guò)程絕對(duì)是一個(gè)噩夢(mèng)般的經(jīng)歷。并且甚至在那之后,我遷移到基于 UNIX 平臺(tái)開(kāi)發(fā),然后使用開(kāi)源的工具/語(yǔ)言,如 Node, Java, Scala, PHP 等等,我發(fā)現(xiàn)同樣的部署問(wèn)題一次又一次的發(fā)生。

使用如 Docker 這樣的工具,你可以讓你開(kāi)發(fā)環(huán)境的配置精確的如生產(chǎn)環(huán)境的鏡像一樣。部署一個(gè)你的 web 應(yīng)用程序的容器,任何東西都被配置了,你再也不用太擔(dān)心關(guān)于部署的那些麻煩事。

如果你是一個(gè) Docker 的新手,并且不是十分確定它是什么,以下這些文章能給你一個(gè)完美的學(xué)習(xí)綱要,去吧,讀完它們,我等著。

Docker Lightweight linux containers for consistent development and deployment

Docker: Using Linux Containers to Support Portable Application deployment

作為一個(gè)懶惰的程序員,我的夢(mèng)想成真了,只要做一次,然后你再也不用為它操心了(在一定程度上),無(wú)論如何你都不會(huì)來(lái)到這里對(duì)我咆哮,在這篇文章中,我將向你展示,為你開(kāi)發(fā)環(huán)境基于以下怎樣創(chuàng)建并且運(yùn)行一個(gè) Docker 容器。

CentOS

Nginx web server

PHP with Hip Hop VM (HHVM)

Dockerfile

準(zhǔn)備開(kāi)始,我們創(chuàng)建一個(gè) Dockerfile - 一個(gè) Dockerfile 中包含怎樣創(chuàng)建你想要的鏡像的指令。

FROM    centos:centos6

MAINTAINER Mike Ebinum, hello@seedtech.io
使用 Cent OS 6.x

告知 Docker 使用官方社區(qū)最新版本的 CentOS 6.x 可用鏡像。

更新鏡像

安裝所有最新版本的包更新,并且把 Red Hat EPEL 的倉(cāng)庫(kù)加入可用的倉(cāng)庫(kù)列表。

RUN yum update -y >/dev/null && yum install -y http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm  && curl -L -o /etc/yum.repos.d/hop5.repo "http://www.hop5.in/yum/el6/hop5.repo"
安裝包

安裝 supervisord - 我們將使用這個(gè)配置和控制運(yùn)行在容器中的進(jìn)程 -, nginx, php, 一些 PHP 的開(kāi)發(fā)包以及 Facebook 的 hhvm

RUN yum install -y python-meld3 http://dl.fedoraproject.org/pub/epel/6/i386/supervisor-2.1-8.el6.noarch.rpm

RUN ["yum", "-y", "install", "nginx", "php", "php-mysql", "php-devel", "php-gd", "php-pecl-memcache", "php-pspell", "php-snmp", "php-xmlrpc", "php-xml","hhvm"]
配置 Nginx, HHVM 和 Supervisord

為 nginx 創(chuàng)建目錄,并且把 index.php 文件加入 nginx 來(lái)展現(xiàn)。

RUN mkdir -p /var/www/html && chmod a+r /var/www/html && echo "" > /var/www/html/index.php

下一組指令是:

為 HHVM 添加一個(gè)配置文件,然后重起我們的 HHVM 服務(wù)

為 Supervisord 添加一個(gè)配置文件,然后啟動(dòng) Nginx 和 HHVM

ADD config.hdf /etc/hhvm/config.hdf 

RUN service hhvm restart

ADD nginx.conf /etc/nginx/conf.d/default.conf

ADD supervisord.conf /etc/supervisord.conf

RUN chkconfig supervisord on && chkconfig nginx on

添加一個(gè) shell 腳本 /run.sh,當(dāng) Docker 容器正在運(yùn)行的時(shí)候?qū)?dòng)

run.sh

#!/bin/bash

set -e -x
echo "starting supervisor in foreground"
supervisord -n
 ADD scripts/run.sh /run.sh

 RUN chmod a+x /run.sh 

 EXPOSE 22 80

 ENTRYPOINT ["/run.sh"]

構(gòu)建容器,并且打 tag

docker build -t centos-nginx-php5-hhvm .

現(xiàn)在我們有一個(gè)全功能的容器,我們可以像下面這樣運(yùn)行他:

docker run -d -p 80:80 centos-nginx-php5-hhvm

如果你已經(jīng)有本地的服務(wù)已經(jīng)在運(yùn)行并且占用了 80 端口,你能很容易的的改變?nèi)萜鞯膶?duì)外端口。

這個(gè) Docker 鏡像在 docker registry 的可用版本。

Dockerfile

完整的 Dockerfile 如下

# DOCKER-VERSION 1.0.0

FROM    centos:centos6

MAINTAINER Mike Ebinum, hello@seedtech.io

# Install dependencies for HHVM
# yum update -y >/dev/null && 
RUN yum install -y http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm  && curl -L -o /etc/yum.repos.d/hop5.repo "http://www.hop5.in/yum/el6/hop5.repo"

# Install supervisor
RUN yum install -y python-meld3 http://dl.fedoraproject.org/pub/epel/6/i386/supervisor-2.1-8.el6.noarch.rpm

#install nginx, php, mysql, hhvm
RUN ["yum", "-y", "install", "nginx", "php", "php-mysql", "php-devel", "php-gd", "php-pecl-memcache", "php-pspell", "php-snmp", "php-xmlrpc", "php-xml","hhvm"]

# Create folder for server and add index.php file to for nginx
RUN mkdir -p /var/www/html && chmod a+r /var/www/html && echo "" > /var/www/html/index.php

#Setup hhvm - add config for hhvm
ADD config.hdf /etc/hhvm/config.hdf 

RUN service hhvm restart

# ADD Nginx config
ADD nginx.conf /etc/nginx/conf.d/default.conf

# ADD supervisord config with hhvm setup
ADD supervisord.conf /etc/supervisord.conf

#set to start automatically - supervisord, nginx and mysql
RUN chkconfig supervisord on && chkconfig nginx on

ADD scripts/run.sh /run.sh

RUN chmod a+x /run.sh 


EXPOSE 22 80
#Start supervisord (which will start hhvm), nginx 
ENTRYPOINT ["/run.sh"]

在這篇文章中提到的其他的可用文件在 Github 上。

下一步?

太棒了,我們現(xiàn)在有了一個(gè)環(huán)境配置,但我如何運(yùn)行PHP應(yīng)用程序?好問(wèn)題,我將做后續(xù)的文章說(shuō)明通過(guò)使用這個(gè)容器如何安裝和配置PHP應(yīng)用程序。訂閱這個(gè)博客, 在 twitter 關(guān)注 @mikeebinum 和 @SEEDtechio 來(lái)獲得更新

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/28096.html

相關(guān)文章

  • 創(chuàng)建一個(gè)運(yùn)行 PHPNGINX Hip Hop VM(HHVM) 鏡像

    摘要:部署一個(gè)應(yīng)用程序的過(guò)程絕對(duì)是一個(gè)噩夢(mèng)般的經(jīng)歷。準(zhǔn)備開(kāi)始,我們創(chuàng)建一個(gè)一個(gè)中包含怎樣創(chuàng)建你想要的鏡像的指令。使用告知使用官方社區(qū)最新版本的可用鏡像。這個(gè)鏡像在的可用版本。 注:本文由 Mike Ebinum 編寫,原文地址 Creating a Docker Container to run PHP, NGINX and Hip Hop VM (HHVM) showImg(ht...

    whatsns 評(píng)論0 收藏0
  • PHP 5.6,7.0,7.1,7.2 HHVM 運(yùn)行效率比較

    摘要:測(cè)試運(yùn)行多次并取平均值。文章數(shù)量測(cè)試的基準(zhǔn)測(cè)試基準(zhǔn)測(cè)試結(jié)果基準(zhǔn)測(cè)試結(jié)果基準(zhǔn)測(cè)試結(jié)果基準(zhǔn)測(cè)試結(jié)果基準(zhǔn)測(cè)試結(jié)果基準(zhǔn)測(cè)試結(jié)果不支持再次成為冠軍請(qǐng)注意的運(yùn)行環(huán)境需要或以上。同時(shí),再次不能正常工作并拋出錯(cuò)誤。 showImg(https://segmentfault.com/img/remote/1460000013690286); 我們每年都會(huì)嘗試深入了解不同版本的 PHP 和 HHVM 在各...

    cnTomato 評(píng)論0 收藏0
  • js事件循環(huán)

    摘要:但是事件循環(huán)一般會(huì)在主線程中任務(wù)執(zhí)行完成之后執(zhí)行。所以,上面函數(shù)的調(diào)用棧過(guò)程如下總結(jié)的事件循環(huán)部分,內(nèi)容應(yīng)該算是全部闡述完全了。 前言 還記得那些年面試官問(wèn)你的定時(shí)器的原理嗎?還有呢?Promise的原理呢?原理、原理、原理,問(wèn)的我們懷疑人生。 為了下次不再懵逼,今天,我們來(lái)了解一下Event Loop的概念。我們的初衷是真正的了解和掌握它,了解整體JavaScript的運(yùn)行機(jī)制。至少...

    android_c 評(píng)論0 收藏0
  • 如何在騰訊云快速構(gòu)建一個(gè)Wordpress個(gè)人站點(diǎn)

    摘要:創(chuàng)建完成后,執(zhí)行重新加載配置文件創(chuàng)建數(shù)據(jù)庫(kù)在騰訊云的數(shù)據(jù)庫(kù)管理頁(yè)點(diǎn)擊登錄,進(jìn)入到管理控制的頁(yè)面用你初始化時(shí)設(shè)置的密碼登錄。 推薦理由: 再小的的個(gè)體也有自己的品牌;再小的個(gè)體也有自己的網(wǎng)站。對(duì)于像我這樣的小白來(lái)說(shuō),能搭建一個(gè)屬于自己的網(wǎng)站,那是一件多么牛逼的事,呵呵噠!至少我覺(jué)得是這樣;這次逛騰訊云技術(shù)論壇時(shí)看到這篇文章,我覺(jué)得對(duì)于像我這樣的小白用戶,覺(jué)得是一篇非常不錯(cuò)的教程,所以在此...

    VEIGHTZ 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<