Korzystam z Fedory 17, a kiedy instaluję nginx z uwsgi przy użyciu gniazda domeny unix, kiedy umieszczam gniazdo w katalogu z odpowiednim uprawnieniem, jest w porządku, ale kiedy umieszczę gniazdo w /tmp
nim, spowoduje błąd nginx:
connect() to unix:/tmp/MySite.sock failed (2: No such file or directory) while connecting to upstream
Plik istnieje i ma uprawnienia do odczytu / zapisu dla użytkownika nginx. Ale co powoduje ten błąd, to naprawdę doprowadza mnie do szału, może ktoś to wymyśli.
/run
nie jest bezpośrednio zapisywalny, ale możesz polecić systemd, aby utworzył w nim katalog, który będzie zapisywalny przez oba procesy.TAK! TO POMÓC!
Widziałem komunikaty check-startup-log z uwsgi, ale nie miałem danych w logach startowych, nie byłem w stanie dowiedzieć się, co się dzieje. Okazało się, że musiałem zmienić plik skarpety na lokalizację inną niż / tmp i dodać:
catch-wyjątki = prawda
do pliku ini wsgi. okazało się, że podałem lokalizację rejestrowania modułu obsługi plików w nieistniejącym katalogu, więc nie mógł on przede wszystkim zarejestrować błędów.
źródło