Maison >Opération et maintenance >exploitation et maintenance Linux >Icône Linux+Nginx+Mysql+Php, étapes de fonctionnement détaillées !

Icône Linux+Nginx+Mysql+Php, étapes de fonctionnement détaillées !

巴扎黑
巴扎黑original
2017-06-23 14:17:363243parcourir

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_module

3.

Vérification de démarrage :

[root@localhost application]# /application/nginx/sbin/nginx -t

nginx : 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-password

Changer le mot de passe (entrez mysqlModifier)mysql> définir le mot de passe pour root@localhost = password('123');

PHP

php 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

./configure

make

make install

sleep2

/sbin/ldconfig

cd libltdl/

./configure --enable-ltdl-install

make

make install

cd ../../cd

Installermhash

./configure

make

make install

sleep 2

cd ../

rm -fr /usr/lib64/libmcrypt.*

rm -fr /usr/lib64/libmhash*

ln -s /usr/local/lib64/libmcrypt.la /usr/lib64/libmcrypt.la

ln - s /usr/ local/lib64/libmcrypt.so /usr/lib64/libmcrypt.so

ln -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.8

ln -s /usr/local/lib64 /libmhash.a /usr/lib64/libmhash.a

ln -s /usr/local/lib64/libmhash.la /usr/lib64/libmhash.la

ln -s /usr /local/lib64 /libmhash.so /usr/lib64/libmhash.so

ln -s /usr/local/lib64/libmhash.so.2 /usr/lib64/libmhash.so.2

ln -s /usr/local/lib64/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1

ln -s /usr/local/bin/libmcrypt- config /usr/ bin/libmcrypt-config

Installermcrypt

/sbin/ldconfig

./configure LD_LIBRARY_PATH= /usr/local /lib

make

make install

cd ../

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=no

ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64

Gestion des erreurs :

, ,


3.php

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

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi.conf;

}

}

[root@localhost conf]# cd /application/nginx/html/www/

[root@localhost www]# vim index.php

[root@localhost www]# /application/nginx/sbin/nginx -t

[root@localhost www]# / application/ nginx/sbin/nginx -s reload

wiki

logiciel

[root@localhost www]# mysql

mysql> créer une base de données wiki;

mysql> accorder tout sur wiki.* à wiki@'localhost' identifié par 'wiki' ;

mysql> vider les privilèges ;

mysql> quitter

(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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn