Шпаргалка по установке Nginx, PHP-FPM, MySQL, Eaccelerator, Memcached, IonCube для тех кто не любит Apache или для меньшего потребления системных ресурсов при больших нагрузках.
Сначала обновим репозитории:
root@computer:$ apt-get update
Установим файл менеджер MidnightCommander, редактор Nano и менеджер пакетов Aptitude:
root@computer:$ apt-get install nano mc aptitude
Удалим Apache если он установлен:
root@computer:$ apt-get purge apache*
Установим пакеты нужные для сборки и установки других пакетов, которые будем устанавливать в дальнейшем:
root@computer:$ apt-get install build-essential libpcre3-dev openssl libcurl4-openssl-dev
root@computer:$ aptitude install python-software-properties
Добавим репозиторий для установки nginx:
root@computer:$ add-apt-repository ppa:nginx/stable
Если не работает команда add-apt-repository то выполним следующие действия:
root@computer:$ cd /tmp
root@computer:$ wget https://pawned.ru/sites/default/files/files/add-apt-repository.sh.txt
root@computer:$ cp add-apt-repository.sh.txt /usr/sbin/add-apt-repository
root@computer:$ chmod o+x /usr/sbin/add-apt-repository
root@computer:$ chown root:root /usr/sbin/add-apt-repository
И снова выполняем
root@computer:$ add-apt-repository ppa:nginx/stable
Устанавливаем Nginx:
root@computer:$ apt-get update
root@computer:$ apt-get install nginx
root@computer:$ /etc/init.d/nginx start
Добавим репозиторий PHP 5.3
root@computer:$ add-apt-repository ppa:brianmercer/php
root@computer:$ aptitude update
root@computer:$ aptitude install php5-fpm php5-dev php5-mysql php5-curl php5-gd php5-mcrypt php5-xmlrpc php5-xsl php5-common php5-json php5-memcache php5-cli php5-suhosin php5-cgi php-pear php-apc
root@computer:$ /etc/init.d/php5-fpm restart
Настраиваем конфиг Nginx:
root@computer:$ nano /etc/nginx/nginx.conf
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/*;
} |
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.
root@computer:$ /etc/init.d/nginx restart
Отредактируем конфиг fastcgi:
root@computer:$ nano /etc/nginx/fastcgi_params
закомментируем строку
#fastcgi_param HTTPS $https; |
#fastcgi_param HTTPS $https;
Перезапускаем nginx.
root@computer:$ /etc/init.d/nginx restart
Создаем конфиг для домена, заменяя в конфиге your-site.com на имя вашего домена:
root@computer:$ nano /etc/nginx/sites-enabled/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;
}
} |
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 на имя вашего домена:
root@computer:$ mkdir /var/log/nginx/your-site.com
root@computer:$ chmod 0755 /var/log/nginx/your-site.com
root@computer:$ mkdir /var/www/your-site.com
root@computer:$ chmod 0755 /var/www/your-site.com
Перезапускаем nginx.
root@computer:$ /etc/init.d/nginx restart
Ставим Eaccelerator:
root@computer:$ cd /tmp
root@computer:$ wget https://github.com/downloads/eaccelerator/eaccelerator/eaccelerator-0.9.6.1.tar.bz2
root@computer:$ tar xvfj eaccelerator-0.9.6.1.tar.bz2
root@computer:$ cd eaccelerator-0.9.6.1
Изменим версию PHP:
root@computer:$ nano /usr/include/php5/main/php_version.h
закомментируем следующие строки:
/* #define PHP_EXTRA_VERSION "-7+squeeze14" */
/* #define PHP_VERSION "5.3.3-7+squeeze14" */ |
/* #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" |
#define PHP_EXTRA_VERSION "-1ubuntu4.7ppa5~lucid1"
#define PHP_VERSION "5.3.2-1ubuntu4.7ppa5~lucid1"
Переходим к установке:
root@computer:$ phpize
root@computer:$ ./configure
root@computer:$ make
root@computer:$ make install
Создаем конфиг для eaccelerator:
root@computer:$ nano /etc/php5/conf.d/eaccelerator.ini
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" |
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"
root@computer:$ mkdir -p /var/cache/eaccelerator
root@computer:$ chmod 0777 /var/cache/eaccelerator
Перезапускаем nginx.
root@computer:$ /etc/init.d/php5-fpm restart
Устанавливаем Memcached:
root@computer:$ apt-get install memcached
Перезапускаем nginx.
root@computer:$ /etc/init.d/php5-fpm restart
Устанавливаем IonCube:
root@computer:$ cd ..
root@computer:$ wget https://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
root@computer:$ tar zxvf ioncube_loaders_lin_x86.tar.gz
root@computer:$ mv ioncube /usr/local/
Добавляем в конфиг путь до IonCube:
root@computer:$ nano /etc/php5/conf.d/eaccelerator.ini
в конец файла добавляем следующую строку:
zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.3.so |
zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.3.so
Перезапускаем nginx:
root@computer:$ /etc/init.d/php5-fpm restart
Устанавливаем MySQL:
root@computer:$ apt-get install mysql-server
Во время установки указываем пароль для mysql
И после установки перезапускаем nginx:
root@computer:$ /etc/init.d/php5-fpm restart
Готово!
ykpon
18.01.2013«И после установки перезапускаем nginx:
root@computer:$ /etc/init.d/php5-fpm restart »
И так в нескольких строках 🙂