打造windows openresty 開發(fā)環(huán)境 (openresty+windows+ubuntu 子系統(tǒng))

1 安裝ubuntu

首先我們需要實(shí)現(xiàn)的第一個(gè)功能是讀取本地配置,并且實(shí)時(shí)一個(gè)各個(gè)生命周期里讀取配置的插件.并運(yùn)行.

如果你是windows 用戶的話,我并不建議用windows 去安裝部署openresty ,應(yīng)為后期我們的openresty 肯定是要部署在linux 上的,你用來開發(fā)一些插件的時(shí)候需要用到一些庫(kù),這些庫(kù)如果要編譯在windows上的話,意味著你要折騰兩遍.

所以我建議你創(chuàng)建的時(shí)候在ubuntu子系統(tǒng)上去搞.

進(jìn)入 microsoft store 安裝ubuntu

[圖片上傳失敗...(image-17b5f-1624273861648)]

搜索ubuntu 進(jìn)行安裝 ,安裝完成后重啟系統(tǒng).

[圖片上傳失敗...(image-fd26e1-1624273861648)]

Win10中安裝Ubuntu子系統(tǒng)后默認(rèn)是沒有開啟SSH服務(wù)的榕茧,需要手動(dòng)配置開啟崎坊,

如何安裝win10的linux子系統(tǒng)可以參考這篇文章:https://blog.csdn.net/zhouzme/article/details/78780479

2 開通ssh

先通過 bash 進(jìn)入子系統(tǒng)修改配置

vi /etc/ssh/sshd_config

如果文件不存在說明尚未安裝,則執(zhí)行安裝

apt-get install openssh-server

繼續(xù)修改配置蚪战,下面以密碼登錄的配置作說明:

Port = 22 # 默認(rèn)是22端口皱炉,如果和windows端口沖突或你想換成其他的否則不用動(dòng)

ListenAddress 0.0.0.0 # 如果需要指定監(jiān)聽的IP則去除最左側(cè)的井號(hào)庸推,并配置對(duì)應(yīng)IP蒜茴,默認(rèn)即監(jiān)聽PC所有IP

PermitRootLogin no # 如果你需要用 root 直接登錄系統(tǒng)則此處改為 yes

PasswordAuthentication no # 將 no 改為 yes 表示使用帳號(hào)密碼方式登錄

主要配置以上幾項(xiàng)即可

然后啟動(dòng) ssh 服務(wù)

service ssh start

這個(gè)時(shí)候再用 xshell 就能連接子系統(tǒng)了

[圖片上傳失敗...(image-2acd49-1624273861648)]

windows 還能直接訪問ubuntu 里的文件系統(tǒng)

C:\Users\Administrator\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\usr\local\apps\openresty

3 此處略過openresty 安裝

4 共享目錄調(diào)整

他在這個(gè)目錄下.

我們只需要把我們的openresty 安裝在ubuntu里

luarocks 也安裝在子系統(tǒng)里

然后在idea 里去編輯這個(gè)目錄里的文件就可以了

在安裝的時(shí)候要注意,我們的這個(gè)ubuntu子系統(tǒng)是沒有 make gcc 的

需要手動(dòng)安裝的

我們把我們的luademo 工程遷移到

C:\Users\Administrator\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\usr\local\apps\openresty下

修改nginx 的配置

增加如下配置

lua_code_cache off;

include /usr/local/apps/openresty/luademo/conf/nginx-lua.conf;

將日志定位到工程目錄下

access_log /usr/local/apps/openresty/luademo/logs/access_8089.txt;

error_log /usr/local/apps/openresty/luademo/logs/error_8089.txt info;

修改

vi ~/.bash_profile

export PATH=$PATH:/usr/local/apps/openresty/nginx/sbin

nginx -s reload 執(zhí)行成功

5 日志轉(zhuǎn)移

為了方便開發(fā)我們需要把日志轉(zhuǎn)移到工程目錄下 方便用idea 打開日志查看

