首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

acl 服务器模块的支配

2013-01-27 
acl 服务器模块的部署? ? ? 在文章?acl 服务器编程模型介绍,开发多线程进程池服务器程序---acl 服务器框架

acl 服务器模块的部署

? ? ? 在文章?acl 服务器编程模型介绍,开发多线程进程池服务器程序---acl 服务器框架应用,快速创建你的服务器程序--single进程池模型?等文章中介绍了如何基于 acl 的 C 语言版编写服务器程序,而在?用 acl::master_aio 类编写高并发非阻塞服务器程序,使用 acl::master_proc 类编写多进程服务器程序,使用 acl::master_threads 类编写多进程多线程服务器程序?等文章则介绍了如何基于 acl 的 C++ 语言版本编写服务器程序。本文将介绍如何部署这些服务器程序。

? ? ? 从文章?协作半驻留式服务器程序开发框架 --- 基于 Postfix 服务器框架改造?可以看出,acl 的服务器框架中有一个总控制后台程序 acl_master,由它来启动调度服务子进程程序(这些子进程程序由用户根据自身需要基于 acl 的服务器框架编写)。

? ? ? 为了简便,acl 提供了一个简洁的方法,在 acl 的代码根目录下运行 make all; make install,则会将 acl_master 服务器主进程拷贝至 acl/dist/master/libexec/ 的 linux32/linux64 目录下,用户把自己的程序(如 acl/samples/master/ioctl_echo3/ioctl_echo3 程序)也拷贝至 acl/dist/master/libexec/linux64/ 下(如果您的系统是 linux32 位系统则需要拷贝到 acl/dist/master/libexec/linux32 目录下),同时把 acl/master/conf/service/samples/ioctl_echo.cf 配置文件拷贝到?acl/master/conf/service/ 目录下并改成用户自己的配置文件名(如 mytest.cf),打开此配置文件后将?master_disable 的值由 yes 改为 no(表示允许启动该配置文件控制的服务子进程),把其中?master_command 后的值改为用户自己的程序名(如 ioctl_echo3),然后存盘退出。

? ? ? 现在就可以安装服务器模块了,进入?acl/dist/master 目录,运行 :./setup.sh 安装路径,如:

? ? ? ./setup.sh ?/opt/acl,则得到如下安装结果:

? ? ? /opt/acl/libexec: 该目录存储服务器程序(acl_master 程序也存放在该目录下);

? ? ? /opt/acl/conf:该目录存放 acl_master 程序配置文件 main.cf;

? ? ? /opt/acl/conf/service:该目录存放服务子进程的程序配置文件,该路径由 main.cf 文件指定;

? ? ? /opt/acl/var/log:该目录存放日志文件;

? ? ? /opt/acl/var/pid:该目录存放进程号文件。

? ? ? 安装完毕后,用户可以运行启动 acl_master 的启动脚本:/opt/acl/sh/start.sh,然后手工 telnet 127.0.0.1 5001 (该端口由前面的示例配置文件指定),则一个简单的回显示服务器程序就 OK 了;如果不能返回正确结果,用户可以到安装目录(本例子中的 /opt/acl/var/log/)下查看 acl_master 主进程的日志文件 acl_master 查看里面记录的错误信息。

? ? ?acl 库下载:https://sourceforge.net/projects/acl/

? ? ?svn:?svn://svn.code.sf.net/p/acl/code/

热点排行