:(Nginx에 +의 gunicorn)/아파치가 읽고 있지 환경 변수 I는 무엇입니까
[01000] [unixODBC][Driver Manager]Can't open lib '/usr/local/nz/lib64/libnzodbc.so' : file not found (0) (SQLDriverConnect)"
오류 PyODBC
를 사용하여 연결을 만드는 동안. 이것은 장고 개발 서버를 통해 사용할 때 잘 동작합니다. 하지만 그것을 통해 사용합니다. Gunicorn
및 Nginx
, 실패합니다.
- 인 unixODBC에 필요한 라이브러리의 일부가 누락되었습니다 : (개발 서버를 구성하는 동안) 때 나는 과거에이 문제를 직면했다. Django 개발 서버로 작업하고 있기 때문에 이것은 문제가 될 수 없습니다.
- 환경 변수
PATH
및LD_LIBRARY_PATH
에 내 드라이버 경로가없는 경우.
는 대부분의 경우 나는 2가 원인이라고 생각합니다. 나는 /etc/profile
및 /etc/environment
하지만 운이 환경 변수를 설정했습니다. 누구가 여기에서 틀릴지도 모른 지에 대하여 아이디어가 있는가?
편집 : 그것은 Gunicorn
가 아니라 직접 사용하여 gunicorn 서버를 실행과는 아무 상관이 없습니다 :
gunicorn --bind 0.0.0.0:8000 my_project.wsgi:application
잘 작동합니다. wsgi를 통해 Nginx와 통신하는 동안 문제가 발생합니다.
모든 필수 환경 방법은 제대로 잘 살고있다 :
[email protected]_HOST:/tmp/webadmin$ env
LD_LIBRARY_PATH=/usr/local/nz/lib64
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/nz/bin64
NZ_ODBC_INI_PATH=/home/mquadri/CONFIG
HOME=/home/mquadri
ODBCINI=/home/mquadri/CONFIG/odbc.ini
NETEZZA=/usr/local/nz
사람이 유용 (여기에 나열된 모든 파일이 이미 존재하는) 찾을 수있는 경우에 ldd
의 출력
[email protected]_HOST:/tmp/webadmin$ ldd /usr/local/nz/lib64/libnzodbc.so
linux-vdso.so.1 => (0x00007fff96dfa000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f286f0f1000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f286edeb000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f286ebcc000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f286e9c8000)
libkrb5.so.3 => /usr/local/nz/lib64/libkrb5.so.3 (0x00007f286e7e8000)
libkrb5support.so.0 => /usr/local/nz/lib64/libkrb5support.so.0 (0x00007f286e6da000)
libcom_err.so.3 => /usr/local/nz/lib64/libcom_err.so.3 (0x00007f286e5d7000)
libk5crypto.so.3 => /usr/local/nz/lib64/libk5crypto.so.3 (0x00007f286e494000)
/lib64/ld-linux-x86-64.so.2 (0x00007f286f806000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f286e278000)
편집 2 : settings.py
개발 서버에서이 환경 변수를 명시 적으로 설정했지만 nginx
은 Internal Server Error
이됩니다.