php-fpm wydaje się banglać, do nowych wyzwań!

master
Michał 'rysiek' Woźniak 2015-01-05 00:55:21 +01:00
parent e688050fb6
commit b951c5988f
4 changed files with 57 additions and 25 deletions

View File

@ -18,27 +18,11 @@ ENV APP_NAME www
ENV APP_USER www-data
ENV APP_GROUP www-data
# Create directory for the application.
#RUN mkdir -p /opt/applications
# log and run
RUN mkdir -p /var/log/php-fpm && chown $APP_USER:$APP_GROUP /var/log/php-fpm
RUN mkdir -p /var/run/php-fpm && chown $APP_USER:$APP_GROUP /var/run/php-fpm
# php.ini customizations.
RUN sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 10M/g" /etc/php5/fpm/php.ini
RUN sed -i "s/post_max_size = 8M/post_max_size = 10M/g" /etc/php5/fpm/php.ini
# PHP-FPM pool configuration.
RUN rm /etc/php5/fpm/pool.d/www.conf
# default pool config file
ADD pool.conf /etc/php5/fpm/pool.d/pool.conf
RUN mv /etc/php5/fpm/pool.d/pool.conf /etc/php5/fpm/pool.d/$APP_NAME.conf
RUN sed -i "s/pool_name/$APP_NAME/g" /etc/php5/fpm/pool.d/$APP_NAME.conf && \
sed -i "s/app_user/$APP_USER/g" /etc/php5/fpm/pool.d/$APP_NAME.conf && \
sed -i "s/app_group/$APP_GROUP/g" /etc/php5/fpm/pool.d/$APP_NAME.conf
# Change the default error log location.
RUN sed -i "s@error_log = /var/log/php5-fpm.log@error_log = /var/log/php-fpm/$APP_NAME-php-fpm5.access.log@g" /etc/php5/fpm/php-fpm.conf
# startup wrapper
ADD start.sh /var/lib/php5/start
# info
RUN echo " \n\
@ -56,5 +40,5 @@ RUN echo " \n\
VOLUME ["/var/run/php-fpm", "/var/log/php-fpm", "/opt/php"]
CMD []
ENTRYPOINT ["/usr/sbin/php5-fpm", "-F", "--fpm-config", "/etc/php5/fpm/php-fpm.conf"]
CMD ["/var/lib/php5/start"]
ENTRYPOINT ["/bin/bash"]

View File

@ -11,7 +11,7 @@ group = app_group
chdir = /
; The address on which to accept FastCGI requests.
listen = /var/run/phpfpm/$pool-php5-fpm.sock
listen = /var/run/php-fpm/$pool-php5-fpm.sock
; Set listen(2) backlog. A value of '-1' means unlimited.
listen.backlog = -1
@ -34,13 +34,13 @@ pm.status_path = /status
ping.path = /ping
; The access log file.
access.log = /var/log/phpfpm/$pool-php-fpm5.access.log
access.log = /var/log/php-fpm/$pool-php-fpm5.access.log
; The access log format.
access.format = "%R - %u %t %m %r%Q%q %s %f %{mili}d %{kilo}M %C%%"
; The log file for slow requests.
slowlog = /var/log/phpfpm/$pool-php5-fpm.log.slow
slowlog = /var/log/php-fpm/$pool-php5-fpm.log.slow
; The timeout for serving a single request after which a PHP backtrace will be
; dumped to the 'slowlog' file. A value of '0s' means 'off'.

38
images/php-fpm/start.sh Normal file
View File

