Установка web сервера nginx

Стало интересно  установить nginx +php-fpm в качестве домашнего web сервера.


Установка: сначала обновим информацию о загруженных пакетах

sudo apt-get update

sudo apt-get install nginx (Будут установлены следующие дополнительные пакеты:

nginx-common nginx-full

НОВЫЕ пакеты, которые будут установлены:

nginx nginx-common nginx-full)

1.

sudo apt-get install nginx nginx-common nginx-full

Откроем дефолтный файл

sudo nano /etc/nginx/sites-available/default

раскомментируем строки

server {

        #listen   80; ## listen for ipv4; this line is default and implied

        #listen   [::]:80 default_server ipv6only=on; ## listen for ipv6

ctrl+O(сохранить), ctrl+X(выход)

sudo service nginx restart

переходим в http://localhost/

Welcome to nginx!

если видим такую надпись значит все нормально идем дальше

Установка mysql-server

apt-get install mysql-server

 

Установка PHP

 

apt-get install php5-fpm php5-mysql php5-gd

Откроем дефолтный файл
sudo nano /etc/nginx/sites-available/default

и добавим index.php в строку

root /usr/share/nginx/www;
        index index.php index.html index.htm;

и раскомментируем строки

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;
    }

Создадим и отредактируем файл info.php
nano /usr/share/nginx/www/info.php

Вставим в редактор

<?php phpinfo(); ?>

Сохраним ctrl+O (Enter),

sudo service php5-fpm restart

sudo service nginx restart

Проверим http://localhost/info.php

 

 

Настройка php

sudo nano /etc/php5/fpm/php.ini

ctrl+w найдем строку cgi.fix_pathinfo

по умолчанию стоит 1

выставим значение:

cgi.fix_pathinfo=0

ctrl+O enter ctrl+x выход

sudo service php5-fpm restart

перезагрузили и применили изменения все работает

 

Устанавливаем phpmyadmin

sudo apt-get install phpmyadmin

Будут установлены следующие дополнительные пакеты:
  dbconfig-common libmcrypt4 php5-gd php5-mcrypt

При установке нужно отказаться от выбора сервера нажать Tab и enter

sudo ln -s /usr/share/phpmyadmin /usr/share/nginx/www

 

также будет предложено ввести пароль

 

После установки создадим сим ссылку

sudo ln -s /usr/share/phpmyadmin /usr/share/nginx/www

идем в http://localhost/phpmyadmin/

нужно зайти от root и добавить пользователя 

Добавим еще один сайт

Создаем копию default сайта и переименуем его (например wordpress)




       sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/wordpress

Маленькое отступление. Очень удобно работать в двух-панельном графическом редакторе Krusader (apt-get install krusader)

В Дебиан запустить от суперпользователя можно командой: gksu krusader В Ubuntu работает Alt+Shift+K

В качестве редактора удобно использовать Bluefish (apt-get install bluefish)

Дальше редактируем файл

sudo nano /etc/nginx/sites-available/wordpress

удалил строку c default server

listen [::]:80 default_server ipv6only=on; ## listen for ipv6

в следующей строке добавил путь до сайта

root /usr/share/nginx/www/wordpress;

в строке server_name поменял название на wordpress

server_name wordpress

строку: try_files $uri $uri/ /index.html;
изменил на

try_files $uri $uri/ /index.php?$args;

добавил(для друпал):

  location @rewrite {
      # unless the request is for a valid file, send to bootstrap if (!-e $request_filename)
      rewrite ^(.+)$ /index.php?q=$1 last;
   }

подключим сайт

sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled

в файле hosts добавим наш host

sudo nano /etc/hosts

127.0.0.1    localhost  wordpress

 

sudo service nginx restart 

Ну да нужно еще скопировать архив wordpress в папку /usr/share/nginx/www и распаковать. Набираем в браузере http://wordpress

 

Категории Hi-tech: 

Добавить комментарий

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.