Привет, уважаемые читатели.
В статье CENTOS 7+NGINX+PHP я описал, как установить NGINX и сделать связку с php.
В этой краткой статье я расскажу, как выглядит базовая настройка для большого кол-ва сайтов на одном сервере.
Например, у вас есть 2-3 разных домена для сайтов. В вашу задачу входит сделать 2 странички этих сайтов.
Начнем с создания директорий, в которых будет храниться информация о сайтах.
mkdir /var/www/имявашегодомена1/html/ mkdir /var/www/имявашегодомена2/html/
В этих директориях будет храниться вся информация о сайтах, в том числе и сам index.html файл. Например, если вам нужно вставить картинки на вашем сайте, можно просто положить в эту папку, а в index.html указать имя файла/картинки для его отображения.
Можно, конечно, создать отдельную директорию для файлов, но тогда будет нужно прописывать точный путь к файлу.
Создаем в каждой из папок html по index.html файлу:
nano /var/www/имявашегодомена1/html/index.html nano /var/www/имявашегодомена2/html/index.html
Теперь наполним их чем нибудь:
<!DOCTYPE html> <html> <body> <video width="1280" height="720" controls autoplay> <source src="Ember.mp4" type="video/mp4"> Your browser does not support the video tag. </video> </body> </html>
Для первого сайта я залил видео.
<!DOCTYPE html <HTML> <HEAD> <TITLE> A Small Hello </TITLE> </HEAD> <BODY> <H1>Hi</H1> <P>This is very minimal "hello world" HTML document.</P> </BODY> </HTML>
Для второго будет отображаться текст.
С этим порешали. А теперь пора приступить к созданию конфигурационных файлов сайтов.
mkdir /etc/nginx/sites-available mkdir /etc/nginx/sites-enabled
В папке sites-available будут лежать конфиги доступных сайтов.
В папке sites-enabled будут находиться символические ссылки на доступные сайты. т.е сайтов у вас может быть много, но активных(enabled) меньше.
nano /etc/nginx/sites-available/имявашегодомена1.conf nano /etc/nginx/sites-available/имявашегодомена2.conf
Конфиг возьмем из доступного шаблона и немного изменим.
server { listen 80; server_name имявашегодомена1 www.имявашегодомена1 ; root /var/www/имявашегодомена1/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; try_files $uri $uri/ =404; location / { index index.html; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
Аналогичным образом отредактируем конфиг и для второго сайта.
Теперь добавим, в основной конфиг, информацию о новой директории с сайтами.
nano /etc/nginx/nginx.conf
Строчку в конец блока http:
include /etc/nginx/sites-enabled/*.conf;
Теперь создадим символичные ссылки в директорию sites-enabled:
ln -s /etc/nginx/sites-available/имявашегодомена1.conf /etc/nginx/sites-enabled/имявашегодомена1.conf ln -s /etc/nginx/sites-available/имявашегодомена2.conf /etc/nginx/sites-enabled/имявашегодомена2.conf
Ссылки созданы, теперь перезагружаем nginx:
systemctl restart nginx
И пробуем зайти на наш сайт.