dockerfile 安装启动nginx+php

dockerfile脚本

FROM centos:latest
MAINTAINER https://blog.csdn.net/lituxiu
ENV TIME_ZOME Asia/Shanghai
ARG WJ="nginx-1.15.7"
#wget http://nginx.org/download/nginx-1.15.7.tar.gz
 
#COPY nginx.conf /usr/local/nginx/
ADD $WJ.tar.gz /tmp
RUN yum -y install gcc gcc-c++ make openssl-devel pcre-devel zlib-devel \
        && useradd -s /sbin/nologin nginx  \    #创建nginx用户关联nginx和php-fpm程序 
        && mkdir -p /usr/local/nginx \
        && cd /tmp/$WJ \
        && ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-stream --with-http_ssl_module --with-http_stub_status_module \
        && make -j 4 \
        && make install \
        && echo "${TIME_ZOME}" > /etc/timezone \
        && ln -sf /usr/share/zoneinfo/${TIME_ZOME} /etc/localtime \
        && rm -rf /tmp/nginx* \
        && ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx  \
 
        #php是直接用第三方yum源epel安装的,指定安装7.2版本
        && yum install -y epel-release  \
        && rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm \
        && yum -y install yum-utils  \
        && yum-config-manager --enable remi-php72  \
        && yum -y install php php72-php-opcache  php72-php-ldap php72-php-odbc php72-php-pear php72-php-xml php72-php-xmlrpc php72-php-soap curl curl-devel  php72-php-mbstring php72-php-mysqlnd  php72-php-fpm  php72-php-gd \
        && sed -i "s/apache/nginx/g"  /etc/opt/remi/php72/php-fpm.d/www.conf \  
#把php-fpm的www.conf配置里的user和group都nginx
        && yum clean all \
        && yum -y remove gcc gcc-c++ make \
        && chmod -R 777 /var/opt/remi/php72/lib/php/session/  
#设置权限php的session目录权限,否则跑项目里,会提示"Permission denied"
  
 
WORKDIR /usr/local/nginx/
EXPOSE 80
CMD /opt/remi/php72/root/sbin/php-fpm  && nginx -g "daemon off;"   
 
#上一行CMD同时启动php-fpm服务,不过最后一个服务一定要前台运行,要不创建的镜像后台会启动不起来(docker容器运行的原理)
上一篇:MPV源码探究:背景及准备工作


下一篇:【MPV专题】二:MPV首上由全球不动产支撑的区块链资产