Настройка nginx php fpm mysql

Настройка веб-сервера Nginx + PHP-FPM + MySQL

Быстрая установка и настройка веб-сервера NginX для работы CS-Cart.

Если вы в первый раз настраиваете VPS сервер, то рекомендуем начать с изучения с более детальной инструкции: Настройка веб-сервера Apache .

Видео

Сервер и ресурсы

Для инструкции арендован самый простой VPS сервер.

Обычно VPS сервер предоставляется с чистой операционной системой, мы выбрали последнюю версию Ubuntu 14.04 LTS x86 на данный момент.

Технические характеристики сервера:

ОС Ubuntu 14.04 LTS x86
Диск 2.0 ГБ
Процессор 2000 МГц
Память 128 МБ

Ресурсов данного сервера достаточно только для теста и эксперимента.

Предупреждение! Настройку сервера для живого интернет-магазина необходимо доверить профессионалам.

Данная инструкция может быть использована для тестовых интернет-магазинов.

1. Подключаемся к серверу по SSH

Используем терминал (PuTTY).

2. Обновим список пакетов

Запустите в терминале (PuTTY) команду:

3. Устанавливаем NginX

sudo apt-get install nginx -y 

4. Останавливаем Nginx

Остановим NginX на время настройки простой командой:

5. Узнаем количество процессоров в системе

Количество процессоров нам понадобится для конфигурации NginX:

cat /proc/cpuinfo | grep processor | wc -l 

Запоминаем число процессоров.

6. Установим число процессов Nginx

Найдите на сервере и откройте для редактирования файл:

Установите для неё значение равное числу процессоров. В нашем случае один процессор.

7. Создадим папку для интернет-магазина

mkdir -p /var/www/html/example.com 

В примерах команд и в конфигурационном файле мы будем использовать example.com . Замените его на имя своего домена, например, dbazhenov.ru.

8. Конфигурация Nginx

Нам необходимо настроить конфигурацию NginX. Сделаем так, чтобы Nginx понимал наш домен и отправлял его в нужную папку на сервере, а также установим правила для SEO.

Читайте также:  Python составить все комбинации

Найдите на сервере и откройте файл:

Удалите весь код и вставьте новый. Ниже будет код, в комментариях кратко описано происходящее. Вам нужно заменить домен example.com на ваш домен

####################################################################### # Описание и конфигурация основного домена для интернет-магазина ####################################################################### server  listen 80; # Домен интернет-магазина server_name example.com; ############################################################################ # Кодировка по умолчанию charset utf-8; ############################################################################ # Основной каталог интернет-магазина root /var/www/html/example.com; index index.php index.html index.htm; ############################################################################ # Сжатие gzip on; gzip_disable "msie6"; gzip_comp_level 6; gzip_min_length 1100; gzip_buffers 16 8k; gzip_proxied any; gzip_types text/plain application/xml application/javascript text/css text/js text/xml application/x-javascript text/javascript application/json application/xml+rss; ############################################################################ # Прочие настройки client_max_body_size 100m; client_body_buffer_size 128k; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; client_header_buffer_size 1k; large_client_header_buffers 4 16k; ############################################################################ access_log /var/log/nginx/example.com_access.log combined; error_log /var/log/nginx/example.com_error.log; ############################################################################ error_page 598 = @backend; ############################################################################ location @backend  try_files $uri $uri/ /$2$3 /$3 /index.php =404; # Путь к сокету PHP-FPM fastcgi_pass unix:/var/run/php5-fpm.sock; # fastcgi_index index.php; fastcgi_read_timeout 360; # Добавляем содержимое fastcgi_params.conf ################################################################################ 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_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param HTTPS $https if_not_empty; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param REDIRECT_STATUS 200; ################################################################################ > ############################################################################ location /  index index.php index.html index.htm; try_files $uri $uri/ /index.php?$args; > ############################################################################ location ~ ^/(\w+/)?(\w+/)?api/  rewrite ^/(\w+/)?(\w+/)?api/(.*)$ /api.php?_d=$3&ajax_custom=1&$args last; rewrite_log off; > ############################################################################ location ~ ^/(\w+/)?(\w+/)?var/database/  return 404; > location ~ ^/(\w+/)?(\w+/)?var/backups/  return 404; > location ~ ^/(\w+/)?(\w+/)?var/restore/  return 404; > location ~ ^/(\w+/)?(\w+/)?var/themes_repository/  allow all; location ~* \.(tpl|php.?)$  return 404; > > location ~ ^/(\w+/)?(\w+/)?var/  return 404; location ~* /(\w+/)?(\w+/)?(.+\.(js|css|png|jpe?g|gz|yml|xml))$  try_files $uri $uri/ /$2$3 /$3 /index.php?$args; allow all; access_log off; expires 1M; add_header Cache-Control public; add_header Access-Control-Allow-Origin *; > > ############################################################################ location ~ ^/(\w+/)?(\w+/)?app/payments/  return 404; location ~ \.php$  return 598; > > location ~ ^/(\w+/)?(\w+/)?app/addons/rus_exim_1c/  return 404; location ~ \.php$  return 598; > > location ~ ^/(\w+/)?(\w+/)?app/  return 404; > ############################################################################ location ~* /(\w+/)?(\w+/)?(.+\.(jpe?g|jpg|ico|gif|png|css|js|pdf|txt|tar|woff|svg|ttf|eot|csv|zip|xml|yml))$  access_log off; try_files $uri $uri/ /$2$3 /$3 /index.php?$args; expires max; add_header Access-Control-Allow-Origin *; add_header Cache-Control public; > ############################################################################ location ~ ^/(\w+/)?(\w+/)?design/  allow all; location ~* \.(tpl|php.?)$  return 404; > > ############################################################################ location ~ ^/(\w+/)?(\w+/)?images/  allow all; location ~* \.(php.?)$  return 404; > > ############################################################################ location ~ ^/(\w+/)?(\w+/)?js/  allow all; location ~* \.(php.?)$  return 404; > > ############################################################################ location ~ ^/(\w+/)?(\w+/)?init.php  return 404; > location ~* \.(tpl.?)$  return 404; > location ~ /\.(ht|git)  return 404; > location ~* \.php$  return 598 ; > ################################################################################ > 

9. Перезапускаем nginx

sudo service nginx restart 

Источник

Оцените статью