해결된 질문
작성
·
561
1
강좌 리눅스에서 우분투로 배포하기에서, uwsgi.ini파일을 설정하고 그 파일로 실행하려는데, 자꾸 오류가 납니다.
인터넷에 검색해보니, 디렉토리 파일 위치문제로 보입니다만,,, 해결이 되지 않아서 삽질하다가 질문 올립니다...
일단 제 환경부터 먼저 말씀드려야 할것 같아서요.
Window(host Os) 에 VMware(linux, ubuntu)를 쓰고 있고, host와 가상머신은 공유폴더를 사용하고있습니다.
제 프로젝트로 이 가상폴더 /mnt/hgfs/shared_folder/web에 설정되어있고 여기가 root_directory입니다.
저의 현재 ini파일의 내용은
[uwsgi]
module = run:app
master = true
processes = 5
## socket=web.sock 역시 오류가 납니다.
socket = /mnt/hgfs/shared_folder/web.sock
chmod-socket = 660
vacuum = true
die-on-term = true
logto = %n.log
이구요,
로그내용은
nodename: ubuntu
machine: x86_64
clock source: unix
detected number of CPU cores: 2
current working directory: /mnt/hgfs/shared_folder/web
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
your processes number limit is 15413
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)
bind(): No such file or directory [core/socket.c line 230]
아 맞다, 그리고 python 가상환경 파일 /venv/에서 작업을 했는데요, 여기서 /venv/web파일은
/mnt/hgfs/shared_folder/web파일과 링크되어있는 파일입니다.
뭐가 문제일까요....도와주세요
답변 5
0
구글링을 해보니 경로 문제인것 같습니다... 상대경로를 쓰는게 리눅스에서 잘안먹힌다고 절대경로로 현재 작업디렉토리가 아닌 다른디렉토리로 옮겨서 설정해보라고 하더라구요..
socket = /tmp/web.socket
logto = /tmp/%n.log
로 설정해서 해결했습니다.
0
0
파일의 문제는 아닌것 같습니다... 똑같은 파일을 /venv/uwsgi.ini 로는 실행이 잘되는데
그 파일을 /venv/web/uwsgi.ini로 옮기기만 하면 에러가 뜨네요...
파일은 ASCII형식이에요.
0
원칙적으로 윈도우와 리눅스는 동일한 시스템이 아니라 말씀하신 사항외에도 여러가지 문제가 발생할 수 있는 여지가 있습니다. 일단 당장 생각나는것은 파일의 포맷부터 확인해보시는게 좋을듯 합니다. 포맷이라는게 단순히 확장자만 의미하진 않습니다. Ascii 파일이냐 UTF-8, UTF-16 등을 말씀드리는 부분이며 또한 윈도우에서 어떤 에디터에냐 따라 BOM 이 추가 저장되기도 하고 저장되지 않기도 합니다. 이런 부분도 먼저 확인을 해보셔야 할듯 합니다.
0
web 파일이 링크되어있어서 안되는것 같습니다. shared_folder/ 에서 ini파일을 만들고 실행하니까 돌아가네요.
링크되어있는파일에서 ini를 실행할수는 없나요?