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

비밀번호

댓글 작성자
 




... 76  [77]  78  79  80  81  82  83  84  85  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
12042정성태10/26/201918665오류 유형: 573. OneDrive 하위에 위치한 Documents, Desktop 폴더에 대한 권한 변경 시 "Unable to display current owner"
12041정성태10/23/201920226오류 유형: 572. mstest.exe - The load test results database could not be opened.
12040정성태10/23/201920740오류 유형: 571. Unhandled Exception: System.Net.Mail.SmtpException: Transaction failed. The server response was: 5.2.0 STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied
12039정성태10/22/201917687스크립트: 16. cmd.exe의 for 문에서는 ERRORLEVEL이 설정되지 않는 문제
12038정성태10/17/201918213오류 유형: 570. SQL Server 2019 RC1 - SQL Client Connectivity SDK 설치 오류
12037정성태10/15/201925824.NET Framework: 867. C# - Encoding.Default 값을 바꿀 수 있을까요?파일 다운로드1
12036정성태10/14/201927159.NET Framework: 866. C# - 고성능이 필요한 환경에서 GC가 발생하지 않는 네이티브 힙 사용파일 다운로드1
12035정성태10/13/201920524개발 환경 구성: 461. C# 8.0의 #nulable 관련 특성을 .NET Framework 프로젝트에서 사용하는 방법 [2]파일 다운로드1
12034정성태10/12/201920033개발 환경 구성: 460. .NET Core 환경에서 (프로젝트가 아닌) C# 코드 파일을 입력으로 컴파일하는 방법 [1]
12033정성태10/11/201924467개발 환경 구성: 459. .NET Framework 프로젝트에서 C# 8.0/9.0 컴파일러를 사용하는 방법
12032정성태10/8/201920093.NET Framework: 865. .NET Core 2.2/3.0 웹 프로젝트를 IIS에서 호스팅(Inproc, out-of-proc)하는 방법 - AspNetCoreModuleV2 소개
12031정성태10/7/201918036오류 유형: 569. Azure Site Extension 업그레이드 시 "System.IO.IOException: There is not enough space on the disk" 예외 발생
12030정성태10/5/201925122.NET Framework: 864. .NET Conf 2019 Korea - "닷넷 17년의 변화 정리 및 닷넷 코어 3.0" 발표 자료 [1]파일 다운로드1
12029정성태9/27/201925339제니퍼 .NET: 29. Jennifersoft provides a trial promotion on its APM solution such as JENNIFER, PHP, and .NET in 2019 and shares the examples of their application.
12028정성태9/26/201920928.NET Framework: 863. C# - Thread.Suspend 호출 시 응용 프로그램 hang 현상을 해결하기 위한 시도파일 다운로드1
12027정성태9/26/201915588오류 유형: 568. Consider app.config remapping of assembly "..." from Version "..." [...] to Version "..." [...] to solve conflict and get rid of warning.
12026정성태9/26/201921909.NET Framework: 862. C# - Active Directory의 LDAP 경로 및 정보 조회
12025정성태9/25/201920164제니퍼 .NET: 28. APM 솔루션 제니퍼, PHP, .NET 무료 사용 프로모션 2019 및 적용 사례 (8) [1]
12024정성태9/20/201922118.NET Framework: 861. HttpClient와 HttpClientHandler의 관계 [2]
12023정성태9/18/201922602.NET Framework: 860. ServicePointManager.DefaultConnectionLimit와 HttpClient의 관계파일 다운로드1
12022정성태9/12/201926127개발 환경 구성: 458. C# 8.0 (Preview) 신규 문법을 위한 개발 환경 구성 [3]
12021정성태9/12/201942211도서: 시작하세요! C# 8.0 프로그래밍 [4]
12020정성태9/11/201925185VC++: 134. SYSTEMTIME 값 기준으로 특정 시간이 지났는지를 판단하는 함수
12019정성태9/11/201918895Linux: 23. .NET Core + 리눅스 환경에서 Environment.CurrentDirectory 접근 시 주의 사항
12018정성태9/11/201917724오류 유형: 567. IIS - Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive. (D:\lowSite4\web.config line 11)
12017정성태9/11/201921597오류 유형: 566. 비주얼 스튜디오 - Failed to register URL "http://localhost:6879/" for site "..." application "/". Error description: Access is denied. (0x80070005)
... 76  [77]  78  79  80  81  82  83  84  85  86  87  88  89  90  ...