NGinx. Настройка виртуального хоста
Пример настройки виртуального хоста nginx.
Создайте файл конфигурации нового виртуального хоста:
sudo nano /etc/nginx/sites-available/MYSITE.lcl
server {
listen 80;
server_name MYSITE.lcl;
root /PATH/TO/SITE/PUBLIC;
index index.html index.php;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
try_files $uri =404;
#fastcgi_pass localhost:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
Включите этот сайт:
sudo ln -s /etc/nginx/sites-available/MYSITE.lcl /etc/nginx/sites-enabled/MYSITE.lcl
Проверьте конфиг nginx
, и перезагрузите демон:
sudo nginx -t
sudo service nginx reload
Баг configtest
В версии 1.8 команда service nginx configtest
всегда возвращает пустую строку. Используйте вместо нее: nginx -t
.
Внимание!
Ошибка:
nginx: [emerg] unknown directive "" in /etc/nginx/sites-enabled/YOUR-SITE:N
Указывает на то, что в конфиге есть невидимые символы переноса строки. Такие символы могли попасть в файл конфига при копировании настроек сервера из скайпа или slack. Удалите переносы строк и отформатируйте конфиг заново.
Внимание!
При ошибке 243 connect() failed (111: Connection refused) укажите как nginx нужно соединяться с fastcgi - через tcp соединение или через unix-сокет:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_pass 127.0.0.1:9000;
#nginx, #nginx setup server, #nginx sites-available