Ubuntolog's Blog

LNMP (Linux, Nginx, MySQL, PHP) + Ubuntu + PHP-FPM

Posted in HOWTO, Ubuntu by ubuntolog on 02.04.2010

Ось тут можна почитати про налаштування LLMP(Linux, Lighttpd, MySQL, PHP). Та є в першій п’ятірці рейтингу веб-серверів, чудовий, високопродуктивний, веб-сервер Nginx, не буду описувати всі його переваги, вичерпну інформацію можна отримати на оф.сторінці проекту. А в цій замітці я хочу поділитися мануальчиком про організацію його роботи з PHP, через php-fpm під Ubuntu. В глобальній мережі є багацько ресурсів описуючих дану процедуру, але як правило частина з них вже морально застаріла, а інша частина описує компілювання з вихідних кодів, але то не є варіант для “лентюха зі стажем” :). Отже вперед…

1.Встановлення Nginx:

тут все дуже просто,

sudo apt-get install nginx

запустимо сервер,

sudo /etc/init.d/nginx start

і перевіримо його роботу: в браузері-> http://localhost/, бачимо привітання – сервер працює!

2.Редагування Vhost за замовчуванням:

в моєму випадку скоріше не редагування, а банальна заміна вмісту файлу default

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

приводимо його до наступного вигляду:

це налаштування тільки одного віртуального сервера, якщо їх в вас декілька, то відповідно потрібно створити декілька секцій server з індивідуальними налаштуваннями

server {
   listen   80;
   server_name  localhost;
   access_log  /var/log/nginx/localhost.access.log;

   ## Default location
   location / {
      root   /var/www;
      index  index.php;
      }

   ## Images and static content is treated different
   location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
      access_log        off;
      expires           30d;
      root /var/www;
      }

   ## Parse all .php file in the /var/www directory
   location ~ .php$ {
      fastcgi_split_path_info ^(.+\.php)(.*)$;
      fastcgi_pass   backend;
      fastcgi_index  index.php;
      fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
      include fastcgi_params;
      fastcgi_param  QUERY_STRING     $query_string;
      fastcgi_param  REQUEST_METHOD   $request_method;
      fastcgi_param  CONTENT_TYPE     $content_type;
      fastcgi_param  CONTENT_LENGTH   $content_length;
      fastcgi_intercept_errors        on;
      fastcgi_ignore_client_abort     off;
      fastcgi_connect_timeout 60;
      fastcgi_send_timeout 180;
      fastcgi_read_timeout 180;
      fastcgi_buffer_size 128k;
      fastcgi_buffers 4 256k;
      fastcgi_busy_buffers_size 256k;
      fastcgi_temp_file_write_size 256k;
      }

   ## Disable viewing .htaccess & .htpassword
   location ~ /\.ht {
      deny  all;
      }
}
upstream backend {
   server 127.0.0.1:9000;
   }

3.Встановлення додаткових бібліотек для задоволення залежностей  PHP-FPM:

так-так, в PHP-FPM теж є свої потреби 🙂

cd /tmp
wget    http://us.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu38_3.8-6ubuntu0.2_i386.deb
wget    http://us.archive.ubuntu.com/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5ubuntu2_i386.deb
sudo dpkg -i *.deb

4.Добавляємо сторонній репозитарій Dotdeb:
PHP-FRM відсутній в стандартних репозитаріях.

sudo echo "deb http://php53.dotdeb.org stable all" >>   /etc/apt/sources.list
sudo apt-get update

5.Встановлення PHP:

простіше простого…

sudo apt-get install php5-cli php5-common php5-suhosin

php5-fpm та php5-cgi доставимо пізніше, щоб в APTа не виникало зайвих питань

sudo apt-get install php5-fpm php5-cgi

6.Перевірка роботи PHP:

Перезавантажимо наших демонів:

sudo /etc/init.d/nginx restart
sudo /etc/init.d/php5-fpm restart

Створимо в кореневому каталозі веб-сервера, в нашому випадку /var/www, файл index.php, і наповнимо його таким змістом:

<?php
phpinfo();
?>

В браузері -> http://localhost/test.php, якщо бачимо наступну таблицю, значить PHP працює:

7.Встановлення MySQL:

sudo apt-get install php5-mysql mysql-server mysql-client

в процесі установки вказуємо пароль root, сервера MySQL.

8.Фінал, наш LNMP-сервер, з підтримкою PHP, готовий до роботи.

Advertisements
Tagged with: , , ,

Залишити відповідь

Заповніть поля нижче або авторизуйтесь клікнувши по іконці

Лого WordPress.com

Ви коментуєте, використовуючи свій обліковий запис WordPress.com. Log Out / Змінити )

Twitter picture

Ви коментуєте, використовуючи свій обліковий запис Twitter. Log Out / Змінити )

Facebook photo

Ви коментуєте, використовуючи свій обліковий запис Facebook. Log Out / Змінити )

Google+ photo

Ви коментуєте, використовуючи свій обліковий запис Google+. Log Out / Змінити )

З’єднання з %s

%d блогерам подобається це: