Nginx+php (FastCGI)+Memcached+MySQL+APC é a forma atual de construir servidores de alto desempenho! Adequado para sites de grande e médio porte, pequenos webmasters também podem usar essa combinação!
O Nginx supera o Apache em alto desempenho e estabilidade, e cada vez mais sites domésticos usam o Nginx como servidor web, incluindo o maior mapa eletrônico doméstico MapBar, Sina Blog, Sina Podcast, NetEase News e outros canais de portal, seis salas, 56.com e outros sites de compartilhamento de vídeo, Discuz! Fóruns conhecidos, como fóruns oficiais e comunidade Shuimu, sites emergentes da Web 2.0, como Douban, YUPOO Photo Album, Domestic SNS e Thunder Online, e mais sites estão usando a configuração Nginx.
Baixe o pacote de instalação necessário: Aqui usamos o pacote de código fonte para compilar e instalar: Este blog integra o download
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
Baixe em /usr/src
Existem também dois pacotes mysql-5.1.41.tar.gz e php-5.3.5.tar.gz [Outras versões semelhantes também estão disponíveis! 】Pode ser baixado do site oficial.
1. Instale oficialmente o Nginx [Antes de instalar o nginx, você precisa instalar o pacote pcre e zlib para suportar reescrita, regularização, compactação de páginas da web, etc.]
cd /usr/src
tar xzf pcre-8.01.tar.gz
cdpcre-8.01
./configure –PRefix=/usr/local/pcre
fazer
fazer instalar
(2) e instale o 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 instalar
[nota nginx* –with-pcre=/usr/src/pcre-8.01 aponta para o caminho para descompactar o pacote de código-fonte, não para o caminho de instalação, caso contrário, ele reportará
make[1]: ***[/usr/local/pcre/Makefile] Erro 127 Erro】
2. Em seguida instale o 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=complexo –enable-thread-safe-client –with-big-tables –with-readline –with-ssl –with-embedded-server –enable-local-infile –with-plugins=innobase && make &&make install
(2) Após a instalação do mysql, crie o usuário e grupo mysql, inicialize o banco de dados e inicie o banco de dados.
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 &
É isso. [Se ocorrer um erro quando o mysql iniciar, verifique o diretório /usr/local/mysql/var para ver se o mysql tem permissões]
3. Instale o 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-iconv-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
Instalação concluída! [Observe que –enable-fastcgi não precisa ser adicionado a este parâmetro aqui; outras versões anteriores precisam adicioná-lo. A instalação acima pode ser adicionada de acordo com sua escolha. Se um erro for relatado, encontre o motivo de acordo com o. relatório de erro específico]
4. Integre Nginx e php (FastCGI) para suportar fastCGI após instalar o php-5.3.5
usuário www www;
processos_trabalhadores 8;
error_log /usr/local/logs/nginx/error.log crit;
pid /usr/local/nginx/nginx.pid;
#Especifica o valor máximo de descritores de arquivo que podem ser abertos por esse processo.
trabalhador_rlimit_nofile 51200;
eventos
{
usar epoll;
conexões_de_trabalhador 51200;
}
http
{
inclua mime.types;
aplicação default_type/octeto-stream;
#charsetgb2312;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
cliente_max_body_size 8m;
enviar arquivo ativado;
tcp_nopush ativado;
keepalive_timeout 60;
tcp_nodelay ativado;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
gzip ativado;
gzip_min_length 1k;
gzip_buffers4 16k;
gzip_http_versão 1.0;
gzip_comp_level 2;
gzip_types texto/aplicativo simples/texto x-javascript/aplicativo CSS/xml;
gzip_vary ativado;
#limit_zone rastreador $binary_remote_addr 10m;
servidor
{
ouça 80;
nome_servidor wgkgood.gicp.net;
índice index.php index.htm index.html;
root /usr/webapps/www;
#limit_conn rastreador 20;
localização ~ .*.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
índice rápidocgi_index.php;
inclua fcgi.conf;
}
localização ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expira em 30d;
}
localização ~ .*.(js|css)?$
{
expira em 1h;
}
acesso 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 acesso;
}
}
Configuração do Nginx concluída! Inicie o nginx; /usr/local/nginx/sbin/nginx O comando para reiniciar o nginx é o seguinte /usr/local/nginx/sbin/nginx –s reload.
Este arquivo de configuração é apenas para referência, obrigado Professor Zhang Yan!
(2) Configure o arquivo fcgi.conf da seguinte forma
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 NOME_SERVIDOR $nome_servidor;
# Apenas PHP, necessário se o PHP foi construído com –enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
5. Configure o arquivo de configuração php:
cd /usr/local/php5/etc/ && cp php-fpm.conf.default php-fpm.conf
Em seguida, modifique as opções em php-fpm.conf de acordo com as instruções.
Após a conclusão da configuração, inicie o php-fpm
O seguinte cp /usr/src/php-5.3.5/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
Então inicie /etc/init.d/php-fpm start.
6. Instale a configuração do 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
&&make&& make instalar
Após a instalação, um apc.so será gerado em /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/.
7. Instale o memcached para que o fastcGI suporte o memcached
Primeiro instale o 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
Então instale o 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
Após a instalação, um módulo memcache.so será gerado em /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/:
8. Em seguida, modifique o php.ini
O php.ini padrão está em /usr/local/php5/lib/php.ini. Você também pode especificar:
extension_dir = "./"
Modificar para
extension_dir=”/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626″
Adicione o seguinte ao final:
extensão=apc.so
extension=memcache.so //O módulo de cache é referenciado aqui
[APC]
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 = ativado
A instalação está concluída!
Reinicie o nginx e o php-fpm e acesse-os com a página de teste.
Este artigo é apenas para referência! Por favor, corrija-me se houver alguma imprecisão! Aprenda juntos!
Fonte do artigo: http://blog.mgcrazy.com/?p=627 Por favor, indique o link da fonte ao reimprimir