Windows上作为Web开发工具安装 在线文档

FastDo是一个强大的C++跨平台开发库,能助您快速的开发服务端程序,Web应用及网页。

Windows上作为Web开发工具安装

让FastDo作为Web开发工具安装,您需要做的是让系统找到FastDo的库文件和程序文件,并且启动HTTP方式的FastDo常驻程序,最后从浏览器运行网页。

由于目前HTTP方式的服务端程序webx_httpserv是实验探索性质的功能,稳定性暂时无法保证。如果您需要稳定运行,请使用FastCGI形式的服务。

由于IIS的反向代理需要安装ARR模块,这里就直接运行webx_httpserv,不使用IIS的反向代理了。如果你想使用,可以去网上搜索相应教程。


这里以Windows 10为例,其他Windows版本细节可能不同,但大体是一致的。

1、解压下载到的fastdo-<OS>-<ARCH>-<VERSION>.zip到你的目录

会在释放出fastdo文件夹,路径为\fastdo


2、为了能让系统找到fastdo的动态库,需要修改系统的PATH环境变量。

  • a. 按WIN+Pause键,打开系统信息对话框,点击【高级系统设置】。

  • b. 在弹出的系统属性对话框【高级】选项卡中点击【环境变量】。

  • c. 在弹出的环境变量对话框中的【系统变量】组框中点击【新建】按钮。

  • d. 新建一个名称为FASTDO_PATH,值为\fastdo的系统变量,点击【确定】。

  • e. 回到环境变量对话框,双击系统变量Path

  • f. 在弹出的编辑环境变量对话框中点击【新建】按钮,新建一个%FASTDO_PATH%\bin的项,点击【确定】。

  • g. 回到环境变量对话框,点击【确定】。

执行完此步之后,您Windows任何目录下的可执行文件都能找到fastdo的动态库和程序了。


3、为了让FastDo找到你安装的VS2017编译器,你需要修改ecp配置文件\fastdo\bin\ecp.confVSToolsBat设置。如下所示:

VSToolsBat="\\Community\\VC\\Auxiliary\\Build\\vcvars64.bat"

上面VS2017的路径需要你自己根据实际的安装路径进行设置。32位工具的批处理是vcvars32.bat,64位工具的批处理是vcvars64.bat。(注意,配置文件中\要写成\\)


4、执行ecpc命令判断FastDo是否安装成功。

ecpc

如果成功,则显示如下:

Arguments not enough!
Usage:
ecpc $InputFile1[ $InputFile2[ $InputFile3[ ...]]] [--exe] [--help] [-c $SourceFile] [-t $SourceTpl] [-o $Output] [-p $Config]
……

还记得[作为C++库安装]里编译baidu_homepage.cpp,vs创建项目的那一长串步骤吗?

现在我们不用那么长的步骤了,改为执行下面命令:

ecpc baidu_homepage.cpp --exe

即可。


5、启动webx_httpserv程序。

\fastdo\bin\webx_httpserv.exe

webx_httpserv有自己的配置文件\fastdo\bin\webx_httpserv.settings,你可以修改它。(注意:文档根目录默认是工作目录,你应该修改它为你自己合适的目录。)

# $ExeDirPath是外部变量,表示程序目录路径
# $WorkDirPath是外部变量,表示工作目录路径

# 是否以产品模式运行
ProductionMode no;
# Sessions 保存路径
SessionsPath ($ExeDirPath + '/sessions');
# application/x-www-form-urlencoded 表单POST发送数据的最大大小
MaxUrlencodedPostSize 8388608;
# multipart/form-data 多部分表单POST发送数据的最大大小
MaxMultiFormPostSize 10485760;
# 上传的临时目录
UploadTmpPath ($ExeDirPath + '/upload-tmp');
# appserv输出信息用的模板路径
OutputTplPath ($ExeDirPath + '/output-tpl');

server {
    # 服务器名,可留空
    server_name localhost;
    # 服务器IP,可留空
    server_ip ;
    # 服务器监听端口
    server_port 18080;
    # 监听积压数
    listen_backlog 10;
    # 线程数
    thread_count 6;
    # 服务器IO等待间隔时间(小数秒)
    server_wait 0.02;
    # verbose信息刷新间隔(小数秒)
    verbose_interval 0.1;
    # 显示冗长信息
    verbose 0;
    # 连接重试次数
    retry_count 10;
    # 套接字超时时间(整数秒)
    sock_timeout 300;
    # 影响环境变量:TZ,putenv()设置的时区
    time_zone PRC-8;
}

site {
    # 文档根目录
    document_root ($WorkDirPath);
    # 文档首页
    document_index index.html index.do;
    # 错误页
    error_pages {
        404 ($WorkDirPath + '/404.html');
    }
    # 静态文件缓存生命期
    cache_lifetime 0;
}

6、您应该可以从浏览器运行*.do文件了。

A. 在您的网站根目录新建一个hello.ecp,内容如下:

<?cpp
RSP.setCharset("utf-8");
RSP << "Hello world!";

B. 执行ecpc编译它。

ecpc hello.ecp

执行成功会产生hello.do文件,在浏览器地址栏中输入它的URL,回车。会输出Hello world!