Skip to content

Instantly share code, notes, and snippets.

@Swahjak
Last active November 9, 2017 16:13
Show Gist options
  • Save Swahjak/e6d195da4d6ce6701f0abf3dd9f54c07 to your computer and use it in GitHub Desktop.
Save Swahjak/e6d195da4d6ce6701f0abf3dd9f54c07 to your computer and use it in GitHub Desktop.
Amazon AMI - PHP, NGIXN, Symfony
user www-data;
worker_processes 4;
pid /var/run/nginx.pid;
events {
worker_connections 2048;
multi_accept on;
use epoll;
}
http {
server_tokens off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 15;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log off;
error_log off;
gzip on;
gzip_disable "msie6";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/symfony.d/*.conf;
open_file_cache max=100;
}
[PHP]
date.timezone = Europe/Amsterdam
short_open_tag = off
max_execution_time = 300
max_input_time = 60
memory_limit = 256M
file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
post_max_size = 8M
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = On
html_errors = On
realpath_cache_size = 4096k
realpath_cache_ttl = 7200
[Opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=192
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=8000
opcache.max_wasted_percentage=5
opcache.use_cwd=0
opcache.revalidate_freq=0
opcache.validate_timestamps=1
opcache.fast_shutdown=1
[www]
listen = /var/run/php-fpm/php7.1-fpm.sock
listen.owner = www-data
listen.group = www-data
user = www-data
group = www-data
pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
catch_workers_output = yes
php_value[php_post_max_size] = 20M
php_value[upload_max_filesize] = 20M
server {
server_name *.amazonaws.com;
root /var/www/symfony/web;
location / {
# try to serve file directly, fallback to app.php
try_files $uri /app.php$is_args$args;
}
# PROD
location ~ ^/app\.php(/|$) {
fastcgi_pass unix:/var/run/php-fpm/php7.1-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
# When you are using symlinks to link the document root to the
# current version of your application, you should pass the real
# application path instead of the path to the symlink to PHP
# FPM.
# Otherwise, PHP's OPcache may not properly detect changes to
# your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
# for more information).
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
# Prevents URIs that include the front controller. This will 404:
# http://domain.tld/app.php/some-path
# Remove the internal directive to allow URIs like this
internal;
}
# return 404 for all other php files not matching the front controller
# this prevents access to other php files you don't want to be accessible.
location ~ \.php$ {
return 404;
}
error_log /var/log/nginx/project_error.log;
access_log /var/log/nginx/project_access.log;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment