利用Docker制作Nginx+PHP鏡像的步驟詳解
前言
這篇文章給大家介紹的是使用Docker制作nginx+php的鏡像,本文里的鏡像是centos + nginx 1.9.7 + php 5.6.14,下面話不多說(shuō),直接看實(shí)現(xiàn)的步驟吧。
1、首先下載到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
2、以及擴(kuò)展包so:
memcache-2.2.4.tgz
redis的php so包這里下載:>https://github.com/nicolasff/phpredis/zipball/master
3、先安裝yum的第三方源:
wget http://www.atomicorp.com/installers/atomic sh ./atomic
安裝步驟
第一步,使用docker centos鏡像為基礎(chǔ)
第二步,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擴(kuò)展:
下載地址:>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擴(kuò)展:
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擴(kuò)展:
下載地址:>https://pecl.php.net/package/mongo
wget https://pecl.php.net/get/mongo-1.6.11.tgz tar -zvxf mongo-1.6.11.tgz cd mongo-1.6.11 /usr/local/php/bin/phpize ./configure --enable-mongo--with-php-config=/usr/local/php/bin/php-config make && make install
第八步,php加入memcache、redis、mongodb擴(kuò)展支持:
打開(kāi)/usr/local/php/etc/php.ini,加入擴(kuò)展:
extension = redis.so extension = memcache.so extension = mongo.so
完成。
附:
為減小鏡像包的大小,安裝完后,使用命令清除安裝包:
make clean yum clean all
更多的php擴(kuò)展包可以到這里下載:
>https://pecl.php.net/packages.php
啟動(dòng)php-fpm命令:
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf
啟動(dòng)nginx命令:
/usr/local/nginx/sbin/nginx
docker啟動(dòng)命令為:
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
總結(jié)
以上就是利用Docker制作Nginx+PHP鏡像的全部步驟,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作帶來(lái)一定的參考借鑒價(jià)值,如果有疑問(wèn)大家可以留言交流。
相關(guān)文章
搭建docker內(nèi)網(wǎng)私服的方法(docker-registry with nginx&ssl on centos)
這篇文章主要介紹了搭建docker內(nèi)網(wǎng)私服的方法(docker-registry with nginx&ssl on centos),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05Docker 實(shí)現(xiàn)瀏覽器里開(kāi)發(fā)Android應(yīng)用的功能
這篇文章主要介紹了Docker 實(shí)現(xiàn)瀏覽器里開(kāi)發(fā)Android應(yīng)用的功能的相關(guān)資料,這里對(duì)布置環(huán)境做了詳細(xì)的步驟,也許你能用到這樣的功能,需要的朋友可以參考下2016-11-11使用 kind 和 Docker 啟動(dòng)本地的 Kubernetes環(huán)境
這篇文章主要介紹了使用 kind 和 Docker 啟動(dòng)本地的 Kubernetes環(huán)境,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05Docker系列compose?ymal文件解析學(xué)習(xí)
這篇文章主要介紹了Docker系列之compose?ymal文件解析學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10Docker啟動(dòng)參數(shù)超詳細(xì)講解
在啟動(dòng)Docker容器時(shí),我們可以通過(guò)添加參數(shù)來(lái)修改容器的配置,這樣可以靈活地適應(yīng)不同的場(chǎng)景和需求,這篇文章主要給大家介紹了關(guān)于Docker啟動(dòng)參數(shù)的相關(guān)資料,需要的朋友可以參考下2024-01-01