php - 在 Beanstalk 中为 php/symfony 站点配置 apache MPM

标签 php apache amazon-web-services amazon-elastic-beanstalk

我正在使用 AWS beanstalk 托管 php/symphony 应用程序。 我想根据机器大小正确配置 apache,目前为 t2.small,即。 1 核,2 GB RAM,非常小。

apachectl -V 给我这个:

Server version: Apache/2.4.16 (Amazon)
Server built:   Aug 13 2015 23:52:13
Server's Module Magic Number: 20120211:47
Server loaded:  APR 1.5.0, APR-UTIL 1.4.1
Compiled using: APR 1.5.0, APR-UTIL 1.4.1
Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
  forked:     yes (variable process count)

来自 this doc ,我至少需要在 MPM/prefork 中根据可用 RAM 配置 MaxRequestWorkers。

在 beantalk 中配置它的正确方法是什么?我猜是通过 .ebextensions 吗?怎么样?

最佳答案

我正在为此使用 .ebextensions

这是我的 .ebextensions/apache.config 设置的一部分,根据您的实例容量和项目需求进行相应调整

files:
  "/etc/httpd/conf.modules.d/00-mpm.conf":
      mode: "000644"
      owner: root
      group: root
      content: |
        LoadModule mpm_worker_module modules/mod_mpm_worker.so
        ServerLimit         512
        StartServers        100
        MaxRequestWorkers   256
        MinSpareThreads     100
        MaxSpareThreads     300
        ThreadsPerChild     25

这是我的 .ebextensions/php.config 优化/设置的一部分,根据您的实例容量进行相应调整

files:
  "/etc/php.d/52-fscache.ini":
      mode: "000755"
      owner: root
      group: root
      content: |
        [PHP]
        realpath_cache_size = 128M
        realpath_cache_ttl = 120

  "/etc/php-5.6.d/10-opcache.ini":
      mode: "00644"
      content: |
        zend_extension=opcache.so
        opcache.enable=1
        opcache.memory_consumption=256
        opcache.interned_strings_buffer=32
        opcache.max_accelerated_files=100000
        ;opcache.max_wasted_percentage=5
        opcache.use_cwd=0
        opcache.revalidate_freq=0
        opcache.revalidate_path=0
        opcache.blacklist_filename=/etc/php-5.6.d/opcache*.blacklist
        opcache.consistency_checks=0


  "/etc/php.d/51-upload.ini":
      mode: "000644"
      content: |
        post_max_size = 100M
        upload_max_filesize = 10M

  "/etc/php-fpm-5.6.d/www.conf":
      mode: "000644"
      content: |
        [www]
        user = webapp
        group = webapp
        listen = 127.0.0.1:9000
        listen.allowed_clients = 127.0.0.1
        ;process.priority = -15
        pm = static
        pm.max_children = 30
        pm.max_requests = 500
        php_admin_value[error_log] = /var/log/php-fpm/5.6/www-error.log

关于php - 在 Beanstalk 中为 php/symfony 站点配置 apache MPM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34911639/

相关文章:

python - 从 Linux 调用 Windows 中的 exe

php - 合并两个带有数字键的数组作为关联数组的值以插入MySQL中的多行

php - 如何根据凭证号显示分录

python - 仅在我的两个相同网站之一上出现导入错误

java - Apache Builder - 将工件提取到项目根目录

amazon-web-services - AWS ELB -> 带有自签名证书的 HTTPS 后端服务器

amazon-web-services - 有没有办法通过对 API 网关的 POST 调用向 SQS 发送消息属性?

amazon-web-services - 在AWS API Gateway中-如何为测试调用阶段设置阶段变量?

php - 最佳实践 : Where to Add Email Error Logging in a Laravel 5 App

php - Laravel 中间件不存储 session 值