Услуга общего хостинга — это среда веб-хостинга, в которой несколько веб-сайтов размещаются на одном сервере. Вот несколько методов, обычно используемых в средах общего хостинга, а также примеры кода:
- Виртуальные хосты. Виртуальные хосты позволяют серверу размещать несколько веб-сайтов с разными доменными именами на одном IP-адресе. Вот пример конфигурации Apache:
<VirtualHost *:80>
ServerName www.example1.com
DocumentRoot /var/www/example1
</VirtualHost>
<VirtualHost *:80>
ServerName www.example2.com
DocumentRoot /var/www/example2
</VirtualHost>
- Изоляция файлов. Чтобы обеспечить безопасность и стабильность общего хостинга, крайне важно изолировать файлы и каталоги для каждого веб-сайта. Вот пример изоляции файлов веб-сайта с помощью структуры каталогов:
/var/www/
├── example1.com
│ ├── public_html
│ ├── logs
│ └── ...
├── example2.com
│ ├── public_html
│ ├── logs
│ └── ...
└── ...
- Ограничение ресурсов. Службы общего хостинга часто налагают ограничения на ресурсы, чтобы обеспечить справедливое использование веб-сайтами. Вот пример ограничения использования ЦП и памяти с помощью Cgroups в Linux:
# Limit CPU usage to 50%
cgcreate -g cpu:example1
echo 50000 > /sys/fs/cgroup/cpu/example1/cpu.cfs_quota_us
# Limit memory usage to 1GB
cgcreate -g memory:example1
echo 1G > /sys/fs/cgroup/memory/example1/memory.limit_in_bytes
- Отдельные базы данных. Каждый веб-сайт в среде общего хостинга должен иметь собственную базу данных для изоляции данных. Вот пример использования MySQL:
-- Create a new database
CREATE DATABASE example1;
-- Grant privileges to a user
GRANT ALL PRIVILEGES ON example1.* TO 'username'@'localhost' IDENTIFIED BY 'password';
- Мониторинг ресурсов. Мониторинг использования ресурсов помогает выявить любое ненормальное поведение или проблемы с производительностью. Вот пример использования команды «top» в Linux для мониторинга использования процессора и памяти:
top -u www-data