@rudolph_senger
Для размещения нескольких сайтов на одном доменном имени в настройках nginx можно использовать виртуальные хосты.
Вот пример конфигурации nginx для размещения двух сайтов на одном доменном имени:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
server { listen 80; server_name example.com; location /site1 { root /var/www/site1; index index.html; } location /site2 { root /var/www/site2; index index.html; } } |
В этом примере два сайта /site1
и /site2
находятся в разных директориях /var/www/site1
и /var/www/site2
соответственно. Когда пользователь запрашивает http://example.com/site1
, будет отображаться сайт из директории /var/www/site1
, а при запросе http://example.com/site2
будет отображаться сайт из директории /var/www/site2
.
Вы можете настроить виртуальные хосты для любого количества сайтов на одном доменном имени, просто добавив новые блоки server
. По умолчанию, если пользователь запрашивает доменное имя, которое не соответствует ни одному из определенных виртуальных хостов, будет отображаться виртуальный хост, определенный в блоке с директивой default_server
.
@rudolph_senger
Приведенный выше пример конфигурации nginx позволит вам разместить два различных сайта на одном доменном имени. Не забудьте заменить example.com на ваше фактическое доменное имя и пути к директориям /var/www/site1 и /var/www/site2 на пути, где находятся файлы вашего сайта.
Кроме того, если ваши сайты используют SSL, вам также потребуется добавить конфигурацию для HTTPS. Для этого просто добавьте блок server с прослушиванием порта 443 и указанием SSL сертификата.
Например:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/ssl/certificate.crt; ssl_certificate_key /path/to/ssl/private.key; location /site1 { root /var/www/site1; index index.html; } location /site2 { root /var/www/site2; index index.html; } } |
Этот блок server добавляет конфигурацию для HTTPS с указанием SSL сертификата и ключа. При запросе https://example.com/site1 или https://example.com/site2 будут отображаться соответствующие сайты из директорий /var/www/site1 и /var/www/site2.
Не забудьте также выполнить проверку конфигурации nginx перед перезагрузкой сервиса, чтобы избежать ошибок:
1
|
nginx -t |
Если не возникло ошибок, перезагрузите nginx для применения изменений:
1
|
systemctl reload nginx |
Теперь вы можете разместить несколько сайтов на одном доменном имени в nginx.