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

  Рет қаралды 3,103

그누보드

그누보드

Күн бұрын

그누보드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 github.com/gnu...
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
(브라우저에서 서버아이피: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 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
=====================================================
sir.kr

Пікірлер: 3
@웃통웃통
@웃통웃통 7 ай бұрын
안녕하세요. 항상 해봐야지 하다가 엄두가 안나서 못하고 있었는데.. 너무 쉽게 설명을 잘해준신것 같아요.
@laoktols
@laoktols 5 ай бұрын
GCP 리눅스에 올렸고 / UVICORN에서는 정상인데, BAD REQUEST 400이 나오면 어떻게 해야하나요.
@laoktols
@laoktols 5 ай бұрын
GCP 상에 방화벽이 막혀있어서 접속이 안됐었네요... 다른 안되시는 분들 계시면 참고하시지요.
I forced EVERYONE to use Linux
22:59
NetworkChuck
Рет қаралды 527 М.
NixOS is Mindblowing
12:02
Chris Titus Tech
Рет қаралды 700 М.
He bought this so I can drive too🥹😭 #tiktok #elsarca
00:22
Elsa Arca
Рет қаралды 47 МЛН
Cleaning🤣 #shorts #トイキッズ
00:18
Toy Kids★トイキッズ
Рет қаралды 10 МЛН
МЕБЕЛЬ ВЫДАСТ СОТРУДНИКАМ ПОЛИЦИИ ТАБЕЛЬНУЮ МЕБЕЛЬ
00:20
Running With Bigger And Bigger Feastables
00:17
MrBeast
Рет қаралды 211 МЛН
The NGINX Crash Course
50:53
Laith Academy
Рет қаралды 486 М.
Gnome 46 vs KDE Plasma 6 ...
10:35
Michael Horn
Рет қаралды 135 М.
We may have killed p10k, so I found the perfect replacement.
19:48
Dreams of Autonomy
Рет қаралды 141 М.
CMS (워드프레스, XE, 그누보드) 의 단점을 확인하시고, 시작하시기 바랍니다.
4:58
홈페이지 상식 - 제작부터 관리, 운영까지
Рет қаралды 11 М.
The cloud is over-engineered and overpriced (no music)
14:39
Tom Delalande
Рет қаралды 585 М.
그누보드5와 react 같이 사용하기
9:53
그누보드
Рет қаралды 105
He bought this so I can drive too🥹😭 #tiktok #elsarca
00:22
Elsa Arca
Рет қаралды 47 МЛН