Как запустить 2 приложения на одном порту для nginx?

Поднимаю несколько сайтов на одной машине. Нашел конфиг с настройкой nginx:

server { listen 80 default; server_name site1.ru; location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ { root /var/www/site1.ru; index index.html index.php; access_log off; expires 30d; error_page 404 = @fallback; proxy_cache_valid 404 1m; } location ~ /\.ht { deny all; } location / { proxy_pass 127.0.0.1:8080/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; proxy_set_header Host $host; proxy_connect_timeout 60; proxy_send_timeout 90; proxy_read_timeout 90; proxy_redirect off; proxy_set_header Connection close; proxy_pass_header Content-Type; proxy_pass_header Content-Disposition; proxy_pass_header Content-Length; } location @fallback { proxy_pass 127.0.0.1:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; proxy_set_header Host $host; } } server { listen 80 default; server_name site2.ru; location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ { root /var/www/site2.ru; index index.html index.php; access_log off; expires 30d; error_page 404 = @fallback; proxy_cache_valid 404 1m; } location ~ /\.ht { deny all; } location / { proxy_pass 127.0.0.1:8080/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; proxy_set_header Host $host; proxy_connect_timeout 60; proxy_send_timeout 90; proxy_read_timeout 90; proxy_redirect off; proxy_set_header Connection close; proxy_pass_header Content-Type; proxy_pass_header Content-Disposition; proxy_pass_header Content-Length; } location @fallback { proxy_pass 127.0.0.1:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; proxy_set_header Host $host; } }
Читать дальше

Есть ли смысл во вложенных location в nginx для оптимизации?

Знатоки в nginx, подскажите пожалуйста есть ли смысл в двойных локатион для оптимизации? Т.е. сначала отсеить по папке и только потом использовать регулярку
location /static/img/users/ { location ~ ^/static/img/users/([0-9]+)x([0-9]+)/\.(jpg|png|gif|jpeg)$ { try_files $uri /index.php?p1=$1&p2=$2&p3=$3; } }

Или никакой разницы в производительности не будет, если сразу использовать такой вариант с одним локатион
location ~ ^/static/img/users/([0-9]+)x([0-9]+)/\.(jpg|png|gif|jpeg)$ { try_files $uri /index.php?p1=$1&p2=$2&p3=$3; }

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

Может есть другой вариант написания?

Как правильно записать это в .htaccess?

Есть 2 различные директории с разными файлами .htaccess в каждой:

.htaccess №1:
# BEGIN [SEO_REDIRECTION] ErrorDocument 404 /index.php?error=404 # END [SEO_REDIRECTION] # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ — [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule. /index.php [L] # END WordPress

.htaccess №2:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^(redirect\.php) RewriteRule ^(.*)$ redirect.php?l=$1 [L]

Появилась необходимость объединить их в одну, но если я просто «склеиваю» содержимое .htaccess, то ничего не работает. Я пробовал убирать различные строки, но ничего не выходило все равно. Прошу прощения за кривой код, я нуб.

Как удалить подкаталоги по маске?

Всем привет.
Есть сетевой путь \\shara\x\2017
В нем лежит куча папок с разными названиями
Что-то типа
spoiler
17.12.2016 10:38 Touax rail_E
22.12.2016 11:20 Tradesoft_E
27.12.2016 10:53 Tradesoft_E_2016
22.12.2016 16:05 Trias sentosa_E
14.12.2016 13:05 Tubnui zavod_2017_E
23.12.2016 11:31 Turkish delights_DS
21.12.2016 14:51 UD Kabarovsky_15_2017
26.11.2016 14:22 Ulma_E
22.11.2016 17:01 Union copper rod_D
23.11.2016 11:15 Union-tec_E
24.11.2016 11:58 Uruguayxxi_E
24.12.2016 10:40 Vacmet limited_E
27.12.2016 09:16 Valeria
22.11.2016 09:43 Vintorg_2016
24.11.2016 13:57 Vinyl on_2016
17.12.2016 12:48 Vishakha polyfab_E
22.11.2016 14:25 Vkk rus
Читать дальше

Как перенаправить посетителей с html страницы на aspx?

В базы данных разных поисковых систем попали страницы сайта вида page1.aspx.html
и page1.aspx. Страницы с окончанием .html физически уже не существуют и всех надо перенаправить со страниц *.aspx.html на *.aspx

Общедоступный код, не помогает (он режет только для страниц вида page.html -> page )
RewriteEngine on
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.html\ HTTP
RewriteRule ^([^.]+)\.html$ yukimori.ru/$1 [R=301,L]
RewriteCond %{REQUEST_URI} !(\.[^./]+)$
RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f
RewriteRule (.*) /$1.html [L]

Помогите, как сделать.

Почему существующая страница возвращает ответ сервера 404?

