Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.12.2015, 04:33
Профессор
Посмотреть профиль Найти все сообщения от Mаxmaxmаximus
 
Регистрация: 29.10.2015
Сообщений: 473

Настройка nginx
Хочу чтобы была папка public_html и от туда брались все файлы
И чтобы рядом с ней лежала папка storage на одном уровне.
И если человек запросит site.ru/storage/image.png
то оно искалось бы не в public_html а в storage

Неужели такое элементарное действие нельзя провернуть?


ВОТ ЭТО банально не работает:

Код:
        location / {
            root   ../localhost/public;
            index  index.html index.htm;
        }

        location  /storage {
            root   ../localhost/storage;
        }
Ответить с цитированием
  #2 (permalink)  
Старый 06.12.2015, 04:52
Профессор
Посмотреть профиль Найти все сообщения от Mаxmaxmаximus
 
Регистрация: 29.10.2015
Сообщений: 473

В итоге у меня возгарелся пукан и я сделал просто сабдомен с хранилещем

Код:
server {
        listen       80;
        server_name  storage.uaz.local;
		root   C:/localhost/storage;
}

server {
        listen       80;
        server_name  uaz.local;
		root   C:/localhost/public;
		
        location / {
			index  index.html index.htm;
        }
}

Теперь всякие картинки подгружяются красиво storage.site.ru/vsddsgfsgsdfsdfs.jpg
НО мне непонятно почему енджинекс не переопределяет рут если локейшен совпадает с url, вернее он переопределяет, но только внутри public/ а не вне неё
еси вне неё, то просто не работает

Последний раз редактировалось Mаxmaxmаximus, 06.12.2015 в 04:54.
Ответить с цитированием
  #3 (permalink)  
Старый 06.12.2015, 20:48
Профессор
Посмотреть профиль Найти все сообщения от Mаxmaxmаximus
 
Регистрация: 29.10.2015
Сообщений: 473

В итоге короче вообще оставил nginx как есть а nodejs повесил на порт 8080 и общение с api идет по сокетам/

nginx быстро отдает статику, node быстро вычисляет динамику. красота.
Ответить с цитированием
  #4 (permalink)  
Старый 07.12.2015, 20:22
Аспирант
Отправить личное сообщение для a26cf84d Посмотреть профиль Найти все сообщения от a26cf84d
 
Регистрация: 07.12.2015
Сообщений: 63

Сообщение от Mаxmaxmаximus
nodejs повесил на
proxy_pass и вешаешь куда нада!
location /socket.io/ {
        
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "upgrade";
		proxy_http_version 1.1;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header Host $host;
		proxy_pass [url]http://127.0.0.1:8000;[/url]
	}


[url] - только выкинь.
Ответить с цитированием
  #5 (permalink)  
Старый 07.12.2015, 21:42
Аспирант
Отправить личное сообщение для MiksIr Посмотреть профиль Найти все сообщения от MiksIr
 
Регистрация: 29.05.2013
Сообщений: 71

Сообщение от Mаxmaxmаximus
НО мне непонятно почему енджинекс не переопределяет рут если локейшен совпадает с url, вернее он переопределяет, но только внутри public/ а не вне неё
Код:
       root   C:/localhost/public/;

       location / {
            index  index.html index.htm;
        }

        location  /storage/ {
            root C:/localhost/;
        }
А вот если часть URI не совпадает с именем на диске, нужно использовать не root, а alias

Код:
       root   C:/localhost/public/;

       location / {
            index  index.html index.htm;
        }

        location  /storage/ {
            alias C:/localhost/superstorage/;
        }

Последний раз редактировалось MiksIr, 07.12.2015 в 22:03.
Ответить с цитированием
  #6 (permalink)  
Старый 08.12.2015, 02:24
Профессор
Посмотреть профиль Найти все сообщения от Mаxmaxmаximus
 
Регистрация: 29.10.2015
Сообщений: 473

