NGinx. Настройка виртуального хоста

Категория: Linux

Пример настройки виртуального хоста 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

категория: Linux