nginx 실행하면 계속 서버에러가 뜹니다. 꼭 좀 봐주세요

안녕하세요, 평소 장고 개념으로 헤메다가 님의 저서를 통해서 큰 도움을 받고 있습니다.

pybo 시스템 따라하기를 하다가 안되는 부분이 있어서 게시판에 남김니다...몇일을 헤메서 꼭 좀 해결 부탁드리겠습니다
참고로 저는 프로젝트 폴더명을 projects 에서 stock_alarm 으로 변경하여 구성했습니다.

구축환경은 아마존 lightsail 을 이용 중이고요
방화벽 80 포트는 모두 허용한 상태입니다.

gunicorn 서비스만 돌리면 고정ip :8000으로 브라우저url 을 치면 잘 돌아갑니다.

근데 nginx로 실행((mysite) ubuntu@jellybean:/etc/nginx/sites-enabled$ sudo systemctl restart nginx
)을 하면 서버에러 메세지가 뜹니다

/etc/systemd/system/ 폴더에 있는 mysite.service 파일입니다. 책과 동일합니다.

[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu/stock_alarm/mysite
EnvironmentFile=/home/ubuntu/venvs/mysite.env
ExecStart=/home/ubuntu/venvs/mysite/bin/gunicorn \
--workers 2 \
--bind unix:/tmp/gunicorn.sock \
config.wsgi:application

[Install]
WantedBy=multi-user.target

gunicorn.sock 파일도 tmp 폴더 밑에 생성되어있습니다.

아래는 로그입니다. 먼저
/var/log/nginx/error,log
2022/04/16 08:33:37 [alert] 1128#1128: *216 open socket #11 left in connection 4
2022/04/16 08:33:37 [alert] 1128#1128: aborting

syslog 입니다
Apr 16 08:38:22 jellybean systemd[1]: Started Session 18 of user ubuntu.
Apr 16 08:38:23 jellybean systemd[1]: session-18.scope: Succeeded.
Apr 16 08:38:37 jellybean systemd[1]: Started Session 19 of user ubuntu.
Apr 16 08:38:38 jellybean systemd[1]: session-19.scope: Succeeded.
Apr 16 08:38:43 jellybean systemd[1]: Started Session 20 of user ubuntu.
Apr 16 08:38:44 jellybean systemd[1]: session-20.scope: Succeeded.
Apr 16 08:38:58 jellybean systemd-networkd[438]: eth0: DHCPv6 address 2406:da12:351:7f00:6f7d:5f07:113b:8185/128 timeout preferred 140 valid 450
Apr 16 08:39:45 jellybean systemd[1]: Stopping A high performance web server and a reverse proxy server...
Apr 16 08:39:45 jellybean systemd[1]: nginx.service: Succeeded.
Apr 16 08:39:45 jellybean systemd[1]: Stopped A high performance web server and a reverse proxy server.
Apr 16 08:39:45 jellybean systemd[1]: Starting A high performance web server and a reverse proxy server...
Apr 16 08:39:45 jellybean systemd[1]: Started A high performance web server and a reverse proxy server.
Apr 16 08:40:08 jellybean systemd-networkd[438]: eth0: DHCPv6 address 2406:da12:351:7f00:6f7d:5f07:113b:8185/128 timeout preferred 140 valid 450
Apr 16 08:43:38 jellybean systemd-networkd[438]: message repeated 3 times: [ eth0: DHCPv6 address 2406:da12:351:7f00:6f7d:5f07:113b:8185/128 timeout preferred 140 valid 450]
Apr 16 08:43:50 jellybean systemd[1]: Started Session 21 of user ubuntu.

mysite.log 입니다.
아래 보시면 UnboundLocalError 가 나오는데요, global 변수처리해도 계속 나오네요
참고로 교재를 약간 변형해서 테이블 형태로 값을 가져오게 구성했습니다
변형된 것이라 문의드리기도 그런데 꼭 좀 봐주셨으면 합니다...3일째 헤메고 있습니다
진심으로 감사드리며

Traceback (most recent call last):
File "/home/ubuntu/venvs/mysite/lib/python3.8/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/home/ubuntu/venvs/mysite/lib/python3.8/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, callback_args, *callback_kwargs)
File "/home/ubuntu/stock_alarm/mysite/rt_tp_checker/views.py", line 95, in tp_view
table = TargetPriceTable(tp_list)
UnboundLocalError: local variable 'table' referenced before assignment

=====================================================
view.py

from multiprocessing import context
from django.shortcuts import render
from django.http import HttpResponse
from .models import TargetPrice
from .tables import TargetPriceTable
from urllib.request import urlopen
from bs4 import BeautifulSoup
import pandas as pd
from rt_tp_checker.models import TargetPrice


def code_from_django_db():

def get_current_price(symbol):

def parsing(code_data_list):

def tp_view(request):

    if(request.GET.get('mybtn')):
        tp_list = list(TargetPrice.objects.values())
        code_data_list = code_from_django_db()
        parsing(code_data_list)
        table = TargetPriceTable(tp_list)
    return render(request, 'rt_tp_checker/tpchecker.html', {'table': table})

아떼떼 1286

M 2022년 4월 16일 7:11 오후

table 변수가 생성되기 전에 이미 사용되었다는 오류인데요.. rt_tp_checker/views.py 전체를 보여주세요. - 박응용님, 2022년 4월 16일 11:44 오전 추천 , 대댓글
@박응용님 뒷 부분에 올렸습니다. gunicorn과 manage.py는 잘 렌더링이 되는데, nginx를 하면 서버에러 500이 뜨네요.. 꼭 좀 부탁드리겠습니다...감사드리며... - 아떼떼님, M 2022년 4월 16일 2:17 오후 추천 , 대댓글
@아떼떼님 수정 후 재기동은 아래와 같습니다 (mysite) ubuntu@jellybean:/etc/systemd/system$ cd /etc/nginx/sites-enabled/ (mysite) ubuntu@jellybean:/etc/nginx/sites-enabled$ sudo systemctl restart nginx (mysite) ubuntu@jellybean:/etc/nginx/sites-enabled$ sudo systemctl start nginx (mysite) ubuntu@jellybean:/etc/nginx/sites-enabled$ - 아떼떼님, M 2022년 4월 16일 2:19 오후 추천 , 대댓글
목록으로
1개의 답변이 있습니다. 1 / 1 Page
def tp_view(request):

    if(request.GET.get('mybtn')):
        tp_list = list(TargetPrice.objects.values())
        code_data_list = code_from_django_db()
        parsing(code_data_list)
        table = TargetPriceTable(tp_list)
    return render(request, 'rt_tp_checker/tpchecker.html', {'table': table})

tp_view 함수에서 request에 mybtn 값이 없을 경우에는 table 변수가 없기 때문에 위의 오류가 발생할수 있습니다.
nginx 문제와 상관 있는지는 모르겠지만 언급하신 오류는 이 문제로 보이네요.

박응용

M 2022년 4월 16일 2:42 오후

답변감사드립니다. mybtn이 화면의 refresh 버튼인데요...크롬의 url 창 옆의 refresh로 하던지 아니면 그냥 주소창에 주소를 붙이고 엔터를 치면 바로 500 서버에러가 되네요...말씀이 맞는 것 같습니다. 뒤 url에 정보를 추가해서 주니 되네요... 혹시 이런 경우는 어떻게 수정 가능한지 문의 드려도 될런지요 그리고 프로그램 수정하면(서버에 바로 수정시) (mysite) ubuntu@jellybean:/etc/nginx/sites-enabled$ sudo systemctl start nginx 로 재시작하면 되는지도 문의드립니다. 도움에 감사의 말씀드립니다. 감사합니다 - 아떼떼님, M 2022년 4월 16일 3:11 오후 추천 , 대댓글
@아떼떼님 프로그램 수정후에는 gunicorn을 재시작해 주세요. - 박응용님, 2022년 4월 16일 3:31 오후 추천 , 대댓글
@박응용님 네, 감사합니다....혹시 오류도 해결실마리 좀 알려주심 감사하겠습니다...감사합니다...T..T - 아떼떼님, 2022년 4월 16일 4:26 오후 추천 , 대댓글