GoAHead介绍
GoAhead是一个开源、简单、轻巧、功能强大、可以在多个平台运行的嵌入式Web Server。本文是针对一台小的硬件设备上进行研究。
启动一个GoAHead项目
下载地址
1、官方地址:http://embedthis.com/goahead/download.html
2、github地址:https://github.com/embedthis/goahead
当前GoAHead的最新版本为5.2.0。
官方文档:https://www.embedthis.com/goahead/doc/
安装
安装的环境: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 # 启动,默认的HTTP端口为80,HTTPS端口为443,如修改可以在启动时添加IP和端口。
或
goahead -v --home /etc/goahead /var/www/goahead IP:PORT
成功后的截图:
问题
问题一:进行编译时报错;
error: 'for' loop initial declarations are only allowed in C99 mode
解决方案:
由于gcc编辑器的版本较低,可以升级gcc编译的标准。本文使用环境为centos7
# 安装centos-release-scl
yum install centos-release-scl
# 安装devtoolset,安装7.*版本时,修改为devtoolset-7-gcc*
yum install devtoolset-8-gcc*
# 激活对应的devtoolset
scl enable devtoolset-8 bash
# 查看gcc的版本
gcc -v
注意:通过上述激活命令只对本次会话有效,重启后gcc还会重置为原来的版本。
devtoolset的安装路径为/opt/rh
目录下
问题二:启动时,发生如下错误:
goahead: 0: Unable to read key self.key
goahead: 0: Cannot initialize server. Exiting.
解决方案:
将目录src下的self.crt和self.key复制在/etc/goahead
cd /usr/local/goahead-5.2.0/src
cp self.crt self.key /etc/goahead