@ -0,0 +1,38 @@
#!/bin/bash
# we need root
if [[ `whoami` != "root" ]]; then
echo "we need root, and we are: $( whoami ); exiting!.."
exit 1
fi
# sanity check
if [[ "$APP_NAME" == "" || "$APP_USER" == "" || "$APP_GROUP" == "" ]]; then
echo '$APP_NAME, $APP_USER or $APP_GROUP are not set'
exit 2
fi
# info
echo "\$APP_NAME :: $APP_NAME"
echo "\$APP_USER :: $APP_USER"
echo "\$APP_GROUP :: $APP_GROUP"
# log and run
mkdir -p /var/log/php-fpm && chown $APP_USER:$APP_GROUP /var/log/php-fpm
mkdir -p /var/run/php-fpm && chown $APP_USER:$APP_GROUP /var/run/php-fpm
# php.ini customizations.
sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 10M/g" /etc/php5/fpm/php.ini
sed -i "s/post_max_size = 8M/post_max_size = 10M/g" /etc/php5/fpm/php.ini
# PHP-FPM pool configuration.
mv /etc/php5/fpm/pool.d/pool.conf /etc/php5/fpm/pool.d/$APP_NAME.conf
sed -i "s/pool_name/$APP_NAME/g" /etc/php5/fpm/pool.d/$APP_NAME.conf
sed -i "s/app_user/$APP_USER/g" /etc/php5/fpm/pool.d/$APP_NAME.conf
sed -i "s/app_group/$APP_GROUP/g" /etc/php5/fpm/pool.d/$APP_NAME.conf
# Change the default error log location.
sed -i "s@error_log = /var/log/php5-fpm.log@error_log = /var/log/php-fpm/$APP_NAME-php-fpm5.access.log@g" /etc/php5/fpm/php-fpm.conf
# let's run the darn thing
/usr/sbin/php5-fpm -F --fpm-config /etc/php5/fpm/php-fpm.conf

View File

@ -60,7 +60,7 @@ sudo mkdir "$static_data_dir/data/php-fpm/ldapadmin"
# configs if needed
if [ ! -e "$static_data_dir/configs" ]; then
sudo mv static_data/configs "$static_data_dir/configs"
sudo cp -a static_data/configs "$static_data_dir/configs"
fi
# uprawnienia
@ -92,6 +92,12 @@ cnt_phpfpm_pgadmin="$prefix-php-fpm.pgadmin"
cnt_phpfpm_ldapadmin="$prefix-php-fpm.ldapadmin"
#
# czyścimy
#
docker kill $cnt_postgres $cnt_nginx_public $cnt_nginx_internal $cnt_phpfpm_frontend $cnt_phpfpm_rest $cnt_phpfpm_pgadmin $cnt_phpfpm_ldapadmin
docker rm -v $cnt_postgres $cnt_nginx_public $cnt_nginx_internal $cnt_phpfpm_frontend $cnt_phpfpm_rest $cnt_phpfpm_pgadmin $cnt_phpfpm_ldapadmin
#
# odpalamy kolejno dockery
#
@ -121,23 +127,27 @@ docker run -d \
docker run -d \
-v "$static_data_dir/logs/php-fpm/":/var/log/php-fpm \
-v "$static_data_dir/run/php-fpm/":/var/run/php-fpm \
-e "APP_NAME=frontend" \
--name $cnt_phpfpm_frontend \
$img_phpfpm
# - rest
docker run -d \
-v "$static_data_dir/logs/php-fpm/":/var/log/php-fpm \
-v "$static_data_dir/run/php-fpm/":/var/run/php-fpm \
-e "APP_NAME=rest" \
--name $cnt_phpfpm_rest \
$img_phpfpm
# - pgadmin
docker run -d \
-v "$static_data_dir/logs/php-fpm/":/var/log/php-fpm \
-v "$static_data_dir/run/php-fpm/":/var/run/php-fpm \
-e "APP_NAME=pgadmin" \
--name $cnt_phpfpm_pgadmin \
$img_phpfpm
# - ldapadmin
#docker run -d \
# -v "$static_data_dir/logs/php-fpm/":/var/log/php-fpm \
# -v "$static_data_dir/run/php-fpm/":/var/run/php-fpm \
# -e "APP_NAME=ldapadmin" \
# --name $cnt_phpfpm_ldapadmin \
# $img_phpfpm