GoAHead介紹
GoAhead是一個(gè)開源、簡(jiǎn)單、輕巧贞绳、功能強(qiáng)大、可以在多個(gè)平臺(tái)運(yùn)行的嵌入式Web Server鬓照。本文是針對(duì)一臺(tái)小的硬件設(shè)備上進(jìn)行研究熔酷。
啟動(dòng)一個(gè)GoAHead項(xiàng)目
下載地址
1、官方地址:http://embedthis.com/goahead/download.html
2豺裆、github地址:https://github.com/embedthis/goahead
當(dāng)前GoAHead的最新版本為5.2.0拒秘。
官方文檔:https://www.embedthis.com/goahead/doc/
安裝
安裝的環(huán)境:centos7
下載源碼后解壓:
tar xzvf goahead-5.2.0-src.tgz -C /usr/local #解壓
cd /usr/local/goahead-5.2.0
make # 編譯
make install # 安裝
goahead -v --home /etc/goahead /var/www/goahead # 啟動(dòng)号显,默認(rèn)的HTTP端口為80,HTTPS端口為443躺酒,如修改可以在啟動(dòng)時(shí)添加IP和端口押蚤。
或
goahead -v --home /etc/goahead /var/www/goahead IP:PORT
成功后的截圖:
goahead啟動(dòng)成功.png
問(wèn)題
問(wèn)題一:進(jìn)行編譯時(shí)報(bào)錯(cuò);
error: 'for' loop initial declarations are only allowed in C99 mode
解決方案:
由于gcc編輯器的版本較低羹应,可以升級(jí)gcc編譯的標(biāo)準(zhǔn)揽碘。本文使用環(huán)境為centos7
# 安裝centos-release-scl
yum install centos-release-scl
# 安裝devtoolset,安裝7.*版本時(shí)园匹,修改為devtoolset-7-gcc*
yum install devtoolset-8-gcc*
# 激活對(duì)應(yīng)的devtoolset
scl enable devtoolset-8 bash
# 查看gcc的版本
gcc -v
注意:通過(guò)上述激活命令只對(duì)本次會(huì)話有效雳刺,重啟后gcc還會(huì)重置為原來(lái)的版本。
devtoolset的安裝路徑為/opt/rh
目錄下
opt.rh.png
問(wèn)題二:?jiǎn)?dòng)時(shí)裸违,發(fā)生如下錯(cuò)誤:
goahead: 0: Unable to read key self.key
goahead: 0: Cannot initialize server. Exiting.
解決方案:
將目錄src下的self.crt和self.key復(fù)制在/etc/goahead
cd /usr/local/goahead-5.2.0/src
cp self.crt self.key /etc/goahead