Debian 6 — Nginx + PHP-FPM + MySQL + Eaccelerator + Memcached + IonCube
Шпаргалка по установке Nginx, PHP-FPM, MySQL, Eaccelerator, Memcached, IonCube для тех кто не любит Apache или для меньшего потребления системных ресурсов при больших нагрузках.
Сначала обновим репозитории:
Установим файл менеджер MidnightCommander, редактор Nano и менеджер пакетов Aptitude:
Удалим Apache если он установлен:
Установим пакеты нужные для сборки и установки других пакетов, которые будем устанавливать в дальнейшем:
Добавим репозиторий для установки nginx:
Если не работает команда add-apt-repository то выполним следующие действия:
И снова выполняем
Устанавливаем Nginx:
Добавим репозиторий PHP 5.3
Настраиваем конфиг Nginx:
user www-data; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; } http { server_names_hash_bucket_size 64; include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; gzip on; gzip_http_version 1.1; gzip_vary on; gzip_comp_level 6; gzip_proxied any; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; gzip_buffers 16 8k; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } |
Перезапускаем nginx.
Отредактируем конфиг fastcgi:
закомментируем строку
#fastcgi_param HTTPS $https; |
Перезапускаем nginx.
Создаем конфиг для домена, заменяя в конфиге your-site.com на имя вашего домена:
server { listen 80; charset utf-8; server_name your-site.com www.your-site.com; access_log /var/log/nginx/your-site.com/access.log; root /var/www/your-site.com; location / { index index.php index.html index.htm; } if ($host = 'www.your-site.com' ) { rewrite ^(.*)$ https://your-site.com$1 permanent; } if ($request_uri ~* (/cache/|uploads.+\.php)) { return 404; } if (!-e $request_filename) { rewrite ^(.+)$ /index.php?q=$1 last; } location ~ /\.ht { return 403; } location ~* ^.+\.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME /var/www/your-site.com$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT /var/www/your-site.com; include fastcgi_params; } } |
Создадим директорию для домена и для логов, заменяя your-site.com на имя вашего домена:
Перезапускаем nginx.
Ставим Eaccelerator:
Изменим версию PHP:
закомментируем следующие строки:
/* #define PHP_EXTRA_VERSION "-7+squeeze14" */ /* #define PHP_VERSION "5.3.3-7+squeeze14" */ |
и добавим
#define PHP_EXTRA_VERSION "-1ubuntu4.7ppa5~lucid1" #define PHP_VERSION "5.3.2-1ubuntu4.7ppa5~lucid1" |
Переходим к установке:
Создаем конфиг для eaccelerator:
extension="eaccelerator.so" eaccelerator.shm_size="32" eaccelerator.cache_dir="/var/cache/eaccelerator" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="3600" eaccelerator.shm_prune_period="1800" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9" |
Перезапускаем nginx.
Устанавливаем Memcached:
Перезапускаем nginx.
Устанавливаем IonCube:
Добавляем в конфиг путь до IonCube:
в конец файла добавляем следующую строку:
zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.3.so |
Перезапускаем nginx:
Устанавливаем MySQL:
Во время установки указываем пароль для mysql
И после установки перезапускаем nginx:
Готово!
ykpon
18.01.2013«И после установки перезапускаем nginx:
[email protected]:$ /etc/init.d/php5-fpm restart »
И так в нескольких строках 🙂