GoAHead入门

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

成功后的截图:


goahead启动成功.png

问题

问题一:进行编译时报错;

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目录下

opt.rh.png

问题二:启动时,发生如下错误:

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容