Nginx+php (FastCGI)+Memcached+MySQL+APC — это современный основной способ создания высокопроизводительных серверов! Подходит для больших и средних веб-сайтов. Эту комбинацию также могут использовать небольшие веб-мастера!
Nginx превосходит Apache по высокой производительности и стабильности, и все больше и больше отечественных веб-сайтов используют Nginx в качестве веб-сервера, включая крупнейшую отечественную электронную карту MapBar, Sina Blog, Sina Podcast, NetEase News и другие каналы портала, шесть комнат, 56.com и другие сайты обмена видео, Discuz! Известные форумы, такие как официальные форумы и сообщество Shuimu, новые веб-сайты Web 2.0, такие как Douban, YUPOO Photo Album, Domestic SNS и Thunder Online, а также другие веб-сайты используют конфигурацию Nginx.
Загрузите необходимый установочный пакет: Здесь мы используем пакет исходного кода для компиляции и установки: Этот блог объединяет загрузку
http://wgkgood.gicp.net/download/nginx-0.7.61.tar.gz
http://wgkgood.gicp.net/download/pcre-8.01.tar.gz
http://wgkgood.gicp.net/download/memcache-2.2.5.tgz
http://wgkgood.gicp.net/download/libevent-1.4.12-stable.tar.gz
http://wgkgood.gicp.net/download/APC-3.1.4.tgz
Загрузите в /usr/src
Также есть два пакета mysql-5.1.41.tar.gz и php-5.3.5.tar.gz [Доступны и другие подобные версии! 】Можно скачать с официального сайта.
1. Официально установите Nginx [Перед установкой nginx необходимо установить пакет pcre и zlib для поддержки перезаписи, регуляризации, сжатия веб-страниц и т. д.]
компакт-диск /usr/src
tar xzf pcre-8.01.tar.gz
cdpcre-8.01
./configure –PRefix=/usr/local/pcre
делать
сделать установку
(2), а затем установите nginx:
useradd www && cd /usr/src && tar xzf nginx-0.7.61.tar.gz &&cd nginx-0.7.61 && ./configure –prefix=/usr/local/nginx –with-http_stub_status_module –with-openssl=/usr / –with-pcre=/usr/src/pcre-8.01 –user=www –group=www &&make &&make install
[примечание nginx* –with-pcre=/usr/src/pcre-8.01 указывает на путь для распаковки пакета исходного кода, а не на путь установки, иначе будет сообщено
make[1]: ***[/usr/local/pcre/Makefile] Ошибка 127 Ошибка】
2. Далее установите MySQL.
cd /usr/src && tar xzf mysql-5.1.41.tar.gz && cd mysql-5.1.41 && ./configure –prefix=/usr/local/mysql/ –enable-assembler –with-extra-charsets=complex –enable-thread-safe-client –with-big-tables –with-readline –with-ssl –with-embedded-server –enable-local-infile –with-plugins=innobase && make &&make install
(2) После установки MySQL создайте пользователя и группу MySQL, инициализируйте базу данных и запустите ее.
cd /usr/local/mysql && useradd mysql && chown -R mysql:mysql /usr/local/mysql && /usr/local/mysql/bin/mysql_install_db –user=mysql && chown -R mysql:mysql var/ && ./ bin/mysqld_safe –user=mysql &
Вот и все. [Если при запуске MySQL возникает ошибка, проверьте каталог /usr/local/mysql/var, чтобы узнать, есть ли у MySQL разрешения]
3. Установите PHP:
cd /usr/src &&tar xzf php-5.3.5.tar.gz && cd php-5.3.5 && ./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/ php/etc –with-mysql=/usr/local/mysql –with-mysqli=/u
sr/local/mysql/bin/mysql_config –with-icv-dir=/usr/local –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-li
bxml-dir=/usr –enable-xml –disable-rpath –enable-discard-path –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem
–enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-fpm –enable-sockets && make &&make install
Установка завершена! [Обратите внимание, что сюда не нужно добавлять параметр –enable-fastcgi; его необходимо добавить в других предыдущих версиях. Приведенная выше установка может быть добавлена по вашему выбору. Если сообщается об ошибке, найдите причину в соответствии с описанием. конкретный отчет об ошибке]
4. Интегрируйте Nginx и php (FastCGI) для поддержки fastCGI после установки php-5.3.5.
пользователь www www;
рабочий_процесс 8;
error_log /usr/local/logs/nginx/error.log crit;
pid /usr/local/nginx/nginx.pid;
#Указывает значение максимального количества файловых дескрипторов, которые могут быть открыты этим процессом.
worker_rlimit_nofile 51200;
события
{
используйте epoll;
работник_соединения 51200;
}
http
{
включить mime.types;
default_type приложение/октет-поток;
#кодировка gb2312;
server_names_hash_bucket_size 128;
client_header_buffer_size 32 КБ;
big_client_header_buffers 4 32 КБ;
client_max_body_size 8m;
отправить файл включен;
tcp_nopush включен;
Keepalive_timeout 60;
tcp_nodelay включен;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64 КБ;
fastcgi_buffers 4 64 КБ;
fastcgi_busy_buffers_size 128 КБ;
fastcgi_temp_file_write_size 128 КБ;
включить gzip;
gzip_min_length 1 КБ;
gzip_buffers 4 16 КБ;
gzip_http_версия 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/CSS application/xml;
gzip_vary включен;
Сканер #limit_zone $binary_remote_addr 10m;
сервер
{
слушай 80;
имя_сервера wgkgood.gicp.net;
индекс index.php index.htm index.html;
корень /usr/webapps/www;
Сканер #limit_conn 20;
местоположение ~ .*.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
включить fcgi.conf;
}
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
истекает через 30 дней;
}
местоположение ~ .*.(js|css)?$
{
истекает 1 час;
}
доступ к log_format '$remote_addr – $remote_user [$time_local] «$request» '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
access_log /usr/local/logs/nginx/access.log доступ;
}
}
Настройка Nginx завершена! Запустите nginx; /usr/local/nginx/sbin/nginx Команда перезапуска nginx выглядит следующим образом: /usr/local/nginx/sbin/nginx –s reload.
Этот файл конфигурации предназначен только для справки, спасибо, Учитель Чжан Янь!
(2) Настройте файл fcgi.conf следующим образом.
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
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_FILENAME $document_root$fastcgi_script_name;
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 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;
# Только PHP, требуется, если PHP был собран с использованием –enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
5. Настройте файл конфигурации PHP:
cd /usr/local/php5/etc/ && cp php-fpm.conf.default php-fpm.conf
Затем измените параметры в php-fpm.conf в соответствии с подсказками.
После завершения настройки запустите php-fpm.
Следующий cp /usr/src/php-5.3.5/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
Затем запустите /etc/init.d/php-fpm start.
6. Установите конфигурацию APC:
cd /usr/src && tar xzf APC-3.1.4.tgz &&cd APC-3.1.4
/usr/local/php5/bin/phpize
./configure –enable-apc –enable-apc-mmap –with-php-config=/usr/local/php5/bin/php-config
&&сделать&& сделать установку
После установки файл apc.so будет создан в /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/.
7. Установите memcached, чтобы fastcGI поддерживал memcached.
Сначала установите libevent,
cd /usr/src && tar xzf libevent-1.4.12-stable.tar.gz && cd libevent-1.4.12-stable && ./configure –prefix=/usr/local/libevent &&make && make install
Затем установите memcached
tar xzf memcache-2.2.5.tar.gz && cd memcache-2.2.5 && /usr/local/php5/bin/phpize && ./configure –prefix=/usr/local/memcached –with-libevent=/usr/ local/libevent –with-php-config=/usr/local/php5/bin/php-config &&make &&make install
После установки модуль memcache.so будет создан в /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/:
8. Далее измените php.ini.
По умолчанию php.ini находится в /usr/local/php5/lib/php.ini. Вы также можете указать:
Extension_dir = "./"
Изменить на
Extension_dir =”/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626″
Добавьте в конец следующее:
расширение = apc.so
Extension=memcache.so //Здесь упоминается модуль кэша
[АПК]
apc.enabled = 1
apc.shm_segments = 1
apc.shm_size = 64M
apc.optimization=1
apc.num_files_hint = 0
apc.ttl=7200
apc.user_ttl=7200
apc.gc_ttl = 3600
apc.cache_by_default = включено
Установка завершена!
Перезапустите nginx и php-fpm и получите доступ к ним с тестовой страницы.
Эта статья предназначена только для справки! Поправьте меня, если есть неточности! Учитесь вместе!
Источник статьи: http://blog.mgcrazy.com/?p=627 При перепечатке указывайте ссылку на источник.