`
zsxxsz
  • 浏览: 450522 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

acl服务器模块的部署--示例

 
阅读更多

             作者:王华涛

 

acl服务器模块acl_master,通过配置文件的配置项来控制工作进程的运行。下面以例子ioctl_echo3来讲解如何配置运行。

1)下载acl源码包acl.3.0.3.src.tgz

2) #tar xzvf acl.3.0.3.src.tgz将包进行解压。

3)在acl/dist/master目录下执行命令:

#chmod a+x setup.sh

#./setup.sh /opt/acl

/opt/acl是将程序发布到这个目录下。

执行脚本后,将自动建立相应子目录在/opt/acl路径下。

4)将ioctl_echo3拷贝到/opt/acl/libexec/目录下

5)将ioctl_echo3的配置文件ioctl_echo.cf拷贝到/opt/acl/conf/service目录下。

6)将ioctl_echo.cf中的程序名修改为ioctl_echo3

ioctl_echo.cf的配置内容如下:

service server {

master_disable = no

master_service = 127.0.0.1:5001

master_type = inet

master_private = n

master_unpriv = n

master_chroot = n

master_wakeup = -

master_maxproc = 2

master_prefork = 2

master_command = ioctl_echo3

master_log = /opt/acl/var/log/ioctl_echo.log

ioctl_use_limit = 100

ioctl_idle_limit = 120

ioctl_pid_dir =  /opt/acl/var/pid

ioctl_queue_dir = /opt/acl/var

ioctl_rw_timeout = 120

ioctl_buf_size = 8192

ioctl_max_accept = 25

ioctl_owner = root

ioctl_delay_sec = 0

ioctl_delay_usec = 500

ioctl_event_mode = select

ioctl_max_threads = 250

ioctl_stacksize = 0

ioctl_access_allow = 127.0.0.1:255.255.255.255, 127.0.0.1:127.0.0.1

ioctl_quick_abort = 1

app_client_idle_limit = 12

debug_mem = 1

}

 

main.cf的配置内容如下:

default_process_limit = 250

owner_user = root

master_owner = root

owner_group = root

service_throttle_time = 60

process_name = acl_master

buf_size = 81920

rw_timeout = 60

event_delay_sec = 1

event_delay_usec = 5000

daemon_directory = /opt/acl/libexec

log_file = /opt/acl/var/log/acl_master

service_directory = /opt/acl/conf/service

queue_directory = /opt/acl/var

pid_file = /opt/acl/var/pid/acl_master.pid

scan_subdir = 0

 

 

7)在/opt/acl/sh目录下执行start.sh就可以启动acl_master进程和ioctl_echo3进程了。

8) 通过telnet 127.0.0.1 5001进行验证

 

1
1
分享到:
评论
10 楼 cl185303590 2014-11-13  
cl185303590 写道
LZ 在执行该例程时出现core文件:
#0  0x0000003099030265 in raise () from /lib64/libc.so.6
#1  0x0000003099031d10 in abort () from /lib64/libc.so.6
#2  0x00000030990296e6 in __assert_fail () from /lib64/libc.so.6
#3  0x000000000040524e in acl_msg_fatal (fmt=0x437df7 "%s(%d)->%s: exec %s: %s")
    at src/stdlib/acl_msg.c:307
#4  0x000000000042283c in acl_master_spawn (serv=0xdf1b500)
    at src/master/framework/master_spawn.c:237
#5  0x000000000043211b in master_prefork (serv=0xdf1b500)
    at src/master/framework/master_avail.c:52
#6  acl_master_avail_listen (serv=0xdf1b500)
    at src/master/framework/master_avail.c:104
#7  0x00000000004218b7 in acl_master_start_service (serv=0xdf1b500)
    at src/master/framework/master_service.c:58
#8  0x000000000041ffbe in acl_master_config ()
    at src/master/framework/master_conf.c:113
#9  0x000000000040430d in main (argc=5, argv=<value optimized out>)
    at src/master/daemon/master.c:152
每次都会在acl_msg_fatal core掉   这是为什么???忘求解答

问题解决了   是配置文件的问题
9 楼 cl185303590 2014-11-13  
LZ 在执行该例程时出现core文件:
#0  0x0000003099030265 in raise () from /lib64/libc.so.6
#1  0x0000003099031d10 in abort () from /lib64/libc.so.6
#2  0x00000030990296e6 in __assert_fail () from /lib64/libc.so.6
#3  0x000000000040524e in acl_msg_fatal (fmt=0x437df7 "%s(%d)->%s: exec %s: %s")
    at src/stdlib/acl_msg.c:307
#4  0x000000000042283c in acl_master_spawn (serv=0xdf1b500)
    at src/master/framework/master_spawn.c:237
#5  0x000000000043211b in master_prefork (serv=0xdf1b500)
    at src/master/framework/master_avail.c:52
#6  acl_master_avail_listen (serv=0xdf1b500)
    at src/master/framework/master_avail.c:104
#7  0x00000000004218b7 in acl_master_start_service (serv=0xdf1b500)
    at src/master/framework/master_service.c:58
#8  0x000000000041ffbe in acl_master_config ()
    at src/master/framework/master_conf.c:113
#9  0x000000000040430d in main (argc=5, argv=<value optimized out>)
    at src/master/daemon/master.c:152
每次都会在acl_msg_fatal core掉   这是为什么???忘求解答
8 楼 zsxxsz 2013-11-20  
huangzuduan 写道
huangzuduan 写道
LZ,通过在acl目录下make install时,最后出现

root@17kailu:/acl# make install

begin copy file...
cp -f lib_acl/master/acl_master ./dist/master/libexec//
cp -f lib_acl/lib/lib_acl.a ./dist/lib//
cp -Rf lib_acl/include/* ./dist/include/acl/
cp -f lib_protocol/lib/lib_protocol.a ./dist/lib//
cp -Rf lib_protocol/include/* ./dist/include/protocol/
cp -f lib_acl_cpp/lib/lib_acl_cpp.a ./dist/lib//
cp -Rf lib_acl_cpp/include/acl_cpp/* ./dist/include/acl_cpp/

看了下我的uname -a
Linux 17kailu 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2 x86_64 GNU/Linux
uname -s
Linux
uname -p
unknown
发现没有复制正确的文件到指定位置


看来在安装脚本在 Debian 下有问题,你可以修改一下
7 楼 huangzuduan 2013-11-20  
huangzuduan 写道
LZ,通过在acl目录下make install时,最后出现

root@17kailu:/acl# make install

begin copy file...
cp -f lib_acl/master/acl_master ./dist/master/libexec//
cp -f lib_acl/lib/lib_acl.a ./dist/lib//
cp -Rf lib_acl/include/* ./dist/include/acl/
cp -f lib_protocol/lib/lib_protocol.a ./dist/lib//
cp -Rf lib_protocol/include/* ./dist/include/protocol/
cp -f lib_acl_cpp/lib/lib_acl_cpp.a ./dist/lib//
cp -Rf lib_acl_cpp/include/acl_cpp/* ./dist/include/acl_cpp/

看了下我的uname -a
Linux 17kailu 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2 x86_64 GNU/Linux
uname -s
Linux
uname -p
unknown
发现没有复制正确的文件到指定位置
6 楼 huangzuduan 2013-11-20  
LZ,通过在acl目录下make install时,最后出现
5 楼 zsxxsz 2013-11-20  
huangzuduan 写道
LZ您好,在执行setup后,我在opt/acl/libexec中并没有看见有acl_master程序,
再将例子中make好的程序放到该 目录 下,再去执行sh/start.sh 报没有找到acl_master
像这种问题怎么解决呢,看了下setup.sh脚本,是/acl/dist/master/libexec/对应版本下文件,但我发现/acl/dist/master/libexec/对应版本下是没有文件的

你还可以参考另一篇部署的文章:http://zsxxsz.iteye.com/blog/1773413
4 楼 zsxxsz 2013-11-20  
huangzuduan 写道
LZ您好,在执行setup后,我在opt/acl/libexec中并没有看见有acl_master程序,
再将例子中make好的程序放到该 目录 下,再去执行sh/start.sh 报没有找到acl_master
像这种问题怎么解决呢,看了下setup.sh脚本,是/acl/dist/master/libexec/对应版本下文件,但我发现/acl/dist/master/libexec/对应版本下是没有文件的

你可以在 acl/lib_acl 下 make,然后 make install,这样 acl_master 程序会被拷贝到 acl/dist/master/libexec/linux64(或linux32)目录下,然后将你写的程序也拷贝至相同目录下,同时将配置文件拷贝至 acl/dist/master/conf/service 下,这样就可以运行 ./setup.sh 了,这个 setup.sh 脚本会拷贝程序及配置文件至你指定的目录,同时将配置文件中的路径进行替换。
3 楼 huangzuduan 2013-11-20  
LZ您好,在执行setup后,我在opt/acl/libexec中并没有看见有acl_master程序,
再将例子中make好的程序放到该 目录 下,再去执行sh/start.sh 报没有找到acl_master
像这种问题怎么解决呢,看了下setup.sh脚本,是/acl/dist/master/libexec/对应版本下文件,但我发现/acl/dist/master/libexec/对应版本下是没有文件的
2 楼 zsxxsz 2013-11-09  
可以尝试在 vim 的环境设置,打开 ~/.vimrc,然后加入一行:
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
1 楼 java软件乐园 2013-11-09  
你好,在[6)将ioctl_echo.cf中的程序名修改为ioctl_echo3]中看到中文是乱码
Ï̳߳صÄ×î´óÏß³ÌÊý
        ioctl_max_threads = 250
#       Ï̵߳ĶÑÕ»¿Õ¼ä´óС£¬µ¥Î»Îª×Ö½Ú£¬0±íʾʹÓÃϵͳȱʡֵ
        ioctl_stacksize = 0
#       ÔÊÐí·ÃÎÊ udserver µÄ¿Í»§¶ËIPµØÖ··¶Î§
        ioctl_access_allow = 127.0.0.1:255.255.255.255, 127.0.0.1:127.0.0.1

#       µ± acl_master Í˳öʱ£¬Èç¹û¸ÃÖµÖÃ1Ôò¸Ã³ÌÐò²»µÈËùÓÐÁ¬½Ó´¦ÀíÍê±Ï±ãÁ¢¼´Í˳ö
        ioctl_quick_abort = 1

##      app_main.c ÐèÒªµÄ²ÎÊýÏî
#       ¿Í»§¶ËÁ¬½ÓµÄ×î´ó¿ÕÏÐʱ¼ä·§Öµ
        app_client_idle_limit = 12
像这种
本机系统centos6.2,acl版本acl.3.0.13.tgz,本机已经是utf-8编码,其他中文文件没有乱码,可不可以去掉中文,用英文表示

相关推荐

    勤哲Excel服务器WebService接口说明

    部署勤哲Excel服务器的WebService时,需要确保ESWeb模块正确安装并配置好安全性设置。具体步骤如下: 1. **安装ESWeb模块**:在安装Excel服务器服务端时,选择安装ESWeb模块。 2. **配置安全性**:确保WebService的...

    spring-security-reference-4.1.1.RELEASE

    Spring Security 能够与任何基于 Java 的应用程序无缝集成,并且它支持多种部署环境,如传统的 Java EE 服务器或基于 Web 的应用服务器。 ##### 1.2 历史沿革 Spring Security 最初由 Ben Alex 创建于 2004 年,并...

    redis5和6版本的安装包.rar

    以上是关于Redis 5.0.5和6.0.10版本安装及使用的关键知识点,通过这些信息,你可以顺利地在Linux服务器上部署并管理Redis实例。在实际操作中,还应根据具体需求和服务器环境进行适当的配置和调优。

    JADE-all-4.3.2

    这包括JADE主服务器(Main Container)、代理容器(Agent Containers)和其他辅助工具,用户可以直接启动这些文件来运行或测试自己的多代理系统。 **JADE-src-4.3.2.zip**则提供了JADE的源代码,这对于开发者深入...

    LDAP操作说明和流程文件.rar

    - **模块管理**: openLDAP支持多种模块,如back_ldap(用于连接其他LDAP服务器)和back_hdb(用于更高效的数据存储)。 - **权限设定**: 使用ACL(访问控制列表)定义用户和组对目录的访问权限。 4. **LDAP格式...

    Juniper_EX交换机中文操作手册

    - **产品背景**:Juniper EX系列以太网交换机专为高性能企业和园区网络设计,适用于分支办公室、远程办公室以及园区网络中的接入层部署。本手册旨在帮助技术人员快速上手并掌握Juniper EX系列交换机的操作。 - **...

    cakephp官方文档

    - **简单ACL控制的应用程序**:介绍了一个基于ACL的角色权限控制示例。 - **第二部分**:进一步扩展了第一部分的内容,提供了更复杂的权限管理方案。 #### 十三、Appendices(附录) - **2.4迁移指南**:为从旧...

    Ansible-ansible-nomad.zip

    2. **配置Nomad**: 使用Ansible的模板模块创建Nomad的配置文件,如`nomad.hcl`,并确保每个节点的配置符合其在集群中的角色(如服务器或客户端)。 3. **启动和停止Nomad服务**: Ansible可以用来启动、停止或重启...

    spring-shiro-demo

    8. **Web应用部署**:了解如何将打包后的WAR文件部署到Tomcat或其他应用服务器,以及如何在IDE中进行调试和运行。 通过学习和实践"spring-shiro-demo"项目,开发者可以深入理解如何在Spring环境下利用Shiro构建安全...

    jsp 漏洞

    JSP文件直接访问漏洞是指攻击者能够直接通过浏览器或其他工具访问到部署在服务器上的JSP文件,从而获取敏感信息或执行恶意代码。这种漏洞通常出现在服务器配置不当的情况下,例如未正确设置文件权限或路径暴露等。 ...

    AccessControl-4.0-cp27-cp27m-win32.whl.zip

    标签"whl"表明这个文件是按照Python的Wheel标准打包的,Wheel格式的优点在于它预先编译了Python的扩展模块,使得在不支持自动编译的环境中(比如某些服务器环境)能够快速安装依赖。Python的`pip`包管理器可以直接...

    Juniper交换机中文操作手册(完整)

    - **适用场景:** 分支办公室、远程办公室以及园区网络中的接入层部署。 - **特点:** 高性能独立交换机,提供第2层和第3层交换功能。 - **配置模式:** 支持四种不同的配置模式,可以根据需求为24个或48个10/100...

    Juniper EX系列交换机中文操作手册(完整版)

    - **9.1 配置RADIUS服务器**:配置802.1X认证所需的RADIUS服务器。 - **9.2 配置接口模式**:设置接口为802.1X认证模式。 - **9.3 查看状态**:监控802.1X会话的状态。 #### 十、PACKETFILTERING - **10.1 配置...

    freeswitch关于支持jssip的配置

    总结来说,本文主要讲述了在FreeSWITCH中配置jssip支持时需要注意的几个关键环节:配置mediaproxy模式、处理SIP代理设置、支持WebRTC的wss服务、配置SSL证书以及在局域网内部署ACL规则。这些步骤确保了FreeSWITCH...

    PHP实例开发源码—LOGA 5X 建站系统utf-8.zip

    10. **部署与配置**:为了简化部署过程,系统可能提供配置文件和脚本,帮助开发者将网站部署到服务器,并根据服务器环境进行相应的设置。 这个压缩包中的子文件"132685092413997060"可能是源代码的某个部分,或者是...

    自建CDN应对大流量拒绝服务

    OpenCDN平台的技术架构基于Linux+nginx构建,结合Ngx_proxy_cache高速缓存模块、自主统一监测/管控平台、DNSPod智能解析和D监控自动故障切换等功能,实现了高效稳定的内容分发服务。 #### 结论 通过自建CDN来应对...

    jms,weblogic电子书

    - **安全加固**:通过设置访问控制列表(ACL)、启用SSL加密等方式加强JMS资源的安全性,防止未授权访问和数据泄露。 #### 结语 通过本文的介绍,我们可以看到,WebLogic Server提供的JMS支持不仅涵盖了基本的消息...

    北京师范大学校园网应用案例.doc

    CAMS 采取模块设计,可根据用户需要增加新的性能和模块。 该方案的关键技术点包括: 1. Quidway S6506 三层交换机:具有强大的 QoS/ACL 能力,支持 802.1x 认证和 DHCP RELAY 功能。 2. CAMS 认证计费软件:实现...

Global site tag (gtag.js) - Google Analytics