#ruby-on-rails #nginx #aws-opsworks
#ruby-on-rails #nginx #aws-opsworks
Вопрос:
После нескольких дней тестирования Serval для развертывания моего проекта ROR на AWS EC2. Rubber, eb, наконец-то я решил использовать OPSWORKS из-за видео в youtube. Но развертывание все еще сложно.
- Хорошо, мой вопрос: как отлаживать Ruby On Rails на AWS OpsWorks?
Я знаю
- В веб-консоли мы можем получить журнал развертывания.
- Через ssh мы можем получить [apptest].access.log, error.log, access .войдите в систему по пути /var/log/nginx/ (я тестирую с nginx и Unicorn)
Но все, что ниже, — это журнал о развертывании и несколько журналов / информации о веб-сайте access. Например:(test.access.log)
133.255.255.124 - - [25/Jun/2014:15:10:03 0000] "GET / HTTP/1.1" 500 5 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.76.4 (KHTML, like Gecko) Version/7.0.4 Safari/537.76.4"
133.255.255.124 - - [25/Jun/2014:15:10:19 0000] "GET / HTTP/1.1" 500 5 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.76.4 (KHTML, like Gecko) Version/7.0.4 Safari/537.76.4"
пока я получил 500. где я могу найти подробную информацию об этой информации?
Вот ошибка.войдите в nginx
1. 2014/06/25 13:35:59 [emerg] 5502#0: still could not bind()
2. 2014/06/25 15:23:06 [crit] 11593#0: *2 connect() to
unix:/srv/www/test/shared/sockets/unicorn.sock failed (2: No such
file or directory) while connecting to upstream, client:
133.255.255.124, server: test, request: "GET / HTTP/1.1", upstream: "http://unix:/srv/www/test/shared/sockets/unicorn.sock:/", host:
"55.218.118.37"
вы можете найти во время возврата 500, информация об ошибке.log бесполезна и доступ.в журнале нечего показывать.
- Где я могу получить подробную информацию об отладке при посещении тестового веб-сайта, например, tomcat server Большое спасибо.
Вот что-то в unicorn.stderr.log и в production.войдите в unicorn.стандартный вывод.журнал ничего не показывает. даже я установил config.log_level = :debug
в production.rb и перезапустил веб-сервер.
I, [2014-06-25T23:45:18.172877 #6436] INFO -- : executing ["/home/deploy/.bundler/test/ruby/2.0.0/bin/unicorn_rails", "--env", "production", "--daemonize", "-c", "/srv/www/test/shared/config/unicorn.conf", {10=>#<Kgio::UNIXServer:fd 10>}] (in /srv/www/test/releases/20140625234506)
I, [2014-06-25T23:45:19.196006 #6436] INFO -- : inherited addr=/srv/www/test/shared/sockets/unicorn.sock fd=10
I, [2014-06-25T23:45:19.196505 #6436] INFO -- : Refreshing Gem list
I, [2014-06-25T23:45:23.769647 #6449] INFO -- : worker=0 ready
I, [2014-06-25T23:45:23.811102 #6436] INFO -- : master process ready
I, [2014-06-25T23:45:23.848092 #6452] INFO -- : worker=1 ready
I, [2014-06-25T23:45:24.129596 #5830] INFO -- : reaped #<Process::Status: pid 5852 exit 0> worker=0
I, [2014-06-25T23:45:24.129878 #5830] INFO -- : reaped #<Process::Status: pid 5855 exit 0> worker=1
I, [2014-06-25T23:45:24.129967 #5830] INFO -- : master complete
Ответ №1:
После входа в систему вам нужно будет сделать что-то вроде следующего :
sudo su deploy
cd /srv/www/#{application_name}/shared/log/
Файлы хранятся в :
/srv/www/#{application_name}/shared/log
➜ log ls -lsh *.log
32K -rw-r--r-- 1 deploy www-data 32K Jun 25 20:45 cron-error.log
4.0K -rw-r--r-- 1 deploy www-data 1.6K Jun 25 20:30 cron.log
192K -rw-r--r-- 1 deploy www-data 188K Jun 25 20:45 newrelic_agent.log
48M -rw-r--r-- 1 deploy www-data 47M Jun 25 20:55 staging.log
0 -rw-r--r-- 1 deploy www-data 0 Jun 24 06:46 unicorn.stderr.log
4.0K -rw-r--r-- 1 deploy www-data 3.1K Jun 25 08:49 unicorn.stdout.log
ПРИМЕЧАНИЕ: #{application_name} — это любой ваш короткий код для приложения.
Комментарии:
1. В моем каталоге (shared / log) есть 3 production. войти unicorn.stderr.войти unicorn.stdout.log
2. вы выполнили развертывание после внесения изменений?
3. Да, но все равно не работает. Я новичок в ruby и rails. может быть, это слишком сложно начать!
4. Перезапустите веб-сервер и перезагрузите компьютер, если это необходимо
5. По какой-то причине при моем развертывании приложения Rails в Opsworks, несмотря на правильную конфигурацию Unicorn, он регистрирует все действия Rails в unicorn.stderr.log (включая access), поэтому production . журнал и unicorn.стандартный вывод. журнал пуст. Проверьте unicorn.stderr.log, чтобы узнать, так ли это у вас.