OpenResty-Nutzungstutorial
Smartisan spendete die Ticketerlöse vom T2-Launch-Event an das OpenResty-Open-Source-Projekt. Heute stellen wir vor, was zum Teufel OpenResty ist.

Einführung in OpenResty
OpenResty (auch bekannt als: ngx_openresty) ist eine skalierbare Webplattform auf Basis von NGINX, die von dem chinesischen Entwickler Zhang Yichun initiiert wurde und viele hochwertige Drittanbieter-Module bietet.
OpenResty ist ein leistungsstarker Webanwendungsserver. Webentwickler können die Skriptsprache Lua verwenden, um die verschiedenen von Nginx unterstützten C- und Lua-Module aufzurufen. Wichtiger noch: In Bezug auf die Leistung kann OpenResty schnell ultra-hochleistungsfähige Webanwendungssysteme aufbauen, die Antworten auf über 10K gleichzeitige Verbindungen verarbeiten können.
360, UPYUN, Alibaba Cloud, Sina, Tencent, Qunar, Kugou Music usw. gehören alle zu den intensiven Nutzern von OpenResty.
OpenResty-Installation
Das Beispiel-Tutorial installiert OpenResty auf Basis von Ubuntu 14.04.
Zu den OpenResty-Abhängigkeitsbibliotheken gehören: perl 5.6.1+, libreadline, libpcre, libssl.
Wir müssen also zuerst diese Abhängigkeitsbibliotheken installieren, was ebenfalls sehr einfach ist:
apt-get install libreadline-dev libpcre3-dev libssl-dev perl
Wenn Ihr System CentOS oder RedHat ist, können Sie die folgenden Befehle verwenden:
yum install readline-devel pcre-devel openssl-devel
Als Nächstes können wir von der offiziellen Website (https://openresty.org/cn/) das neueste OpenResty-Quellpaket herunterladen und es dann entpacken, kompilieren und installieren:
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
Standardmäßig wird das Programm in das Verzeichnis /usr/local/openresty installiert. Sie können ./configure --help verwenden, um weitere Konfigurationsoptionen anzuzeigen.
Hello World-Beispiel
Nach erfolgreicher Installation können wir openresty verwenden, um direkt HTML-Seiten auszugeben.
Zuerst können wir ein Arbeitsverzeichnis erstellen:
mkdir /home/www cd /home/www/ mkdir logs/ conf/
Das Verzeichnis logs wird zum Speichern von Protokollen verwendet, und conf wird zum Speichern von Konfigurationsdateien verwendet.
Als Nächstes erstellen wir eine nginx.conf-Datei im Verzeichnis conf. Der Code lautet wie folgt:
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>")
';
}
}
}
Wenn Sie mit der nginx-Konfiguration vertraut sind, sollten Sie mit dem obigen Code sehr vertraut sein. Hier haben wir den HTML-Code direkt in die Konfigurationsdatei geschrieben.
Openresty starten
Standardmäßig wird openresty in das Verzeichnis /usr/local/openresty installiert. Der Startbefehl lautet:
cd /home/www /usr/local/openresty/nginx/sbin/nginx -p `pwd`/ -c conf/nginx.conf
Wenn keine Ausgabe erfolgt, bedeutet dies, dass der Start erfolgreich war. -p gibt unser Projektverzeichnis an, und -c gibt die Konfigurationsdatei an.
Als Nächstes können wir curl verwenden, um zu testen, ob normal darauf zugegriffen werden kann:
curl http://localhost:9000/
Die Ausgabe ist:
<p>Hello, World!</p>
Oder greifen Sie über einen Browser auf http://localhost:9000/ zu:
Sehen Sie? Das HTML, das wir in der Konfigurationsdatei geschrieben haben, wurde normal ausgegeben.
Das Ziel von OpenResty ist es, Ihre Webdienste direkt im Nginx-Server auszuführen, das nicht blockierende I/O-Modell von Nginx voll auszunutzen und konsistente Hochleistungsantworten nicht nur auf HTTP-Client-Anfragen, sondern auch auf entfernte Backends wie MySQL, PostgreSQL, Memcached und Redis bereitzustellen.
Deshalb können Sie für einige Hochleistungsdienste direkt OpenResty verwenden, um auf MySQL oder Redis zuzugreifen, ohne dass Drittanbieter-Sprachen (PHP, Python, Ruby) auf die Datenbank zugreifen und die Ergebnisse anschließend zurückgeben müssen, was die Anwendungsleistung erheblich verbessert.
Verwandte Websites
- Offizielle englischsprachige Website von OpenResty:http://openresty.org/
- Offizielle chinesischsprachige Website von OpenResty:http://openresty.org/cn/
- Offizielle Website des Nginx-Wiki:http://wiki.nginx.org/
- Lua-Einführungstutorial:Lua-Einführungstutorial