Страница содержит контент, но почему то возвращает код 404. Можно ли как нибудь это исправить?
HTTP/1.1 404 Not Found
Server: nginx/1.10.1
Date: Mon, 31 Oct 2016 08:22:29 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/7.0.8
Cache-Control: private, must-revalidate
pragma: no-cache
expires: -1
X-Frame-Options: SAMEORIGIN
Set-Cookie: laravel_session=eyJpdiI6InM2V1dyNU55Y0NBNnhGZks4VUlnVmU0TFVYZVE5S0NrYitMZUtOSjVBN2c9IiwidmFsdWUiOiJGeWZcL3dESlBzNmNGNmdwN1VENEhTZWhNR1ZRUmhOQkk0R3RkQ0preW4xc25CY216MTBhTTF0TnRDMWRXc3ZKTnpLVE1ZUm9tTEROSGtMSUhcL1wvb1Fjdz09IiwibWFjIjoiYTMyYTY5YjgzMzQyNThlNGUxNDc5NzVlMzAwZTlhZDg4ZTk5ODI0YmZjNDU3NjhiZmMxODUzNTQzZGI5MDA3NiJ9; expires=Mon, 31-Oct-2016 10:22:29 GMT; Max-Age=7200; path=/; HttpOnly

Страница: eco-stolica.ru/дератизация/крысы/как-бороться-в-частном-доме

Как организовать структуру каталогов для веб-сервера?

Ситуация такая. Есть приложение которое скачивает изображения в свое собственное дерево каталогов т.е.:
D:\imgs\foo
\bar
\baz
\xxx
\yyy
\bar\1
\bar\2

Есть веб-сервер, который должен отдавать эти данные в веб. Проблема в том, что я не пойму как сёрвить данные изображения т.е.
`myserver\public` `public` — это у нас каталог из которого мы отдаем файлы. Но тут то у меня изображения качаются в другой каталог с большим уровнем вложенности.

Какие могут быть варианты?

Как реализовать доступ к странице сайта с определенных диапазонов Ip через nginx?

Пытаюсь реализовать доступ к странице сайта через nginx с определенных ip адресов
вариант первый через allow deny, почему-то некоторые яваскрипты работают криво, вместо того чтобы исполнить предлагает скачать его.

второй вариант
if ($remote_addr !~ (aaa.bbb.ccc)|(ddd.eee.fff)|(ggg.hhh.iii)) {
return 444;
}
работает только с одиночными ip адресами, можно ли вставить подсеть?

третий вариант через гео, но я не пойму как указать доступ к определенной папке
вот как у меня выглядит
geo $bad_user {
default 0;
171.196.0.0/16 1;
171.198.0.0/16 1;
location 0 {
rewrite ^ www.example.com/123.html;
}
}
Но я так понял таким методом будет идти перенаправление со всего домена, а как сделать допустим только с папки /wp/234/

Как фиксить эту проблему ( залил проект на хостинг )?

На сервере версия версия PHP: 7.0, использую Laravel 5.3
Залил проект на хостинг и в логах вижу:
[Sat Sep 17 10:59:52 2016] [error] [client 94.158.50.47] File does not exist: /var/www/vhosts/mysite/httpdocs/img, referer: mysite/ [Fri Sep 23 16:01:09 2016] [crit] [client 94.158.59.192] (13)Permission denied: /var/www/vhosts/mysite/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable [Fri Sep 23 16:01:32 2016] [error] [client 94.158.59.192] File does not exist: /var/www/vhosts/mysite/httpdocs/img, referer: mysite/ [Fri Sep 23 16:41:02 2016] [error] [client 94.158.58.231] File does not exist: /var/www/vhosts/mysite/httpdocs/img, referer: mysite/ [Fri Sep 23 17:15:29 2016] [error] [client 94.158.51.70] File does not exist: /var/www/vhosts/mysite/httpdocs/img, referer: mysite/ [Fri Sep 23 17:41:57 2016] [error] [client 94.158.58.231] Directory index forbidden by Options directive: /var/www/vhosts/mysite/httpdocs/test/ [Fri Sep 23 18:40:18 2016] [error] [client 94.158.51.208] PHP Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /var/www/vhosts/mysite/httpdocs/mysite.mysite/public/index.php on line 49
Гугл говорит использовать версию php = 5.5, через phpinfo() он выдает версию 7.0? уже все силы израсходовал, как фиксить дальше?

Как направить браузер на Сайт если Сайт и Сервер имеют тот же домен — domain.com?

Добрый день, уважаемые гуру!

Наш Сайт и Сервер имеют один и тот же домен: domain.com
Предыдущий админ настроил файл /ect/hosts таким образом, чтобы при входе через браузер на domain.com пользователь попадал на сайт, а не на сервер.
Было так: 000.000.000.000www.domain.com
(Т.е.: IP и домен. Именно IP-адрес САЙТА)

А также в DNS была запись типа А с этим же IP.
А также был настроен proxy

Произошел переезд сайта на другой IP.
Я прописал этот новый IP в DNS записи и в hosts
Proxy не трогал

Но! когда вбиваю в браузер domain.com — браузер перебрасывает на хостинг где лежит сайт, т.е. на mirohost.net

Помогите, какие могут быть варианты?
Proxy
DNS
hosts

где еще рыть?

Заранее благодарен