Главная » Linux Ubuntu/Mint » Cервер nginx » Установка Nginx+php5-fpm+MariaDB на Ubuntu 14.04

📑 Установка Nginx+php5-fpm+MariaDB на Ubuntu 14.04

Установка Mariadb

Добавление репозитория и получение ключа:

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
sudo add-apt-repository 'deb http://mirror.mephi.ru/mariadb/repo/5.5/ubuntu trusty main'

Установка:

sudo apt-get update
sudo apt-get install mariadb-server
mysql_secure_installation
sudo service mysql restart

Установка php5-fpm и nginx

sudo apt-get install php5-cli php5-common php5-mysql php5-gd php5-fpm php5-cgi php-pear php5-mcrypt php5-curl php5-json
sudo apt-get install nginx

Настройка PHP-FPM

sudo service nginx stop
sudo service php5-fpm stop

Прежде всего, следует открыть конфигурационный файл «/etc/php5/fpm/php.ini» для редактирования любимым редактором текста:

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

после чего, найти строчку содержащую «cgi.fix_pathinfo», которая по-умолчанию обычно закомментирована

;cgi.fix_pathinfo = 1

и привести её к виду

cgi.fix_pathinfo = 0

Попутно подправить следующие две строчки, исходя из местоположения и пожелания к максимальному размеру загружаемого файла:

date.timezone = Europe/Moscow
upload_max_filesize =32M

В Ubuntu конфигурация PHP-FPM хранится в двух файлах:

  • глобальные настройки (/etc/php5/fpm/php-fpm.conf)
  • настройки пулов (/etc/php5/fpm/pool.d/*.conf).

Глобальные настройки обычно трогать не надо, а править только настройки пулов. По умолчанию в Ubuntu есть единственный пул «www» (файл: /etc/php5/fpm/pool.d/www.conf). В случае разных требований сайтов к PHP-окружению может потребоваться создание дополнительных пулов, но это тема для другой статьи. Правим:

sudo nano /etc/php5/fpm/pool.d/www.conf

Подправить (проверить, что они раскомментированы) нужно следующие строчки:

listen = /var/run/php5-fpm.sock
listen.mode = 0660
pm.max_requests = 500
security.limit_extensions = .php .php3 .php4 .php5

Стартуем сервис php5-fpm:

sudo service php5-fpm start

Можно убедится в том, что права доступа к сокету установлены верно:

ls -la /var/run/php5-fpm.sock

Права доступа должны быть «srw-rw—-», владелец «www-data» (группа «www-data»), например,

srw-rw---- 1 www-data www-data 0 сент. 12 22:32 /var/run/php5-fpm.sock

Настройка nginx

Теперь правим конфигурационный файл nginx:

sudo nano /etc/nginx/nginx.conf

Приводя его к виду:

user www-data;
worker_processes 2;
pid /run/nginx.pid;

events {
use epoll;
worker_connections 1024;
multi_accept on;
}

http {

# Используем sendfile, но осторожно, если надо отдавать большие файлы,
# то sendfile случается вредит
sendfile on;

# Ограничиваем размер сегмента отправляемой за одну блокируемую отдачу
sendfile_max_chunk 128k;

# Буфер отдачи который используется для обрабатываемых данных
postpone_output 1460;

# Размер хеша для доменных имен.
server_names_hash_bucket_size 64;

# Размер данных принимаемых post запросом
client_max_body_size 15m;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;

# Number of requests a client can make over the keep-alive connection.
keepalive_requests 1000;

# Allow the server to close the connection after a client stops responding.
reset_timedout_connection on;

# Send the client a "request timed out" if the body is not loaded by this time.
client_body_timeout 10;

# If the client stops reading data, free up the stale client connection after this much time.
send_timeout 2;

types_hash_max_size 2048;

# Не говорим врагу версию nginx
server_tokens off;
include /etc/nginx/mime.types;
default_type application/octet-stream;

# Настройки логирования
access_log /var/log/nginx/access.log;

error_log /var/log/nginx/error.log notice;

# Настройки компрессии
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript

# Caches information about open FDs, freqently accessed files.
open_file_cache max=200000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}

Естественно настройки можно поменять, здесь приводятся те, котрые обычно используем мы.
Стартуем сервис nginx:

sudo service nginx start

И проверяем любимым браузером. Должно выдать:

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.
При перепечатке просьба вставлять активные ссылки на oslogic.ru
Copyright oslogic.ru © 2024 . All Rights Reserved.