您好,登錄后才能下訂單哦!
前篇介紹了OpenResty核心概念,優(yōu)勢(shì)與架構(gòu)等信息,進(jìn)行本篇之前建議至少觀看一遍。OpenResty--------企業(yè)級(jí)理論實(shí)踐篇
本篇將進(jìn)行OpenResty的安裝與編寫第一個(gè)應(yīng)用過程。
注:本篇采用CentOS 7(7.4)系統(tǒng)
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@localhost ~]# uname -r
3.10.0-693.el7.x86_64
[root@localhost ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.254 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::fb69:bc45:9e19:5b06 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:be:2d:43 txqueuelen 1000 (Ethernet)
RX packets 3197 bytes 793326 (774.7 KiB)
RX errors 0 dropped 2 overruns 0 frame 0
TX packets 330 bytes 59828 (58.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost ~]# setenforce 0
[root@localhost ~]# iptables -F
[root@localhost ~]# yum install readline-devel -y
[root@localhost ~]# yum install pcre-devel -y
[root@localhost ~]# yum install openssl-devel -y
[root@localhost ~]# yum install perl -y
[root@localhost ~]# wget https://github.com/openresty/openresty/releases/download/v1.13.6.2/openresty-1.13.6.2.tar.gz
--2019-08-01 02:35:30-- https://github.com/openresty/openresty/releases/download/v1.13.6.2/openresty-1.13.6.2.tar.gz
Resolving github.com (github.com)... 13.229.188.59
Connecting to github.com (github.com)|13.229.188.59|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/480080/5565c880-1ef7-11e9-9fb6-06daa71b014c?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190731%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190731T103531Z&X-Amz-Expires=300&X-Amz-Signature=cc703e1769ba14abd394befcd43e7fb26be92ba53e592da53052931ae89f6bf8&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dopenresty-1.13.6.2.tar.gz&response-content-type=application%2Foctet-stream [following]
--2019-08-01 02:35:31-- https://github-production-release-asset-2e65be.s3.amazonaws.com/480080/5565c880-1ef7-11e9-9fb6-06daa71b014c?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190731%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190731T103531Z&X-Amz-Expires=300&X-Amz-Signature=cc703e1769ba14abd394befcd43e7fb26be92ba53e592da53052931ae89f6bf8&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dopenresty-1.13.6.2.tar.gz&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.217.36.4
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.217.36.4|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4635916 (4.4M) [application/octet-stream]
Saving to: ‘openresty-1.13.6.2.tar.gz’
100%[==========================================================================>] 4,635,916 2.28MB/s in 1.9s
2019-08-01 02:35:34 (2.28 MB/s) - ‘openresty-1.13.6.2.tar.gz’ saved [4635916/4635916]
[root@localhost ~]# tar xf openresty-1.13.6.2.tar.gz
[root@localhost ~]# ls -l openresty-1.13.6.2
total 96
drwxrwxr-x 43 1000 1000 4096 May 15 2018 bundle
-rwxrwxr-x 1 1000 1000 48140 May 15 2018 configure
-rw-rw-r-- 1 1000 1000 22924 May 15 2018 COPYRIGHT
drwxrwxr-x 2 1000 1000 156 May 15 2018 patches
-rw-rw-r-- 1 1000 1000 4689 May 15 2018 README.markdown
-rw-rw-r-- 1 1000 1000 8972 May 15 2018 README-windows.txt
drwxrwxr-x 2 1000 1000 52 May 15 2018 util
[root@localhost ~]# cd openresty-1.13.6.2
[root@localhost openresty-1.13.6.2]# ./configure \
--prefix=/usr/local/openresty-1.13.6.2 \
--with-luajit \
--without-http_redis2_module \
--with-http_iconv_module
[root@localhost openresty-1.13.6.2]# gmake
[root@localhost openresty-1.13.6.2]# gmake install
[root@localhost openresty-1.13.6.2]# ln -s /usr/local/openresty-1.13.6.2 /usr/local/openresty
[root@localhost openresty-1.13.6.2]# cat /usr/local/openresty/nginx/conf/nginx.conf
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
[root@localhost openresty-1.13.6.2]# /usr/local/openresty/bin/openresty -p /usr/local/openresty/nginx/
訪問成功,OpenResty已經(jīng)成功返回頁面。
[root@localhost openresty-1.13.6.2]# cd ~
[root@localhost ~]# mkdir -vp openresty-test01/{logs,conf}
mkdir: created directory ‘openresty-test01’
mkdir: created directory ‘openresty-test01/logs’
mkdir: created directory ‘openresty-test01/conf’
[root@localhost ~]# tree openresty-test01/
openresty-test01/
├── conf
└── logs
2 directories, 0 files
注意: 如果你安裝的是 openresty 1.9.3.1 及以下版本,請(qǐng)使用 content_by_lua 命令代替示例中的 content_by_lua_block。可使用 nginx/openresty -V 命令查看版本號(hào)。
[root@localhost ~]# cat openresty-test01/conf/nginx.conf
worker_processes 1; # 設(shè)置worker數(shù)量
error_log logs/error.log; # 指定錯(cuò)誤日志文件路徑
events {
worker_connections 1024; # 單個(gè)worker進(jìn)程最大允許同時(shí)建立外部連接的數(shù)量
}
http {
server {
listen 8888; # 設(shè)置監(jiān)聽端口, 注意系統(tǒng)其它服務(wù)是否已占用該端口
location / {
# lua 代碼塊
content_by_lua_block {
ngx.say("this is lisea no.1 openresty app")
}
}
}
}
[root@localhost ~]# /usr/local/openresty/bin/openresty -p openresty-test01
無報(bào)錯(cuò)就表示運(yùn)行成功
[root@localhost ~]# curl 127.0.0.1:8888
this is lisea no.1 openresty app
訪問成功,OpenResty已經(jīng)成功返回內(nèi)容。
訪問成功,OpenResty已經(jīng)成功返回內(nèi)容。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。