Гайд Настройка вирртуального хоста nginx

zerg

Пользователь
Регистрация
8 Июн 2017
Сообщения
51
Симпатии
24
Пол
Мужской
Многие начинающие администраторы когда либо задавались вопросом как привязать домен или создать поддомен для своего сайта.
В этой статье мы рассмотрим пример настройки виртуального хоста под управлением ubuntu 16.04.
Поехали.

Для начала у вас должен быть установлен веб-севрер nginx, если он еще не установлен, тогда проделываем следующие шаги от рутового пользователя:
Код:
sudo apt update
sudo apt install nginx
За стандартом, директории сайтов находится по пути /var/www/html, по этому мы будем проводить манипуляции в папке /var/www
Создадим директори нашего сайта:
Код:
sudo mkdir -p /var/www/example.ru/html

sudo mkdir -p /var/www/example.ru/logs
Где example.ru указываем свое название сайта или поддомена.
В папке html будут лежать файлы сайта, а в папке logs - логи.
Дальше нам понадобится не рутовый пользователь, в качестве владельца сайта:
Код:
sudo adduser user
Где user указываем имя своего пользователя.
После выполнения данной команды вам нужно будет ввести, а после подтвердить, пароль созданого вами пользователя. Запоминаем или записываем данные. Когда то они нам, возможно, будут нужны.
Создав пользователя нам нужно выдать ему права на директорию сайта, сделаем это:
Код:
sudo chown -R user:user /var/www/example.ru
Где user - имя пользователя, которого вы создали, а example.ru - название вашего сайта или поддомена.

Теперь у нас есть директория под сайт, а так же ее владелец.
Создадим страницу приветствия нашего сайта:
Код:
nano /var/www/example.ru/html/index.html
Вставив внутрь следующий текст:
Код:
<html>

    <head>
        <title>Приветствуем вас на нашем сайте example.ru</title>
    </head>
    <body>
        <h1>Если вы видите данную страницу, значит всё работает :)</h1>
    </body>
</html>
Сохраняем и закрываем файл index.html

Осталось создать виртуальный хост и включить наш сайт.
В качестве дефолтного сайта nginx отвечает файл default, который находится по пути /etc/nginx/sites-available
Скопируем его:
Код:
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.ru
Вместо example.ru опять же указываем имя своего сайта или поддомена. Можно и любое другое, но для простоты выбираем имя нашего сайта.
Отредактируем скопированный файл:
Код:
sudo nano /etc/nginx/sites-available/example.ru
Дальше вносим некоторые изминения в файл:
Код:
server {

  
    #Слушаем 80 порт и указываем имя своего домена
    listen 80;
    server_name example.ru www.example.ru;

    #Указываем путь, куда будут писатся логи
    access_log /var/www/example.ru/logs/nginx_access.log;
    error_log /var/www/example.ru/logs/nginx_error.log;

    #Указываем директорию, где будет размещен наш сайт
    root /var/www/example.ru/html;
    index index.php index.html index.htm;

    #Некоторые настройки для виртуального хоста
    location ~ \.php$ {
        #Если не найден файл - выдаем ошибку 404
        try_files $uri $uri/ =404;
    }
}
Закрываем и сохраняем файл нашего виртуального хоста.
Включаем наш сайт, прописывав в терминале:
Код:
sudo ln -s /etc/nginx/sites-available/example.ru /etc/nginx/sites-enabled/
Рестартим nginx и проверяем работоспособность сайта.
Код:
sudo systemctl restart nginx
Дальше в браузере переходим на наш сайт: example.ru
Если всё работает, то вы увидите страницу приветствия, которую мы создавали ранее.
На этом настройка виртуального хоста завершена, после этого можно наполнять наш сайт.

