Веб-сайт снижается и не может войти в систему через SSH / Шпаклевка на Ubuntu 14.04 x64 Digitalocean

У меня есть веб-сайт Magento на degitalocean.com, и я не могу войти в систему через SSH или SFTP. Почти каждый альтернативный день я сталкиваюсь с этой проблемой и я должен перезапустить свою капельку с помощью учетной записи digitalocean для создания работы веб-сайта. Несколько дней назад это давало ошибку возможности соединения MySQL, которую я разрешил путем увеличения RAM капельки до 2 ГБ и путем создания Файла подкачки.

Кто-либо может предложить решение для этой проблемы? Также сообщите мне, хотите ли Вы видеть какие-либо файлы кода.


Я добавил немного строк из error.log, посмотрите, может ли это быть справкой

 150808 10:18:38 [Note] Plugin 'FEDERATED' is disabled.
 150808 10:18:38 InnoDB: The InnoDB memory heap is disabled
 150808 10:18:38 InnoDB: Mutexes and rw_locks use GCC atomic builtins
 150808 10:18:38 InnoDB: Compressed tables use zlib 1.2.8
 150808 10:18:38 InnoDB: Using Linux native AIO
 150808 10:18:38 InnoDB: Initializing buffer pool, size = 128.0M
150808 10:18:38 InnoDB: Completed initialization of buffer pool
150808 10:18:47 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
150808 10:18:47  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
150808 10:18:49  InnoDB: Waiting for the background threads to start
150808 10:18:50 InnoDB: 5.5.38 started; log sequence number 976719446
150808 10:18:50 [Note] Server hostname (bind-address): '178.**.42.108'; port: 3306
150808 10:18:50 [Note]   - '178.**.42.108' resolves to '178.**.42.108';
150808 10:18:50 [Note] Server socket created on IP: '178.**.42.108'.
150808 10:19:01 [Note] Event Scheduler: Loaded 0 events
150808 10:19:01 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.5.38-0ubuntu0.14.04.1'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)
150808 10:21:00 [Warning] IP address '221.211.62.106' could not be resolved: Name or service not known
150808 11:17:09 [Warning] IP address '115.238.245.12' could not be resolved: Name or service not known

My.cnf

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port        = 3306
socket      = /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket      = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld]
#
# * Basic Settings
#
user        = mysql
performance_schema             = off
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir      = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address        = 127.0.0.1
#
# * Fine Tuning
#
key_buffer      = 32M
max_allowed_packet  = 16M
thread_stack        = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options  = BACKUP
#max_connections        = 100
#table_cache            = 128
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit   = 1M
query_cache_size        = 32M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#log_slow_queries   = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id      = 1
#log_bin            = /var/log/mysql/mysql-bin.log
expire_logs_days    = 10
max_binlog_size         = 100M
#binlog_do_db       = include_database_name
#binlog_ignore_db   = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem



[mysqldump]
quick
quote-names
max_allowed_packet  = 256M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
socket      = /var/run/mysqld/mysqld.sock

[isamchk]
key_buffer      = 256M

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
-2
задан 10 August 2015 в 13:18
2 ответа

Digital Ocean обеспечивает доступ к консоли с панели управления. Используйте это для входа в систему, когда система не работает, и сбора информации, когда у вас есть информация, используйте ее, чтобы решить, что делать. Все остальное является предположением, и с учетом информации, которую вы предоставили, я полагаю, что метеорный поток Персеид.


Если ваш подход будет структурированным и методичным, это намного лучше, чем дико колебаться.

Лично я считаю научным методом ( другие называют его чем-то другим ) замечательным инструментом, который можно вытащить из сумки системного администрирования при диагностике проблем.

  1. Какую реальную проблему вы пытаетесь решить?

Служба перестает отвечать.

  1. Итак, теперь мы знаем, какую реальную проблему решаем, и у нас есть направление. Давайте соберем некоторую информацию, которая поможет нам найти решение.

    • Связана ли проблема со временем? Происходит ли это регулярно или случайным образом.
    • Проверяйте свои журналы, все журналы, а не только журналы определенных служб, поскольку что-то еще может быть причиной проблемы. Записи в журнале обычно имеют временные метки, это помогает вам коррелировать события между несколькими приложениями и службами - используйте их. Если необходимо, увеличьте уровень детализации журнала.
    • Наблюдайте, что делает ваша система. Используйте такие инструменты, как top, vmstat, iostat, sar, ps, tcpdump или даже полноценные системы мониторинга .

  2. Проанализируйте собранную вами информацию. Что на самом деле происходит в системе, когда служба перестает отвечать? Каково состояние ресурсов системы?

  3. Примите соответствующие меры для исправления ситуации. Надеюсь, что происходит, довольно очевидно, у вас заканчивается память и выходит OOM killer, ваша активность подкачки слишком высока, ваша очередь выполнения слишком длинна, вы привязаны и т. Д. Если это не очевидно, то вы ' Возможно, вы не собираете правильные данные - вы знаете, что делать, вернитесь к 2.

  4. Следите за тем, что делают изменения, внесенные на 4.

  5. Устранены ли эти изменения? Это лучше? Это хуже? Нет разницы? Куда вы пойдете отсюда, зависит от того, что вы найдете. Возможно, вам придется вернуться к 2. и собрать более подходящие данные или 3. повторно проанализировать, какие данные у вас есть, или 4. потому что вы определили ряд потенциальных решений.

  6. Задокументируйте свои выводы и внесенные вами изменения.

  7. Вернитесь в постель / домой с работы / в паб.

4
ответ дан 5 December 2019 в 21:08

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

Похоже, что демон SSH останавливается, так что садитесь в ящик с консольным доступом через панель управления вашего хоста (если они не предоставляют консольный доступ , затем переместите хост) и перезапустите службу. Теперь просмотрите журналы, отслеживайте производительность системы с помощью таких инструментов, как top или iotop, и попытайтесь выяснить, что происходит с ящиком прямо перед тем, как SSH умирает.

Важно, чтобы вы документировали все сделанные вами изменения и то, что вы в конечном итоге сделали для исправления это.

Том

0
ответ дан 5 December 2019 в 21:08

Теги

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