zoukankan      html  css  js  c++  java
  • CentOS 上配置 lua 的服务器环境(enet)

    安装 lua & luarocket

    安装依赖

    $ yum install gcc gcc-c++ kernel-devel     
    $ yum install readline-dev                          
    $ yum install ncurses-devel.i386                
    

    下载并编译lua源文件

    $ wget http://www.lua.org/ftp/lua-5.1.4.tar.gz      
    $ tar zxvf lua-5.1.4.tar.gz                                      
    $ cd lua-5.1.4                                                        
    $ make linux                                     
    

    下载并安装 luarocks

    $ wget http://luarocks.org/releases/luarocks-2.0.6.tar.gz     
    $ tar zxvf luarocks-2.0.6.tar.gz                                              
    $ cd luarocks-2.0.6                                                                
    $ ./configure                                                                           
    $ make                                                                                   
    $ make install                    
    

    安装 enet && lua enet

    下载并编译enet

    $ wget http://enet.bespin.org/download/enet-1.3.13.tar.gz
    $ tar zxvf enet-1.3.13.tar.gz                                              
    $ cd enet-1.3.13                                                                
    $ ./configure                                                                           
    $ make                                                                                   
    $ make install                    
    

    下载并安装 lua enet

    $ luarocks install enet
    

    测一下

    $ lua
    > require "enet"
    

    没报错的话说明好了

    我遇到两次报错,第一次是没找到 enet.so ,这是因为lua在设置的路径范围内没有找到它,设置下LUA_CPATH ,这个值可以通过 luarocks path 查看

    $ export LUA_CPATH='/usr/lib/lua/5.1//?.so;/usr/.luarocks/lib/lua/5.1//?.so;./?.so;/usr/lib/lua/5.1/?.so;/usr/lib/lua/5.1/loadall.so'
    

    第二次是加载 enet.so 的时候没找到 libenet.so.7 ,这是因为动态链接库 so 在路径范围内没有找到它,设置下 LD_LIBRARY_PATH,用 find / -name libenent.so.7 查看文件在哪里

    libenet.so.7: cannot open shared object file: No such file or directory
    
    $ export LD_LIBRARY_PATH=/home/tangyikejun/lib:$LD_LIBRARY_PATH
    

    开端口

    iptables -A INPUT -m state --state NEW -p tcp --dport 1111 -j 
    

    写个示例测连接,我第一次写没成功,用 nc 测一下连接

    服务端

    $ nc -l 1111
    

    客户端

    $ nc 34.55.44.222 1111
    

    如果连通的话在客户端输入 haha,在服务端也会收到 haha

    参考:
    centos 安装lua
    so 文件查找路径的方式

  • 相关阅读:
    CSS3实现投影效果
    @font-face使用在线字体
    JS全局对象的属性
    const命令声明变量应注意的几点
    IDEA设置不区分大小写提示
    分布式ID生成-雪花算法
    项目Git分支管理规范
    IDEA使用Mybatis插件 MyBatisCodeHelper-Pro
    解决码云出现git@gitee.com: Permission denied (publickey).
    安装RabbitMQ,一直提示Erlang版本过低
  • 原文地址:https://www.cnblogs.com/tangyikejun/p/CentOS_Lua_ENet.html
Copyright © 2011-2022 走看看