Tutoriel d'utilisation d'OpenResty
Smartisan a reversé les recettes des billets de l'événement de lancement du T2 au projet open source OpenResty. Aujourd'hui, nous allons vous présenter ce qu'OpenResty peut bien être.

Introduction à OpenResty
OpenResty (également connu sous le nom de : ngx_openresty) est une plateforme web évolutive basée sur NGINX, initiée par Zhang Yichun, un développeur chinois, et fournit de nombreux modules tiers de haute qualité.
OpenResty est un puissant serveur d'applications web. Les développeurs web peuvent utiliser le langage de script Lua pour invoquer les divers modules C et Lua pris en charge par Nginx. Plus important encore, en termes de performances, OpenResty peut rapidement construire des systèmes d'applications web ultra-performants capables de gérer les réponses à plus de 10K connexions simultanées.
360, UPYUN, Alibaba Cloud, Sina, Tencent, Qunar, Kugou Music, etc. sont tous des utilisateurs intensifs d'OpenResty.
Installation d'OpenResty
Le tutoriel d'exemple installe OpenResty sur Ubuntu 14.04.
Les bibliothèques de dépendances d'OpenResty incluent : perl 5.6.1+, libreadline, libpcre, libssl.
Nous devons donc d'abord installer ces bibliothèques de dépendances, ce qui est également très simple :
apt-get install libreadline-dev libpcre3-dev libssl-dev perl
Si votre système est CentOS ou RedHat, vous pouvez utiliser les commandes suivantes :
yum install readline-devel pcre-devel openssl-devel
Ensuite, nous pouvons depuis le site officiel (https://openresty.org/cn/) télécharger le dernier package source OpenResty, puis l'extraire, le compiler et l'installer :
wget https://openresty.org/download/ngx_openresty-1.9.7.1.tar.gz # 下载 tar xzvf ngx_openresty-1.9.7.1.tar.gz # 解压 cd ngx_openresty-1.9.7.1/ ./configure make make install
Par défaut, le programme sera installé dans le répertoire /usr/local/openresty. Vous pouvez utiliser ./configure --help pour afficher plus d'options de configuration.
Exemple Hello World
Après une installation réussie, nous pouvons utiliser openresty pour afficher directement des pages HTML.
Tout d'abord, nous pouvons créer un répertoire de travail :
mkdir /home/www cd /home/www/ mkdir logs/ conf/
Le répertoire logs est utilisé pour stocker les logs, et conf est utilisé pour stocker les fichiers de configuration.
Ensuite, nous créons un fichier nginx.conf dans le répertoire conf. Le code est le suivant :
worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
server {
listen 9000;
location / {
default_type text/html;
content_by_lua '
ngx.say("<p>Hello, World!</p>")
';
}
}
}
Si vous êtes familier avec la configuration nginx, vous devriez être très familier avec le code ci-dessus. Ici, nous avons écrit le code HTML directement dans le fichier de configuration.
Démarrer openresty
Par défaut, openresty est installé dans le répertoire /usr/local/openresty. La commande de démarrage est :
cd /home/www /usr/local/openresty/nginx/sbin/nginx -p `pwd`/ -c conf/nginx.conf
S'il n'y a aucune sortie, cela signifie que le démarrage a réussi. -p spécifie notre répertoire de projet, et -c spécifie le fichier de configuration.
Ensuite, nous pouvons utiliser curl pour tester s'il est accessible normalement :
curl http://localhost:9000/
La sortie est :
<p>Hello, World!</p>
Ou accédez à http://localhost:9000/ via un navigateur :
Vous voyez ? Le HTML que nous avons écrit dans le fichier de configuration a été affiché normalement.
L'objectif d'OpenResty est de permettre à vos services web de s'exécuter directement à l'intérieur du serveur Nginx, en tirant pleinement parti du modèle d'E/S non bloquant de Nginx, et de fournir des réponses constamment performantes non seulement aux requêtes des clients HTTP, mais aussi aux backends distants tels que MySQL, PostgreSQL, Memcached et Redis.
Par conséquent, pour certains services à haute performance, vous pouvez utiliser directement OpenResty pour accéder à MySQL ou Redis, sans avoir besoin de langages tiers (PHP, Python, Ruby) pour accéder à la base de données puis renvoyer le résultat, ce qui améliore grandement les performances de l'application.
Sites associés
- Site officiel anglais d'OpenResty :http://openresty.org/
- Site officiel chinois d'OpenResty :http://openresty.org/cn/
- Site officiel du wiki Nginx :http://wiki.nginx.org/
- Tutoriel de prise en main de Lua :Tutoriel de prise en main de Lua