LNMPIntroduction
LAMP(Linux apache mysql php)---ServiceWeb antérieur.
LNMP(Linux nginx mysql php)---Plus tendance et nouveau Le service webn connaît un taux d'utilisation croissant (très populaire en Chine).
Nginx (Engine X) est développé par des Russes et est open source www logiciel de service, le logiciel totalise 780K (très petit), c'est un statique (html, js, css, jpg, etc.) www Logiciel, petits fichiers statiques à forte concurrence et occupant très peu de ressources.
NginxUtilisez la plateforme (linux unix windows sont OK) et apacheIdem.
Nginx fonctions :
un.www webservice---http 80
b.Équilibrage de charge (proxy inverseproxy)
c.web cache
Avantages de
nginx :
1. Configuration simple et flexibilité.
2.Concurrence élevée (petits fichiers statiques), statique 1-2W.
3.Occupe peu de ressources, 2W développe simultanément 10 services de thread et consomme des centaines de mégaoctets de mémoire .
4.Il existe de nombreux types de fonctions (proxy de cache Webproxy), et chaque fonction n'est pas très puissante.
5. prend en charge le modèle epoll, ce qui permet à nginx de prendre en charge une simultanéité élevée. Il y a une différence entre
6.nginx avec des services dynamiques et apache.
7.Utilisez nginx pour limiter la vitesse de IP. Le nombre de connexions peut être limité.
Principe de mise en œuvre : nginx (apache)- -》php--》mysql
nginx Scénarios d'application :
1. service statique (photos, vidéos), l'autre lighttpd (la communauté n'est pas active). Concurrence : 1-3W, html, js, css, .flv
2.Service dynamique : le mode nginx+fastcgi exécute php, jsp. Concurrence : 500-1500, similaire à apache+php, lighttpd+fcgi php
3.Proxy inverse, équilibrage de charge. Pour les commandes inférieures à PV2000W, vous pouvez utiliser nginx en tant qu'agent. haproxy, F5, a10
4. cache Service, SQUID, VARNI.
nginx et autres serveurs web :
1) Apache
a. Stable et puissant
b Le mode Prefork élimine les frais généraux de création de processus et offre des performances élevées.
c.Lors du traitement de données commerciales dynamiques, car elles sont associées au moteur back-end et à la base de données, le goulot d'étranglement n'est pas dans Apache lui-même
d. Relativement plus de ressources système sont consommées en cas de concurrence élevée
e.Basé sur le modèle traditionnel select
2) nginx
a.Basé sur le modèle asynchrone IO (epoll, kqueue), a de fortes performances et peut prendre en charge des dizaines de milliers de concurrences
b Très bon support pour les petits fichiers, hautes performances (limitées aux petits fichiers statiques)
c. Beau code, la bibliothèque d'extensions doit être compilée pour le programme principal
d Consommation de ressources relativement faible
3) Lighttpd (Baidu Tieba, Douban)
a.Basé sur un modèleIOasynchrone, les performances sont similaires à celles de nginx
b.Le l'extension est le mode SO, qui est meilleur que nginxSoyez flexible
c.L'utilisation globale est faible, la sécurité n'est pas aussi bonne queapacheetnginxBon
d.FichierURL Le cryptage des adresses peut être réalisé via le plug-in (mod secdownload)
Comment choisir serveur web (recommandé) dans les scénarios de production d'entreprise :
Entreprise statique : pour une simultanéité élevée, utilisez nginx ou lighttpd
Entreprise dynamique : utilisez nginx et apache Les deux
ont les deux services dynamiques et statiques : nginx et apache tous deux Oui, sélectionnez
Activité externenginx, Métier interneapache
Installation, configurationnginx
1.Préparation de l'installation : [root@localhost ~]# yum install pcre* -y
[root@localhost ~]# yum install openssl* -y
2.Compiler :
./configure --prefix=/application/nginx1 12.0
--user=nginx
--group=nginx
--with-http_stub_status_module --with-http_ssl_module3.Vérification de démarrage :
[root@localhost application]# /application/nginx/sbin/nginx -tnginx : la syntaxe du fichier de configuration /application/nginx1.12.0/conf/nginx.conf est ok
nginx : le test du fichier de configuration /application/nginx1.12.0/conf/nginx.conf est réussi
[root@localhost application]# /application/nginx/sbin/nginx
[root@localhost application]# netstat -lntup|grep nginx (Aussi 80 Le port peut également être vérifié)
L'apparence de cette interface indique succès
[root@localhost application]# vim /application/nginx/html/index.html Modifier le contenu de la page d'accueil
4.À propos des modules nginx
1)Modules de base Nginx (obligatoires), y compris les Événements principaux
2)Modules HTTP standard (bien que cela ne soit pas obligatoire, il sera installé par défaut et il n'est pas recommandé de le modifier), dont Core Acess FastCGI Gzip (Module de compression, optimisation des performances) LOG (Module de journal) Réécriture du proxy (URL module de réécriture) Amont (module d'équilibrage de charge) etc.
Astuce : Dans les conditions par défaut, les deux ensembles de modules seront installés. Modifier le fichier de configuration consiste principalement à modifier les paramètres du module en fonction des fonctions du groupe de modules 2. Les paramètres du module peuvent être consultés sur le site officiel.
5.nginx configuration
[root@localhost conf]# egrep -v "#|^$" nginx. .default >nginx.conf (supprimez la ligne de commentaire #)
[root@localhost conf]# vim nginx.conf (cairui.org est un alias)
[root@localhost conf ]# mkdir /application/nginx/html/www
[root@localhost conf]# touch /application/nginx/html/www/index.html
[root@localhost conf] # vim /application/nginx/html/www/index.html
[root@localhost conf]# /application/nginx/sbin/nginx -t
nginx : le fichier de configuration /application /nginx1.12.0/conf/nginx.conf la syntaxe est ok
nginx : fichier de configuration /application/nginx1.12.0/conf/nginx.conf le test est réussi
[root@localhost conf] # /application/nginx/sbin/nginx -s reload
Modifiez le fichier windowslocalhosts pour vous assurer qu'il est dans gagnerDans l'invite de commande, vous pouvez pingpasser depuis l'hôte virtuel, puis accéder à la page Web pour afficher
Ajouter la balise d'état serveur :
[root@localhost conf]# vim /application/nginx/conf /nginx.conf
## STATUT
Serveur {
Écoute 80
Server_name Status.Cairui.org;
emplacement / {
stub_status on;
access_log off;
}
}
atWinLocalhosts le fichier doit également ajouter ,
Résolution de la liaison de nom de domaine malveillant :
[root@localhost conf]# vim /application/nginx/conf/nginx.conf(doit être placé en premier serveur)
serveur {
écouter 80 ;
emplacement / {
tout refuser ;
}
}
Activer la fonction de journalisation :
[root@localhost conf]# cat /application/nginx/conf/nginx.conf.default (Trouver le format du journal)
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# $body_bytes_sent "$ http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
Copier dans nginx.conf et supprimer le commentaire
Le format du journal des erreurs est placé en haut
Logiciel d'analyse du log nginx : syslog, rsyslog, Awstats, scribe, kafka
Mysql
mysqlMéthode d'installation :
5.1---Compiler et installer configurer, make, make install
5.5--- compiler Installer cmake, make, make install (peut être installé directement avec le package binaire , décompressez-le simplement)
1.Installez mysql
[root@localhost conf]# useradd mysql -s /sbin/ nologin -M
[root@localhost tools]# tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz
[root@localhost tools]# mv mysql-5.5 .32-linux2.6-x86_64 /application/mysql5.5.32
[root@localhost tools]# ln -s /application/mysql5.5.32/ /application/mysql
[root@ outils localhost]# chown -R mysql.mysql /application/mysql/data/
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/application/mysql/ - -datadir=/application/mysql/data/ (libaio doit être installé avant la compilation)
[root@localhost mysql]# cp support -files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# vim /etc/init.d/mysqld
[root@localhost mysql]# cp support-files/my-small.cnf /etc/my.cnf (Le fichier de configuration de chaque version est différent )
cp : Est-ce qu'il écrase "/etc/my.cnf" ? y
[root@localhost mysql]# vim /etc/profile
[root@localhost mysql]# service mysqld start
Démarrage de MySQL.. SUCCÈS !
[root@localhost mysql]# mysql
Optimisation de la base de données :
mysql> afficher les bases de données
mysql> supprimer le test de la base de données ;
mysql> 🎜>
mysql> drop user''@localhost;[root@localhost mysql]# mysql -uroot -pnew-passwordChanger le mot de passe (entrez mysqlModifier)mysql> définir le mot de passe pour root@localhost = password('123');
PHPphp sous LNMP :
apache----》libphp5.so
nginx---》fcgi php-fpm port9000(Baidu)
Installationphp avant de vous assurer que mysql, nginx fonctionnent normalement[root@localhost mysql]# netstat -lntup|egrep "nginx|mysql"
1.Logiciel qui doit être installé
Installerlibiconv (./configure --prefix=/usr/local/libiconv)
Installer libmcrypt (Non requis, installation recommandée) Il s'agit d'une bibliothèque cryptée
./configuremakemake installsleep2 /sbin/ldconfigcd libltdl/./configure --enable-ltdl-installmakemake install cd ../../cdInstallermhash
./configuremake make installsleep 2cd ../ rm -fr /usr/lib64/libmcrypt.*rm -fr /usr/lib64/libmhash*ln -s /usr/local/lib64/libmcrypt.la /usr/lib64/libmcrypt.laln - s /usr/ local/lib64/libmcrypt.so /usr/lib64/libmcrypt.soln -s /usr/local/lib64/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4 ln -s /usr/local/lib64/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8ln -s /usr/local/lib64 /libmhash.a /usr/lib64/libmhash.aln -s /usr/local/lib64/libmhash.la /usr/lib64/libmhash.laln -s /usr /local/lib64 /libmhash.so /usr/lib64/libmhash.soln -s /usr/local/lib64/libmhash.so.2 /usr/lib64/libmhash.so.2ln -s /usr/local/lib64/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1ln -s /usr/local/bin/libmcrypt- config /usr/ bin/libmcrypt-config
Installermcrypt
/sbin/ldconfig./configure LD_LIBRARY_PATH= /usr/local /libmakemake installcd ../dormir 2 2.Installerphp
[root@localhost tools]# yum install libxslt* -y./configure --prefix=/ application/php5.6.30 --with-mysql=/application/mysql --with-iconv-dir=/usr/local/libiconv --avec -freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with -libxml-dir =/usr --enable-xml --disable-rpath --enable-safe-mode -- activer-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregx --enable-fpm --enable-mbstring - -avec-mcrypt --avec-gd --enable-gd-native-ttf --avec-openssl --avec -mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip -- activate-soap --enable-short-tags --enable-zend-multibyte --enable-static --with- xsl --with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp -- activate-opcache=noln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64Gestion des erreurs :, ,
Configuration
[root@localhost php-5.3.27]# cp php.ini- production /application/php/lib/php.ini Télécharger directement[root@localhost etc] # /application/ php/sbin/php-fpm -t[root@localhost etc]# /application/php/sbin/php-fpm
Démarrer au démarrage
cat >>/etc/rc.local< #nginx+php-fpm par cairui en 2017 /etc/init.d/mysqld start /application/php/sbin/php-fpm /application/nginx/sbin/nginx EOF [root@134 extra]# cat /application/nginx/conf/extra/bbs.conf serveur { écoute 80; nom_serveur bbs.caimengzhi.org; racine racine html/bbs; index index .html index.htmi index.php; emplacement ~ .*.(php|php5)?$ #Aucun répertoire spécifié dans {} à cette fois Si c'est le cas, lisez simplement le fichier php directement sous html/bbs logiciel
(wikiTéléchargerHDwiki)
[root@localhost www]# wget(note www)
[root@localhost www] # décompresser download.php?n=HDWiki-v6.0GBK-20170209.zip[root@localhost www]# rm -f download.php?n=HDWiki-v6.0GBK-20170209.zip[root@localhost www]# mv hdwiki/* .[root@localhost www]# cd ../[root@localhost html]# chown -R nginx .nginx www/Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!