Недавно докупил себе еще парочку доменов. И вот решил их все обслуживать на одном хостинге с одним IP. Nginx естественно просто так отказывался обслуживать несколько доменов на одном IP. Пришлось его «приручать». Все оказалось очень даже просто.
Для начала находим, где у вас находится файл nginx.conf
После чего ищем в этом файле блок server и просто выделяем его и копируем в самый конец файла nginx.conf У меня он выглядел вот так:
server {
listen 80;
server_name mysite1.ru;
location / {
root /home/mysite1;
index index.php index.html index.htm;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php last;
}
}
#error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root /home/mysyte1;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/mysyte1$fastcgi_script_name;
include fastcgi_params;
}
}
Не ошибитесь со скобками!
После чего нам только остается его отредактировать в соответствии с положением папки с вашим сайтом на вашем сервере. У меня второй сайт располагался рядом с первым – в папке home. Поэтому я в скопированной части просто заменяю mysyte1 на mysyte2. Внимательно меняйте во всех местах.
Следующим шагом перезапускам nginx. И вуаля – у нас работаю 2 сайта на одном IP адресе.
P.S: Если при настройке WordPress вы настраивали «постоянный ссылки», то вам также необходимо будет настроить nginx для их правильного отображения. Для этого в файле nginx.conf делаем вот такие изменения:
server {
listen 80;
………
root /home/mysyte1;
index index.html index.php;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php last;
}
location ~ \.php$ {
proxy_pass http://127.0.0.1:8080;
…………..
ну и в настройках WordPress’а указываем, что хотим использовать красивые урлы.