Сообщение от a26cf84d
и вешаешь куда нада!
И какой же смысл обрабатывать запросы сначала nginx а не нодой напрямую? еси нода все ровно чисто динамику отдает котрую не нужно кешировать? типа чтобы сжимать nginx ом данные возвращеныне от ноды?

Сообщение от MiksIr
А вот если часть URI не совпадает с именем на диске, нужно использовать не root, а alias
Оо вот это красавчик, я нагуглил про него но так и не подумал что это азначает, я думал это алиасы доменов типа. спасиб тебе мил человек.
Ответить с цитированием
  #7 (permalink)  
Старый 08.12.2015, 06:33
Профессор
Посмотреть профиль Найти все сообщения от Mаxmaxmаximus
 
Регистрация: 29.10.2015
Сообщений: 473

MiksIr, о, слушай, а как сделать типа если файл не существует то отдавай главную страничку но url не меняй, делай вид будто бы она находится по тому адресу который запросили.


ну то есть если запросят хоть site.ru/sdfgfddgdf=fg=====444===44

то чтобы он все ровно главную страничку отдал и при том url такой же остался какой запрашивали.
но при том что файла "sdfgfddgdf=fg=====444===44" не существует

У меня просто синглпейдж апликейшен и роутинг происходит уже внутри html странички яваскриптом, с анимациями и прочей фигней) а при навигации используется history api и надо чтобы если чел нажмет f5 то сервер ему все время одну и ту же index.html страничку из корня отдавал. при условии что файла по url не существует (ну чтобы стили там могли подгрузиться и все такое)

Последний раз редактировалось Mаxmaxmаximus, 08.12.2015 в 06:48.
Ответить с цитированием
  #8 (permalink)  
Старый 08.12.2015, 10:45
Аспирант
Отправить личное сообщение для a26cf84d Посмотреть профиль Найти все сообщения от a26cf84d
 
Регистрация: 07.12.2015
Сообщений: 63

Сообщение от Mаxmaxmаximus
нода все ровно чисто динамику отдает котрую не нужно кешировать?
Нода вполне себе кеширует, если надо, быстро, просто, надежно. Кэширование - не программа, а алгоритм.

Сообщение от Mаxmaxmаximus
какой же смысл
сам для себя реши.
Ответить с цитированием
  #9 (permalink)  
Старый 08.12.2015, 11:40
Профессор
Посмотреть профиль Найти все сообщения от Mаxmaxmаximus
 
Регистрация: 29.10.2015
Сообщений: 473

Сообщение от a26cf84d
Нода вполне себе кеширует, если надо, быстро, просто, надежно
гораздо дороже чем nginx

Сообщение от a26cf84d
сам для себя реши.
но зачем мне решать смысл какого то действия которое делаю не я, карл?



п.с. мне кажется я понял какие люди пишут ответы на "вопросы и ответы мейл") вот пациент выше яркий пример)

Последний раз редактировалось Mаxmaxmаximus, 08.12.2015 в 11:52.
Ответить с цитированием
  #10 (permalink)  
Старый 08.12.2015, 12:01
Аспирант
Отправить личное сообщение для a26cf84d Посмотреть профиль Найти все сообщения от a26cf84d
 
Регистрация: 07.12.2015
Сообщений: 63

Сообщение от Mаxmaxmаximus
гораздо дороже чем nginx
это твоя выдумка. вариантов кэширования много, ты похоже про них мало знаешь.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Websocket через nginx как прокси faecker AJAX и COMET 0 18.09.2015 19:36
Профессиональная настройка Яндекс Директ и Google Adwords Alex.Directolog Работа 0 28.08.2015 20:30
Настройка nginx как прокси сервера cyber Оффтопик 34 16.08.2014 21:49
доступ к nginx серверу по сети cyber Оффтопик 4 01.06.2013 16:33
настройка привилегий фф Zzet Firefox/Mozilla 1 04.03.2010 15:12