¡Nginx+php (FastCGI)+Memcached+MySQL+APC es la forma principal actual de construir servidores de alto rendimiento! Adecuado para sitios web grandes y medianos, ¡los pequeños webmasters también pueden utilizar esta combinación!
Nginx supera a Apache en alto rendimiento y estabilidad, y cada vez más sitios web nacionales utilizan Nginx como servidor web, incluido el mapa electrónico nacional más grande MapBar, Sina Blog, Sina Podcast, NetEase News y otros canales de portales, seis salas, 56.com y otros sitios web para compartir vídeos, Discuz! Foros conocidos como los foros oficiales y la comunidad Shuimu, sitios web Web 2.0 emergentes como Douban, YUPOO Photo Album, Domestic SNS y Thunder Online, y más sitios web, están utilizando la configuración de Nginx.
Descargue el paquete de instalación requerido: aquí usamos el paquete de código fuente para compilar e instalar: este blog integra la descarga
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
Descargar a /usr/src
También hay dos paquetes mysql-5.1.41.tar.gz y php-5.3.5.tar.gz [¡También hay disponibles otras versiones similares! 】Se puede descargar desde el sitio web oficial.
1. Instale oficialmente Nginx [Antes de instalar nginx, debe instalar el paquete pcre y zlib para admitir la reescritura, regularización, compresión de páginas web, etc.]
CD /usr/src
tar xzf pcre-8.01.tar.gz
cdpcre-8.01
./configure –PRefix=/usr/local/pcre
hacer
hacer la instalación
(2) y luego instale 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 de nginx* –with-pcre=/usr/src/pcre-8.01 apunta a la ruta para descomprimir el paquete de código fuente, no a la ruta de instalación; de lo contrario, informará
make[1]: ***[/usr/local/pcre/Makefile] Error 127 Error】
2. Luego instale 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) Después de instalar mysql, cree el usuario y grupo de mysql, inicialice la base de datos e inicie la base de datos.
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 –usuario=mysql &
Eso es todo. [Si ocurre un error al iniciar mysql, verifique el directorio /usr/local/mysql/var para ver si mysql tiene permisos]
3. Instalar 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
¡Instalación completada! [Tenga en cuenta que no es necesario agregar –enable-fastcgi a este parámetro aquí; otras versiones anteriores deben agregarlo. La instalación anterior se puede agregar según su propia elección. Si se informa un error, busque el motivo. informe de error específico]
4. Integre Nginx y php (FastCGI) para admitir fastCGI después de instalar php-5.3.5
usuario www www;
procesos_trabajadores 8;
error_log /usr/local/logs/nginx/error.log crítico;
pid /usr/local/nginx/nginx.pid;
#Especifica el valor para el máximo de descriptores de archivos que este proceso puede abrir.
trabajador_rlimit_nofile 51200;
eventos
{
utilizar epoll;
conexiones_trabajadores 51200;
}
http
{
incluir tipos.mime;
aplicación de tipo_predeterminado/flujo de octeto;
#juego de caracteres gb2312;
nombres_servidor_hash_bucket_size 128;
client_header_buffer_size 32k;
big_client_header_buffers 4 32k;
client_max_body_size 8m;
enviar archivo activado;
tcp_nopush activado;
keepalive_timeout 60;
tcp_nodelay activado;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
gzip encendido;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_versión 1.0;
gzip_comp_level 2;
gzip_types texto/aplicación simple/texto x-javascript/aplicación CSS/xml;
gzip_vary activado;
#rastreador limit_zone $binary_remote_addr 10m;
servidor
{
escuchar 80;
nombre_servidor wgkgood.gicp.net;
índice index.php index.htm index.html;
raíz /usr/webapps/www;
#limit_conn rastreador 20;
ubicación ~ .*.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
incluir fcgi.conf;
}
ubicación ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
caduca en 30 días;
}
ubicación ~ .*.(js|css)?$
{
caduca 1h;
}
log_format acceso '$remote_addr – $remote_user [$time_local] “$request” '
'$estado $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
access_log /usr/local/logs/nginx/access.log acceso;
}
}
¡Configuración de Nginx completada! Inicie nginx; /usr/local/nginx/sbin/nginx El comando para reiniciar nginx es el siguiente /usr/local/nginx/sbin/nginx –s reload.
Este archivo de configuración es solo de referencia, ¡gracias maestro Zhang Yan!
(2) Configure el archivo fcgi.conf de la siguiente manera
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 $servidor_port;
fastcgi_param NOMBRE_SERVIDOR $nombre_servidor;
# Solo PHP, requerido si PHP fue creado con –enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
5. Configure el archivo de configuración php:
cd /usr/local/php5/etc/ && cp php-fpm.conf.default php-fpm.conf
Luego modifique las opciones en php-fpm.conf según las indicaciones.
Una vez completada la configuración, inicie php-fpm
El siguiente cp /usr/src/php-5.3.5/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
Luego inicie /etc/init.d/php-fpm start.
6. Instale la configuración de 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
&&hacer&& hacer instalar
Después de la instalación, se generará un apc.so en /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/.
7. Instale memcached para que fastcGI admita memcached
Primero instale 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
Luego instala 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 instalación
Después de la instalación, se generará un módulo memcache.so en /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/:
8. Luego modifique php.ini
El php.ini predeterminado está en /usr/local/php5/lib/php.ini. También puede especificar:
extensión_dir = "./"
Modificar a
extension_dir=”/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626″
Añade lo siguiente al final:
extensión=apc.so
extension=memcache.so //Aquí se hace referencia al módulo de caché
[APC]
apc.habilitado = 1
apc.shm_segmentos = 1
apc.shm_size = 64M
apc.optimización=1
apc.num_files_hint = 0
apc.ttl=7200
apc.user_ttl=7200
apc.gc_ttl = 3600
apc.cache_by_default = activado
¡La instalación ya está completa!
Reinicie nginx y php-fpm y acceda a ellos con la página de prueba.
¡Este artículo es solo para referencia! ¡Corríjame si hay alguna inexactitud! ¡Aprended juntos!
Fuente del artículo: http://blog.mgcrazy.com/?p=627 Indique el enlace de la fuente al reimprimir