[Linux] - Docker制作nginx+php
使用Docker制作nginx+php的镜像,这里的镜像是centos + nginx 1.9.7 + php 5.6.14
首先下载到nginx和php:
- nginx-1.9.5.tar.gz 下载:http://nginx.org/en/download.html
- php-5.6.14.tar.gz 下载:http://php.net/downloads.php
以及扩展包so:
- memcache-2.2.4.tgz
- redis的php so包这里下载:https://github.com/nicolasff/phpredis/zipball/master
先安装yum的第三方源:
wget http://www.atomicorp.com/installers/atomic
sh ./atomic
安装步骤
第一步,使用docker centos镜像为基础
第二步,yum安装一大堆需要的包:
yum install -y openssh-clients
yum install -y gcc gcc-c++ kernel-devel
yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel
yum install -y php-mcrypt libmcrypt libmcrypt-devel
yum install -y libxml2 libxml2-devel
yum install -y bzip2 bzip2-devel
yum install -y curl-devel
yum install -y libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64
yum install -y libjpeg-turbo libjpeg-turbo-devel libjpeg-turbo-static libjpeg-turbo-utils
yum install -y libc-client.x86_64
yum install -y uw-imap-devel
yum install -y libxslt-devel
yum install -y zip unzip autoconf
第三步,安装nginx:
./configure --with-http_ssl_module
nginx安装完后,安装目录为:/usr/local/nginx
查看nginx安装哪些模块可以使用命令:
/usr/local/nginx/sbin/nginx -V
第四步,安装php:
./configure --prefix=/usr/local/php --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr/local/libxml --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr/local/libpng --enable-gd-native-ttf --with-openssl --with-fpm-user=www --with-fpm-group=www --with-libdir=lib64 --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --enable-xml --enable-shmop --enable-session --enable-ctype --with-iconv-dir --with-iconv
php安装完后,安装目录为:/usr/local/php
第五步,安装memcache的php扩展:
下载地址:https://pecl.php.net/package/memcache
tar -zvxf memcache-2.2.4.tgz
cd memcache-2.2.4
/usr/local/php/bin/phpize
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config
make && make install
第六步,安装redis的php扩展:
wget https://github.com/nicolasff/phpredis/zipball/master -O php-redis.zip
unzip php-redis.zip
cd php-redis
/usr/local/php/bin/phpize
./configure --enable-redis --with-php-config=/usr/local/php/bin/php-config
make && make install
第七步,安装mongodb的php扩展:
下载地址:https://pecl.php.net/package/mongo
wget https://pecl.php.net/get/mongo-1.6.11.tgz
tar -zvxf mongo-1.6..tgz
cd mongo-1.6.
/usr/local/php/bin/phpize
./configure --enable-mongo--with-php-config=/usr/local/php/bin/php-config
make && make install
第八步,php加入memcache、redis、mongodb扩展支持:
打开/usr/local/php/etc/php.ini,加入扩展:
extension = redis.so
extension = memcache.so
extension = mongo.so
完成。
附:
为减小镜像包的大小,安装完后,使用命令清除安装包:
make clean
yum clean all
更多的php扩展包可以到这里下载:
https://pecl.php.net/packages.php
启动php-fpm命令:
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf
启动nginx命令:
/usr/local/nginx/sbin/nginx
docker启动命令为:
docker run -dt --name nginx-php --privileged=true -v /home/www/nginx_logs:/usr/local/nginx/logs -v /home/www/src:/usr/local/nginx/html -p 80:80 -p 443:443 img-nginx-php
[Linux] - Docker制作nginx+php的更多相关文章
- Docker 制作Nginx镜像
参考文章:https://www.jianshu.com/p/dc4cd0547d1e 镜像的制作方式有两种,一种是下载别人的镜像之后再制作成自己的镜像,一种是从头开始制作自己的镜像 第一种,下载别人 ...
- 制作nginx+php的docker镜像方法
制作nginx+php的docker镜像方法一.准备安装的工具工具:docker-17.06.0-ce.nginx-1.13.2.PHP-5.5.38 .supervisor配置思路:1.安装dock ...
- Linux下自动化部署ASP.NET CORE 3.1(Docker+Jenkins+Nginx)
1.先配置好Docker阿里云加速,可以使用阿里云容器服务 (可自己在阿里云申请,要不然安装东西直接很慢)注意:https://XXXX.mirror.aliyuncs.com为阿里云加速服务分配地址 ...
- Linux +Docker +Nginx 部署代理转发初探
很多开发人员仅仅只会码代码,如果让开发人员部署一些深入点的东西,或者做负载均衡等,很多开发人员估计就懵逼了,作为一个专业的开发还需要懂一些基本的运维知识:虽然说在互联网行业中,中小企业都有一个牛逼的运 ...
- Linux、Docker安装Nginx
Docker安装Nginx #docker images nginx #docker search nginx #docker pull nginx #docker run -it -p 8084:8 ...
- linux小白成长之路12————Docker部署Nginx
[内容指引] Docker安装Nginx: 简单启动: 准备配置文件: 一.Docker安装Nginx 指令:docker pull nginx 二.简单启动 指令:docker run --name ...
- Docker入门教程-Linux环境安装Nginx及入门使用
介绍 Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服 ...
- linux服务器环境部署(三、docker部署nginx)
一.下载nginx镜像 官网地址:https://hub.docker.com/_/nginx #下载镜像 默认为最新版本 docker pull nginx#下载指定版本 docker pull n ...
- Linux使用docker安装Nginx
拉取镜像 docker pull nginx 启动镜像 docker run -d -p 8000:8000 -p 443:443 --name nginx -v /data/nginx/www:/u ...
随机推荐
- 关于最少VC号数目的猜想
[事先说明,实际的虚拟电路的实际物理链路可能同时具有多个VC号,但每段逻辑链路仅有一个VC号,一条完整虚拟路径由多个段组成] 问题描述: 在一个虚拟电路交换网络中,每个路由器的直连链路都有一个独一无二 ...
- xmlrpc实现bugzilla api调用(无会话保持功能,单一接口请求)
xmlrpc实现bugzilla4 xmlrpc api调用(无会话保持功能,单一接口请求),如需会话保持,请参考我的另外一篇随笔(bugzilla4的xmlrpc接口api调用实现分享: xml ...
- UIKit框架之UIGestureRecognizer
---恢复内容开始--- 1.继承链:NSObject 2.UIGestureRecognizer的子类有以下: UITapGestureRecognizer :点击 UIPinchGestureRe ...
- Excel常用操作
[对Excel工作表,按某一列数据进行排序] 选中这些数据,在菜单栏上点"数据 - 排序",在弹出的窗口中的主要关键字里选择这一列,按升序或降序,那么其它的数据也会跟着它一一对应变 ...
- oracle xmltype导入并解析Excel数据 (三)解析Excel数据
包声明 create or replace package PKG_EXCEL_UTILS is -- Author: zkongbai-- Create at: 2016-07-06-- Actio ...
- 硬件初始化,nand flash固化操作,系统启动简单流程
2015.3.27星期五 晴 链接脚本定义代码的排放顺序 硬件系统初始化:一:arm核初始化:(里面有指令)初始化ARM核的时候需要看arm核的手册指令:1.异常向量(最起码有个复位异常,初始化模式- ...
- 基于mongodb的java之增删改查(CRUD)
1,下载驱动https://github.com/mongodb/mongo-java-driver/downloads,导入工程java中 2,建立测试代码 import java.net.Unkn ...
- 2016年5月面试题(Unity&iOS)
NGUI的DrawCall drawcall定义:对底层图形程序(比如:OpenGL ES)接口的调用,以在屏幕上画出东西. List在内存中连续的空间保存 List是线性直接存储类型 mipMap是 ...
- 连接linux数据库Oracle时报错ORA-12541: TNS: 无监听程序
远程服务器的数据库服务未开启,以及监听未打开 连接oracle 启动服务,startup 切换到oracle /bin 目录,cd $ORACLE_HOME/bin 启动监听, lsnrctl sta ...
- js判断类型方法
在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined, Null,Boolean, Number和String:复杂数据类型是Object,Object中 ...