http {

include mime.types;

default_type application/octet-stream;

log_format main 'remote_addr -remote_user [time_local] "request" '

'statusbody_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;

access_log /usr/local/apps/openresty/luademo/logs/access.txt;

error_log /usr/local/apps/openresty/luademo/logs/error.txt info;

server {

listen 8080;

server_name localhost;

charset koi8-r;

access_log logs/host.access.log main;

location / {

root html;

index index.html index.htm;

}

6 luarocks 安裝 以及l(fā)fs 安裝使用

安裝前先備份 openresty

sudo tar -cvf openresty.tar openresty

zip

sudo apt-get install zip

sudo mkdir /usr/local/apps/luarocks

sudo chmod -R 777 /usr/local/apps/luarocks

cd /usr/local/apps/luarocks

wget https://luarocks.org/releases/luarocks-3.3.1.tar.gz

tar -xvf luarocks-3.3.1.tar.gz

cd luarocks-3.3.1

./configure --prefix=/usr/local/apps/openresty/luajit \

--with-lua=/usr/local/apps/openresty/luajit/ \

--lua-suffix=jit \

--with-lua-include=/usr/local/apps/openresty/luajit/include/luajit-2.1

[圖片上傳失敗...(image-73e5ec-1624273861647)]

這個(gè)時(shí)候在

/usr/local/apps/openresty/luajit/bin 下能看到我們安裝好的 luarocks

[圖片上傳失敗...(image-dc87f8-1624273861647)]

安裝lfs

進(jìn)入到/usr/local/apps/openresty/luajit/bin目錄中

./luarocks install luafilesystem

dozenx@DESKTOP-93QKS01:/usr/local/apps/openresty/luajit/bin$ sudo ./luarocks install luafilesystem

Installing https://luarocks.org/luafilesystem-1.8.0-1.src.rock

luafilesystem 1.8.0-1 depends on lua >= 5.1 (5.1-1 provided by VM)

gcc -O2 -fPIC -I/usr/local/apps/openresty/luajit/include/luajit-2.1 -c src/lfs.c -o src/lfs.o

gcc -shared -o lfs.so src/lfs.o

No existing manifest. Attempting to rebuild...

luafilesystem 1.8.0-1 is now installed in /usr/local/apps/openresty/luajit (license: MIT/X11)

[圖片上傳失敗...(image-ac27c3-1624273861647)]

在/usr/local/apps/openresty/luajit/lib/lua/5.1目錄中,會(huì)看到編譯好的lfs.so疆栏,不用再拷貝什么的曾掂,openresty就直接可以用了。

ozenx@DESKTOP-93QKS01:/usr/local/apps/openresty/luajit/bincd /usr/local/apps/openresty/luajit/lib/lua/5.1dozenx@DESKTOP-93QKS01:/usr/local/apps/openresty/luajit/lib/lua/5.1 ls

lfs.so

[圖片上傳失敗...(image-768aa7-1624273861647)]

測(cè)試方法

在nginx-lua.conf里添加一段代碼段

location /demo/lfs/test {

content_by_lua_file /usr/local/apps/openresty/luademo/src/demo/lfsTest.lua;

}

lfsTest.lua 內(nèi)容如下


--- Generated by EmmyLua(https://github.com/EmmyLua)

--- Created by Administrator.

--- DateTime: 2021/6/10 19:24


local lfs = require "lfs"

print("開始測(cè)試lfs的功能")

print(lfs._VERSION)

請(qǐng)求測(cè)試

curl 127.0.0.1:8089/demo/lfs/test

2021/06/21 17:26:16 [notice] 2754#0: *871 [lua] lfsTest.lua:9: 開始測(cè)試lfs的功能, client: 127.0.0.1, server: localhost, request: "GET /demo/lfs/test HTTP/1.1", host: "127.0.0.1:8089"

2021/06/21 17:26:16 [notice] 2754#0: *871 [lua] lfsTest.lua:10: LuaFileSystem 1.8.0, client: 127.0.0.1, server: localhost, request: "GET /demo/lfs/test HTTP/1.1", host: "127.0.0.1:8089"

[圖片上傳失敗...(image-231e89-1624273861647)]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末壁顶,一起剝皮案震驚了整個(gè)濱河市珠洗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌若专,老刑警劉巖许蓖,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異调衰,居然都是意外死亡膊爪,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門嚎莉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來米酬,“玉大人,你說我怎么就攤上這事萝喘』绰撸” “怎么了琼懊?”我有些...
    開封第一講書人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵阁簸,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我哼丈,道長(zhǎng)启妹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任醉旦,我火速辦了婚禮饶米,結(jié)果婚禮上桨啃,老公的妹妹穿的比我還像新娘。我一直安慰自己檬输,他們只是感情好照瘾,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著丧慈,像睡著了一般析命。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上逃默,一...
    開封第一講書人閱讀 51,763評(píng)論 1 307
  • 那天鹃愤,我揣著相機(jī)與錄音,去河邊找鬼完域。 笑死软吐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的吟税。 我是一名探鬼主播凹耙,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼肠仪!你這毒婦竟也來了使兔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤藤韵,失蹤者是張志新(化名)和其女友劉穎虐沥,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體泽艘,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡欲险,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了匹涮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片天试。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖然低,靈堂內(nèi)的尸體忽然破棺而出喜每,到底是詐尸還是另有隱情,我是刑警寧澤雳攘,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布带兜,位于F島的核電站,受9級(jí)特大地震影響吨灭,放射性物質(zhì)發(fā)生泄漏刚照。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一喧兄、第九天 我趴在偏房一處隱蔽的房頂上張望无畔。 院中可真熱鬧啊楚,春花似錦、人聲如沸浑彰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽郭变。三九已至蚯斯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間饵较,已是汗流浹背拍嵌。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留循诉,地道東北人横辆。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像茄猫,于是被迫代替她去往敵國(guó)和親狈蚤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容