Обновление WordPress 3.6 к 3,7 через администраторскую область на Nginx VPS зависает и перестало работать

Я не знаю хинду, перевозку или специфические особенности неспециалиста, и я не вижу существующих модулей в марионеточном штамповочном прессе модуля, но от беглого взгляда на некоторую хинду документацию неспециалиста похоже, что это было бы довольно просто для записи этого самостоятельно с Марионеткой:

stage { "first": before => Stage[main] } # Set up first stage, before main

class layman { # "overlays"?
  package { "layman": ensure => present }
  # Then everything else (file, execs, whatever) to configure layman,
  # overlays, etc
  # Looks to me like you need to change /etc/make.conf, /etc/layman/layman.cfg
  # and write some execs that run "layman -a "
  # depending on output of "layman -i "
  # or possibly grepping /var/lib/layman/overlays.xmls
}

class{"layman": stage => "first"} # Set layman class to run in the first stage

Вместо того, чтобы использовать этапы Вы могли вместо этого иметь require => Class[layman] на весь package операторы, которым нужен он. Используя требуют, является более подробным; я использовал бы его, если бы мне только были нужны несколько вещей, или если я требовал определенного наложения. Я полагаю, что необходимо обычно избегать использования, требует, чтобы крест подготовил границы, однако, поскольку это и избыточно и вероятно щекотать странные ошибки.

Альтернатива, в зависимости от того, в чем Вы нуждаетесь, избегает этапов и только делает явный, требуют упорядочивания. Я действительно наполняю как это RHEL и конфеткой repos:

# In a "layman" module.
class layman {
  [...]
}

define layman::overlay() {
  exec {
    "layman -a $name":
      require => Class[layman],
      creates => "/var/lib/layman/${name}",
  }
}

class layman::overlay::php {
  layman::overlay { "php": }
}

class layman::overlay::apache2 {
  layman::overlay { "apache2": }
}

class apache {
  include layman::overlay::apache2
  package { "apache2":
    ensure => present,
    require => Class[layman::overlay::apache2];
  }
  file { "/etc/apache2/conf.d/whatever.conf":
    source => "...",
    require => Package[apache2],
    notify => Service[apache2];
  }
  service { "apache2":
    ensure => running,
    enable => true,
    require => [ Package[apache2], File["/etc/apache2/conf.d/whatever.conf"] ];
  }

}

# "yoursite" module or "somephpapp" module
class yoursite::somephpapp {
  include apache
  include layman::overlay::php
  package { "somephpapp":
    ensure => present,
    require => [ Class[apache], Class[layman::overlay::php] ];
  }
  file {
    "/path/to/somephpapp.conf":
      source => "...",
      require => Package[somephpapp],
      notify => Service[apache2]; # probably not actually required, example
  }
}

0
задан 30 October 2013 в 11:26
2 ответа

Обновление WordPress - медленный процесс.

Добавьте

request_terminate_timeout = 300s

в ваш www.conf

You необходимо увеличить время ожидания чтения fastcgi в файле vhost nginx

fastcgi_read_timeout 300s

Также проверьте время выполнения в php ini или переопределите его в www.conf для php-fpm

php_admin_value[execution_time] = 300
0
ответ дан 24 November 2019 в 10:24

Две вещи, которые вы хотели бы проверить с обновлениями WP по моему опыту.

  • проблемы с сетью, выполните netstat на сервере, чтобы увидеть, есть ли какие-то подключения от обновляемого php-процесса и внешнего сервера. некоторые серверы медленнее других.
  • ограниченное количество рабочих php-fpm, я видел обновления WP, вызывающие себя через HTTP, поэтому он блокируется все доступные рабочие.

try:

  • php-fpm's slowlog
  • больший тайм-аут nginx на fastcgi
  • strace - лучшая вещь после nutella. используйте его.
0
ответ дан 24 November 2019 в 10:24

Теги

Похожие вопросы