Спасибо за внимание, это моя первая статья, которая рассчина на новичков. Строго не судите.
p.s. Мог что то пропустить, если такое есть - прошу поправить.
 

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.595
Симпатии
572
Пол
Мужской
чтото не вишло(((
при переходе на сайт... "Не удается найти DNS-адрес сервера"
 

zerg

Пользователь
Регистрация
8 Июн 2017
Сообщения
51
Симпатии
24
Пол
Мужской
Vesuvius, домен направили на хост?
 

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.595
Симпатии
572
Пол
Мужской
Vesuvius, домен направили на хост?
да.. в домене прописал NS и ір ...
в консоле вот такое
ln: failed to create symbolic link `/etc/nginx/sites-enabled/tm-inf.in.ua': File exists
если переходить по ір.. то показивает что роботает nginx 195.88.209.115
 

zerg

Пользователь
Регистрация
8 Июн 2017
Сообщения
51
Симпатии
24
Пол
Мужской
Vesuvius, file exists - файл существует
прикрепите ниже свои ns записи, а так содержание файла tm-inf.in.ua
Скорее всего, вы не добавили "A" записи.
 
Последнее редактирование:

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.595
Симпатии
572
Пол
Мужской
Vesuvius, file exists - файл существует
прикрепите ниже свои ns записи, а так содержание файла tm-inf.in.ua
Скорее всего, вы не добавили "A" записи.
я вить говорю что добавил ір на хосте где покупал домен...
ns1.ipserver.su
ns2.ipserver.su
# You may add here your
# server {
# ...
# }
# statements for each of your virtual hosts to this file

##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# Pitfalls and Common Mistakes | NGINX
# Getting Started | NGINX
# Getting Started | NGINX
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

server {
#listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6

root /var/www/tm-inf.in.ua/html;
index index.html index.htm;

# Make site accessible from http://localhost/
listen 80;
server_name tm-inf.in.ua www.tm-inf.in.ua;

#Указываем путь, куда будут писатся логи
access_log /var/www/tm-inf.in.ua/logs/nginx_access.log;
error_log /var/www/tm-inf.in.ua/logs/nginx_error.log;

#Некоторые настройки для виртуального хоста
location ~ \.php$ {
#Если не найден файл - выдаем ошибку 404
try_files $uri $uri/ =404;
}

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ /index.html;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}

location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
allow ::1;
deny all;
}
location /fastdl/ {
alias /home/pb/pb/cstrike/;
autoindex on;
location ~* (\.wad$|(maps|sprites|models|gfx|sound|media|overviews)/.*(bsp|mdl|spr|wav|mp3|bmp|tga|txt|res)$) {
allow all;
}
deny all;
}

# Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests
#location /RequestDenied {
# proxy_pass http://127.0.0.1:8080;
#}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
# root /usr/share/nginx/www;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_index index.php;
# include fastcgi_params;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# root html;
# index index.html index.htm;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}


# HTTPS server
#
#server {
# listen 443;
# server_name localhost;
#
# root html;
# index index.html index.htm;
#
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
#
# ssl_session_timeout 5m;
#
# ssl_protocols SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
# ssl_prefer_server_ciphers on;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
 

zerg

Пользователь
Регистрация
8 Июн 2017
Сообщения
51
Симпатии
24
Пол
Мужской
Vesuvius, вы только перенаправили домен на ns сервера ipserver.su . Кроме этого нужно еще настроить "А" записи. В личном кабинете ipserver есть услуга DNSmanager. Войдите в кабинет dnsmanagera, после чего нажмите на кнопку создать в окне доменные имена, выберите тип master и заполните поле доменного имени(введите название своего домена). Создав домен нужно добавить записи, нажмите на кнопку "записи" и добавте нужные:
* A ip
@ A ip
www A ip
Обозначения вводить в поле "Имя"
Где А - тип записи
Где ip - ip адрес своей впски.
 

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.595
Симпатии
572
Пол
Мужской
zerg, ухти....
я добавлял домен по другому...
иду пробовать...
спасибо что розжевали)))
 

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.595
Симпатии
572
Пол
Мужской
все работает))) спасибо еще раз
иду писать php теперь)
 
Последнее редактирование:

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.595
Симпатии
572
Пол
Мужской

breakt

Заблокированные
Регистрация
8 Июн 2017
Сообщения
109
Симпатии
33
еще вопрос... нужен phpMyAdmin но при ево установке нету вибора nginx... есть АПАЧЕ
но нафига мне апаче если есть уже nginx
как бить? нашол... не брать во внемание!!!

кому может будет нужно Установка phpMyAdmin на Nginx в Ubuntu 12.04 / Debian / Ubuntu / Howitmake.ru
На вашем бы месте я бы не стал устанавливать PhpMyAdmin, лучше используйте Navicat или SQLyog
 

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.595
Симпатии
572
Пол
Мужской
На вашем бы месте я бы не стал устанавливать PhpMyAdmin, лучше используйте Navicat или SQLyog
решил не устанавливать совсем ничево кроме сервера... моих знаний недостачно для того чтоб хорошо все настроить... боюсь что потом могут взламать((
 

breakt

Заблокированные
Регистрация
8 Июн 2017
Сообщения
109
Симпатии
33
решил не устанавливать совсем ничево кроме сервера... моих знаний недостачно для того чтоб хорошо все настроить... боюсь что потом могут взламать((
PhpMyAdmin - дырка, если устанавливаете то лочьте на доступ только с вашего IP. А SQlyog или Navicat это программы для взаимодействия с базами Mysql.
 

zerg

Пользователь
Регистрация
8 Июн 2017
Сообщения
51
Симпатии
24
Пол
Мужской
breakt, на очень хитромудрый поддомен или путь кинуть, вроде бы, тоже варик.
 

neygomon

Его Темнейшество :j
Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
804
Симпатии
382
Пол
Мужской
zerg, кому надо тот найдет :))))
 

zerg

Пользователь
Регистрация
8 Июн 2017
Сообщения
51
Симпатии
24
Пол
Мужской
neygomon, кому действитель надо, тот и без pma найдет)
а так, кому нужно тормошить сервер с банлистом и ранком игроков? Толку 0. Другое дело понимаю какой то онлайн магазин или чё то посерьезнее.
 

breakt

Заблокированные
Регистрация
8 Июн 2017
Сообщения
109
Симпатии
33
neygomon, кому действитель надо, тот и без pma найдет)
а так, кому нужно тормошить сервер с банлистом и ранком игроков? Толку 0. Другое дело понимаю какой то онлайн магазин или чё то посерьезнее.
Ну например ЦПУ майнер залить можно, или как дедик для брута использовать.
 

zerg

Пользователь
Регистрация
8 Июн 2017
Сообщения
51
Симпатии
24
Пол
Мужской
breakt, конечно, это только пример, но шансы намайнить что то на 2ядерной машинке бесконечно стерямтся к 0. Рублей 10 в сутки? Бред, это никому не нужно.
Это уже большой бизнес, и без вложений тут не обойтись.
 

neygomon

Его Темнейшество :j
Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
804
Симпатии
382
Пол
Мужской
zerg, а если учесть, что вдс чужая и вообще на нее поебать, то даже 10р в сутки норм )
 

zerg

Пользователь
Регистрация
8 Июн 2017
Сообщения
51
Симпатии
24
Пол
Мужской
neygomon, ну тогда за месяц на пачку сиг можно заработать Crazy, если не прикроют)
Врядли оно того стоит, хотя разные люди бывают.
 
Последнее редактирование:
Сверху Снизу