利用祺佑框架(猫框)做好项目后进行编译,那么该如何发布到IIS中呢?下面就这个问题做下记录,以备后需(过了一段时间又忘记了,看来好记性真的是不如烂笔头啊)
一、安装IIS(仅以WIN10为例)
打开“控制面板\所有控制面板项\程序和功能”,然后打开“启用或关闭windows功能”,然后展开“Internet Information Services”,如果对IIS不是很了解,建议将Web管理工具和万维网服务下面的所有复选框都勾选上,然后点击“确定”完成相关功能的添加。
请输入图片描述
请输入图片描述
请输入图片描述

二、IIS设置
1、进入“计算机管理”,展开“服务和应用程序”,就可以看到刚才添加的Internet Information Services(IIS)管理器,选中IIS,右侧即出现网站。
请输入图片描述
2、在网站上单击右键,弹出菜单,点击“添加网站”,然后设置网站相关信息:网站名称(自己取一个便于识别的名称,如VFPBSWEB),物理路径(指向要发布的文件夹,即网页文件所在文件夹),端口(默认80,如果已有站点,则需要改成其它端口,如8080等),然后点击确定。
请输入图片描述
请输入图片描述
3、选中刚才添加的站点VFPBSWEB,然后双击“处理程序映射”,再点击“添加模块映射……”,在请示路径中填写*.fsp,模块中选择CgiModule,可执行文件选择VFP项目编译后的EXE文件,名称中填写便于识别的自定义名称,如VFPBSWEBAPI。下面的这一步很关键,之前总是不能成功就是这里没有设置好。点击“请求限制(R)……"按钮,在映射子夹中,取消第一个复选框“仅当请求映射至以下内容时调用处理程序(I):”,谓词子夹中保持默认(全部谓词),访问中保持默认(脚本),然后点击确定,回到“添加模块映射”窗口,再点确定,弹出确认窗口,选择“是”。
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述

三、网站目录文件检查
1、打开VFPBSWEB网站所在目录,取可看到web.config文件,这是站点配置文件
请输入图片描述

 <?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <system.webServer>
 <handlers>
 <add name="VFPBSWEBAPI" path="*.fsp" verb="*" modules="CgiModule" scriptProcessor="E:\web\vfpewb\cgi\vfpwebapi.exe" resourceType="Unspecified" />
 </handlers>
 </system.webServer>
</configuration>

这里特别提醒一下,resourceType="Unspecified"这里的值要为Unspecified。
2、将猫框中的database和dll两个文件夹拷贝到此目录中。
请输入图片描述
四、测试
打开浏览器,在地址栏内输入http://127.0.0.1:8080/1.fsp(1.fsp这个文件不存在也没有关系),敲回车后,即可出现一条错误提示信息
请输入图片描述

{ "errno": 1, "errmsg": "文件 '1.prg' 不存在。", "success": "false", "errorMsg": "文件 '1.prg' 不存在。", "total": 0, "rows": "[ ]" }

出现这个信息就表示猫框项目发布成功了。
此时再回到VFPBSWEB网站所在目录,发现多了三个文件,一个是日志文件,两个是前面vfpwebapi.exe运行后生成的资源文件(VFP资源文件)。
请输入图片描述
打开日志文件可以查看站点运行情况

2022-10-23 10:28:46 AM 系统启动Visual FoxPro 09.00.0000.7423 EXE 支持库 适用于
Windows 2022-10-23 10:28:46 AM http://127.0.0.1:8080/1.fsp? 2022-10-23
10:28:46 AM 1类应答 2022-10-23 10:28:46 AM 文件 '1.prg'
不存在。,过程:mainbs,行号:81 2022-10-23 10:28:46 AM 初始化.main程序退出

补充一下:如果提供vfpbs服务的服务器没有安装vfp9(7423版),则需要将vfp9运行库拷贝到windows/system32或windows/syswow64目录下(根据服务器系统版本来进行选择,32位或64位。)

发表评论