그누보드6 설치 완전정복. Ubuntu 서버에 Python, fastapi, Nginx, https 보안인증서 까지 설치, 설정하는 방법을 모두 다룹니다. > 그누보드6 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누보드6 팁자료실

그누보드6, 파이썬에 대한 팁과 자료를 올려주세요.
그누보드6 실서비스를 위한 웹서버 설정

그누보드6 설치 완전정복. Ubuntu 서버에 Python, fastapi, Nginx, https 보안인증서 까지 설치, 설정하는 방법을 모두 다룹니다. 정보

그누보드6 설치 완전정복. Ubuntu 서버에 Python, fastapi, Nginx, https 보안인증서 까지 설치, 설정하는 방법을 모두 다룹니다.

본문

https://www.youtube.com/watch?v=YBCmmyGKqgQ

 

그누보드6 파이썬 버전을 실제 운영할 수 있는 방법에 대해
아래와 같은 순서대로 설명합니다.

1. Ubuntu 22.04 버전을 준비합니다.

2. git 으로 그누보드6 복제

3. 가상환경 설치 및 실행

4. uvicorn 실행

5. iptables 에 8000번 포트 허용

6. 브라우저에서 http 접속 확인

7. uvicorn.service 생성 및 실행

8. Nginx에 도메인 연결

9. certbot 으로 보안인증서 발급

10. https 연결 확인

=끝=


명령어 순서
cd /home/ubuntu
git clone https://github.com/gnuboard/g6.git
cd g6

sudo apt update
sudo apt install python3.10-venv

python -m venv venv
source venv/bin/activate
uvicorn main:app --reload --host 0.0.0.0 --port 8000

sudo iptables -I INPUT -p tcp --dport 8000 -j ACCEPT
sudo netfilter-persistent save

(브라우저에서 http://서버아이피:8000 으로 접속 확인)

cd /home/ubuntu/g6
mkdir log
vi log_config.ini (맨아래 코드 참고)

sudo vi /etc/systemd/system/uvicorn.service (맨아래 코드 참고)
sudo systemctl restart uvicorn.service
sudo systemctl status uvicorn.service
sudo systemctl enable uvicorn.service

sudo cd /etc/nginx/sites-enabled
sudo cp default mydomain
(default 파일은 삭제해도 되며 삭제 안할시 listen 80 default_server; 반드시 주석 처리)
vi mydomain (맨아래 코드 참고)
systemctl restart nginx
systemctl enable nginx


sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d 내도메인1 -d 내도메인2

sudo crontab -e (certbot renew 명령 등록)


=====================================================
log_config.ini 파일 내용
=====================================================
[loggers]
keys=root

[handlers]
keys=console,timedFile

[formatters]
keys=generic

[logger_root]
level=INFO
handlers=console,timedFile

[handler_console]
class=StreamHandler
level=INFO
formatter=generic
args=(sys.stderr,)

[handler_timedFile]
class=logging.handlers.TimedRotatingFileHandler
level=INFO
formatter=generic
args=('log/uvicorn.log', 'midnight', 1, 365, 'utf-8')

[formatter_generic]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
=====================================================

=====================================================
uvicorn.service 파일 내용
=====================================================
[Unit]
Description=Uvicorn server with virtual environment
After=network.target

[Service]
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu/g6
Environment="PATH=/home/ubuntu/g6/venv/bin"
ExecStart=/home/ubuntu/g6/venv/bin/uvicorn main:app --host 0.0.0.0 --port 8000 --log-config log_config.ini

[Install]
WantedBy=multi-user.target
=====================================================

=====================================================
mydomain 파일 내용 (Nginx 설정 파일)
=====================================================
server {
        listen 80;
        server_name mydomain.com www.mydomain.com;

        location / {
                proxy_pass http://127.0.0.1:8000;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
        }
}
=====================================================

 

 

=====================================================
crontab 파일 내용 아래 코드를 추가하세요.
=====================================================
# 매주 일요일 자정에 실행
0 0 * * 0 certbot renew
=====================================================


https://sir.kr

추천
5

댓글 1개

전체 39 |RSS
그누보드6 팁자료실 내용 검색
  • 개별 목록 구성 번호 제목 작성자 작성일 추천 조회
  • 게시물이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT