Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

(시리즈 글이 4개 있습니다.)
개발 환경 구성: 606. WSL Ubuntu 20.04에서 파이썬을 위한 uwsgi 설치 방법
; https://www.sysnet.pe.kr/2/0/12857

개발 환경 구성: 618. WSL Ubuntu 20.04에서 파이썬을 위한 uwsgi 설치 방법 (2)
; https://www.sysnet.pe.kr/2/0/12881

개발 환경 구성: 641. WSL 우분투 인스턴스에 파이썬 2.7 개발 환경 구성하는 방법
; https://www.sysnet.pe.kr/2/0/13013

개발 환경 구성: 691. WSL 2 (Ubuntu) + nginx 환경 설정
; https://www.sysnet.pe.kr/2/0/13479




WSL 우분투 인스턴스에 파이썬 2.7 개발 환경 구성하는 방법

우선, WSL 환경이니 우분투 버전에 자유로울 수 있으므로 20.04 버전 말고 18.04 버전의 우분투를 설치합니다. (20.04 버전에도 할 수 있겠지만 괴로울 것입니다. 그냥 속 편하게 18.04 버전으로 하는 것을 권장합니다.)

그다음 아래의 명령어를 차례대로 수행하면 됩니다.

$ sudo apt update

$ sudo apt upgrade -y

$ sudo apt install python -y

$ sudo apt install python-pip -y

간단하죠? ^^ Ubuntu 18.04의 경우 패키지 repo에 연결된 기본 파이썬 버전이 2.7이기 때문입니다. (Ubuntu 20.04는 파이썬 3.8 버전이 기본입니다.)

부가적으로 uwsgi가 필요하다면 다음의 명령으로 설치합니다.

$ pip install uwsgi

이후, 곧바로 실행하면 uwsgi를 찾을 수 없다고 뜨지만, wsl 인스턴스 창을 닫은 후 새롭게 띄우면 다음과 같이 실행됩니다. (혹은, 그냥 path 환경 변수에 uwsgi를 추가하도록 변경된 shell 스크립트를 재로드하면 될 것입니다.)

$ which uwsgi
/home/testusr/.local/bin/uwsgi

$ uwsgi
*** Starting uWSGI 2.0.20 (64bit) on [Tue Mar 22 13:32:20 2022] ***
compiled with version: 7.5.0 on 22 March 2022 04:32:10
os: Linux-5.10.60.1-microsoft-standard-WSL2 #1 SMP Wed Aug 25 23:20:18 UTC 2021
nodename: THE12
machine: x86_64
clock source: unix
detected number of CPU cores: 24
current working directory: /home/testusr
detected binary path: /home/testusr/.local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
*** WARNING: you are running uWSGI without its master process manager ***
your processes number limit is 127895
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
The -s/--socket option is missing and stdin is not a socket.

또한 plugin도 부가적으로 이렇게 설치가 됩니다.

$ uwsgi --plugins-list

*** uWSGI loaded generic plugins ***
gevent
nagios
rrdtool
carbon
corerouter
fastrouter
http
ugreen
syslog
rsyslog
logsocket
router_uwsgi
router_redirect
router_basicauth
zergpool
redislog
mongodblog
router_rewrite
router_http
logfile
router_cache
rawrouter
router_static
sslrouter
cheaper_busyness
transformation_tofile
transformation_gzip
transformation_chunked
transformation_offload
router_memcached
router_redis
router_hash
router_expires
router_metrics
transformation_template
stats_pusher_socket

*** uWSGI loaded request plugins ***
0: python
17: spooler
18: symcall
100: ping
110: signal
111: cache
173: rpc
--- end of plugins list ---

*** Starting uWSGI 2.0.20 (64bit) on [Tue Mar 22 13:33:58 2022] ***
...[생략]...

보다시피 python이 연결돼 있으므로 Django 등의 웹 프레임워크가 잘 실행이 됩니다.

$ uwsgi --http-socket :18091 --chdir /workshop/testprj/myapp --wsgi-file ./myapp/wsgi.py




참고로, uwsgi의 경우 Ubuntu repo를 통해서 설치하면,

$ sudo apt install uwsgi

이후 파이썬 호스팅 시에 다음과 같은 오류가 발생합니다.

$ uwsgi --http-socket :18091 --chdir /testprj/myapp --wsgi-file ./myapp/wsgi.py
uwsgi: unrecognized option '--wsgi-file'
getopt_long() error

예전에 설명한 그 문제 때문입니다. ^^

WSL Ubuntu 20.04에서 파이썬을 위한 uwsgi 설치 방법
; https://www.sysnet.pe.kr/2/0/12857#apply_plugin




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 3/22/2022]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 61  62  63  64  65  [66]  67  68  69  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12320정성태9/11/202019416개발 환경 구성: 512. RDP(원격 데스크톱) 접속 시 비밀 번호를 한 번 더 입력해야 하는 경우
12319정성태9/10/202018333오류 유형: 647. smigdeploy.exe를 Windows Server 2016에서 실행할 때 .NET Framework 미설치 오류 발생
12318정성태9/9/202017145오류 유형: 646. OpenVPN - "TAP-Windows Adapter V9" 어댑터의 "Network cable unplugged" 현상
12317정성태9/9/202021036개발 환경 구성: 511. Beats용 Kibana 기본 대시 보드 구성 방법
12316정성태9/8/202018669디버깅 기술: 170. WinDbg Preview 버전부터 닷넷 코어 3.0 이후의 메모리 덤프에 대해 sos.dll 자동 로드
12315정성태9/7/202021188개발 환경 구성: 510. Logstash - FileBeat을 이용한 IIS 로그 처리 [2]
12314정성태9/7/202021355오류 유형: 645. IIS HTTPERR - Timer_MinBytesPerSecond, Timer_ConnectionIdle 로그
12313정성태9/6/202020903개발 환경 구성: 509. Logstash - 사용자 정의 grok 패턴 추가를 이용한 IIS 로그 처리
12312정성태9/5/202027947개발 환경 구성: 508. Logstash 기본 사용법 [2]
12311정성태9/4/202020465.NET Framework: 937. C# - 간단하게 만들어 보는 리눅스의 nc(netcat), json_pp 프로그램 [1]
12310정성태9/3/202019718오류 유형: 644. Windows could not start the Elasticsearch 7.9.0 (elasticsearch-service-x64) service on Local Computer.
12309정성태9/3/202018360개발 환경 구성: 507. Elasticsearch 6.6부터 기본 추가된 한글 형태소 분석기 노리(nori) 사용법
12308정성태9/2/202020818개발 환경 구성: 506. Windows - 단일 머신에서 단일 바이너리로 여러 개의 ElasticSearch 노드를 실행하는 방법
12307정성태9/2/202021745오류 유형: 643. curl - json_parse_exception / Invalid UTF-8 start byte
12306정성태9/1/202018374오류 유형: 642. SQL Server 시작 오류 - error code 10013
12305정성태9/1/202020802Windows: 172. "Administered port exclusions"이 아닌 포트 범위 항목을 삭제하는 방법
12304정성태8/31/202019212개발 환경 구성: 505. 윈도우 - (네트워크 어댑터의 우선순위로 인한) 열거되는 IP 주소 순서를 조정하는 방법
12303정성태8/30/202019568개발 환경 구성: 504. ETW - 닷넷 프레임워크 기반의 응용 프로그램을 위한 명령행 도구 etrace 소개
12302정성태8/30/202019656.NET Framework: 936. C# - ETW 관련 Win32 API 사용 예제 코드 (5) - Private Logger파일 다운로드1
12301정성태8/30/202018661오류 유형: 641. error MSB4044: The "Fody.WeavingTask" task was not given a value for the required parameter "IntermediateDir".
12300정성태8/29/202019562.NET Framework: 935. C# - ETW 관련 Win32 API 사용 예제 코드 (4) CLR ETW Consumer파일 다운로드1
12299정성태8/27/202020067.NET Framework: 934. C# - ETW 관련 Win32 API 사용 예제 코드 (3) ETW Consumer 구현파일 다운로드1
12298정성태8/27/202019872오류 유형: 640. livekd - Could not resolve symbols for ntoskrnl.exe: MmPfnDatabase
12297정성태8/25/202019307개발 환경 구성: 503. SHA256 테스트 인증서 생성 방법
12296정성태8/24/202020357.NET Framework: 933. C# - ETW 관련 Win32 API 사용 예제 코드 (2) NT Kernel Logger파일 다운로드1
12295정성태8/24/202019214오류 유형: 639. Bitvise - Address is already in use; bind() in ListeningSocket::StartListening() failed: Windows error 10013: An attempt was made to access a socket ,,,
... 61  62  63  64  65  [66]  67  68  69  70  71  72  73  74  75  ...