Nginx+php (FastCGI)+Memcached+MySQL+APC est le moyen courant actuel de créer des serveurs hautes performances ! Adaptée aux sites Web de grande et moyenne taille, les petits webmasters peuvent également utiliser cette combinaison !
Nginx surpasse Apache en termes de hautes performances et de stabilité, et de plus en plus de sites Web nationaux utilisent Nginx comme serveur Web, y compris la plus grande carte électronique nationale MapBar, Sina Blog, Sina Podcast, NetEase News et d'autres canaux de portail, six salles, 56.com et d'autres sites de partage de vidéos, Discuz! Des forums bien connus tels que les forums officiels et la communauté Shuimu, des sites Web Web 2.0 émergents tels que Douban, YUPOO Photo Album, Domestic SNS et Thunder Online, ainsi que d'autres sites Web utilisent la configuration Nginx.
Téléchargez le package d'installation requis : Ici, nous utilisons le package de code source pour compiler et installer : Ce blog intègre le téléchargement
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
Télécharger sur /usr/src
Il existe également deux packages mysql-5.1.41.tar.gz et php-5.3.5.tar.gz [D'autres versions similaires sont également disponibles ! 】Peut être téléchargé sur le site officiel.
1. Installez officiellement Nginx. [Avant d'installer nginx, vous devez installer le package pcre et zlib pour prendre en charge la réécriture, la régularisation, la compression de pages Web, etc.]
cd /usr/src
tar xzf pcre-8.01.tar.gz
cdpcre-8.01
./configure –PRefix=/usr/local/pcre
faire
faire installer
(2), puis installez 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 installer
[note nginx* –with-pcre=/usr/src/pcre-8.01 pointe vers le chemin pour décompresser le package de code source, pas vers le chemin d'installation, sinon il signalera
make[1]: ***[/usr/local/pcre/Makefile] Erreur 127 Erreur】
2. Ensuite, installez 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 –activer-thread-safe-client –avec-big-tables –avec-readline –avec-ssl –avec-serveur-embedded –activer-local-infile –avec-plugins=innobase && make &&make install
(2) Une fois MySQL installé, créez l'utilisateur et le groupe MySQL, initialisez la base de données et démarrez la base de données.
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 &
C'est ça. [Si une erreur se produit au démarrage de MySQL, veuillez vérifier le répertoire /usr/local/mysql/var pour voir si MySQL dispose des autorisations]
3. Installez 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
–activer l'optimisation en ligne –avec-curl –avec-curlwrappers –activer-mbregex –activer-fpm –activer-sockets && make &&make install
Installation terminée ! [Notez que –enable-fastcgi n'a pas besoin d'être ajouté à ce paramètre ici ; les autres versions précédentes doivent l'ajouter. L'installation ci-dessus peut être ajoutée selon votre propre choix. Si une erreur est signalée, recherchez la raison en fonction de. rapport d'erreur spécifique]
4. Intégrez Nginx et php (FastCGI) pour prendre en charge fastCGI après l'installation de php-5.3.5
utilisateur www www;
travailleur_processus 8 ;
error_log /usr/local/logs/nginx/error.log crit ;
pid /usr/local/nginx/nginx.pid;
#Spécifie la valeur du nombre maximal de descripteurs de fichiers pouvant être ouverts par ce processus.
travailleur_rlimit_nofile 51200 ;
événements
{
utilisez epoll ;
connexions_travailleur 51200 ;
}
http
{
inclure mime.types ;
application de type_par défaut/flux d'octets ;
#jeu de caractères gb2312 ;
noms_serveur_hash_bucket_size 128 ;
client_header_buffer_size 32 ko ;
large_client_header_buffers 4 32k ;
client_max_body_size 8 m ;
envoyer le fichier sur ;
tcp_nopush activé ;
keepalive_timeout 60 ;
tcp_nodelay activé ;
fastcgi_connect_timeout 300 ;
fastcgi_send_timeout 300 ;
fastcgi_read_timeout 300 ;
fastcgi_buffer_size 64k ;
fastcgi_buffers 4 64k ;
fastcgi_busy_buffers_size 128 ko ;
fastcgi_temp_file_write_size 128 Ko ;
gzip dessus ;
gzip_min_length 1k ;
gzip_buffers 4 16k ;
gzip_http_version 1.0 ;
gzip_comp_level 2 ;
gzip_types texte/application simple/texte x-javascript/application CSS/xml ;
gzip_vary activé ;
#limit_zone robot $binary_remote_addr 10m ;
serveur
{
écoutez 80 ;
nom_serveur wgkgood.gicp.net ;
index index.php index.htm index.html;
racine /usr/webapps/www;
#limit_conn robot d'exploration 20 ;
emplacement ~ .*.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000 ;
fastcgi_index index.php;
inclure fcgi.conf ;
}
emplacement ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expire 30 jours ;
}
emplacement ~ .*.(js|css)?$
{
expire 1h ;
}
log_format access '$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 access ;
}
}
Configuration de Nginx terminée ! Démarrez nginx ; /usr/local/nginx/sbin/nginx La commande pour redémarrer nginx est la suivante /usr/local/nginx/sbin/nginx –s reload.
Ce fichier de configuration est uniquement à titre de référence, merci Professeur Zhang Yan !
(2) Configurez le fichier fcgi.conf comme suit
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 $nom_serveur ;
# PHP uniquement, requis si PHP a été construit avec –enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200 ;
5. Configurez le fichier de configuration php :
cd /usr/local/php5/etc/ && cp php-fpm.conf.default php-fpm.conf
Modifiez ensuite les options dans php-fpm.conf en fonction des invites.
Une fois la configuration terminée, démarrez php-fpm
Le cp suivant /usr/src/php-5.3.5/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
Ensuite, démarrez /etc/init.d/php-fpm start.
6. Installez la configuration 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
&&faire&& faire installer
Après l'installation, un apc.so sera généré dans /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/.
7. Installez memcached pour que fastcGI prenne en charge memcached
Installez d'abord 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
Puis installez 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
Après l'installation, un module memcache.so sera généré dans /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/ :
8. Modifiez ensuite php.ini
Le php.ini par défaut se trouve dans /usr/local/php5/lib/php.ini. Vous pouvez également spécifier :
rép_extension = "./"
Modifier pour
extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626"
Ajoutez ce qui suit à la fin :
extension=apc.so
extension=memcache.so //Le module de cache est référencé ici
[APC]
apc.enabled = 1
apc.shm_segments = 1
apc.shm_size = 64 Mo
apc.optimisation=1
apc.num_files_hint = 0
apc.ttl=7200
apc.user_ttl=7200
apc.gc_ttl = 3600
apc.cache_by_default = activé
L'installation est maintenant terminée !
Redémarrez nginx et php-fpm et accédez-y avec la page de test.
Cet article est uniquement à titre de référence ! Merci de me corriger s'il y a des inexactitudes ! Apprenez ensemble !
Source de l'article : http://blog.mgcrazy.com/?p=627 Veuillez indiquer le lien source lors de la réimpression