ngnix намного проще в Linux - по крайней мере, документировано. У меня такое чувство, что мы должны начать с самого начала. Обычно ngnix работает «из коробки», хотя вам нужно отдельно настроить такие вещи, как php - нет эквивалента мод-прокси.
В любом современном HTTP-сервере есть немного виртуальных хостов. в ngnix вы можете настроить их как отдельный файл или как отдельные файлы. Этот тип не будет работать на FTP - но есть обходные пути. ( Ngnix называет это серверными блоками, но такая же разница ).
Просто создайте отдельные учетные записи в ftp с разными именами пользователей, паролями и каталогами rood.
Virtualhosts работает только по протоколам http и https и в основном представляет собой способ направления трафика в разных доменах на разные маршруты, позволяя запускать несколько служб в разных корневых каталогах на основе имени хоста. Например, вы можете запустить два экземпляра WordPress на одном сервере с в основном отдельными файлами.
Я ленивый - у меня есть один файл конфигурации на домен. Если вы используете это в Windows - посмотрите соответствующую документацию для деталей.
Вы захотите найти, где находятся файлы конфигурации для каждого сайта - мои находятся в / etc / ngnix / sites-available, и они связаны с сайтами с поддержкой. это может на основе платформы
У вас всегда будет настройка по умолчанию, которая вменяема и должна работать. Это скучно, и вы можете прочитать его, чтобы понять, каковы различные варианты.
Вы можете отредактировать это (я не рекомендую это) или создать файл конфигурации для каждого сайта в той же папке. Это пример того, который я использую. Это отменяет значения по умолчанию
server { listen 80; listen [::]:80; root /var/www/html/new; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html index.php; server_name new.example.com; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } # pass the PHP scripts to FastCGI server via unix socks # location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # location ~ /\.ht { deny all; } }
Итак, более или менее, я говорю ему слушать порт 80 на ipv4 и 6, сообщать ему имя хоста для прослушивания и некоторые другие вещи, связанные с php.
Если я изменю root и меняю new.example.com на new2.example.com и меняю root, он будет отправлять любые запросы на new2.example.com к содержимому в новом root. Например, вы можете запустить 2 копии WordPress на одном сервере с разными доменами. Я создаю один из них с соответствующими server_name и root для домена в сайтах с поддержкой, символическую ссылку на них с сайтами (может работать по-разному в Windows) и перезагружаю мою конфигурацию nginix.
Предполагая, что вы пытаетесь прокси У вас будет один или несколько серверов на разных портах. ngnix сидит впереди прямого движения
server { listen 80; listen [::]:80; server_name matrix.example.com; location /_matrix { proxy_pass http://localhost:8008; proxy_set_header X-Forwarded-For $remote_addr; } }
Рассмотрим этот конфигурационный файл - я не уверен, что он действительно будет работать (я использую версию с поддержкой HTTPS), но для этого нужны документы . Он будет прослушивать порт 80 для домена matrix.example.com.