• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

강의중에, 웹배포하는 과정중에서 ini파일 설정파일이 잘 동작이 안됩니다.

20.07.20 22:27 작성 조회수 378

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를 실행할수는 없나요?