0%

iptables作为centos下的默认防火墙,功能强大的不得了.
在一些简单情况下,iptables还可以实现web server(nginx, apache)的一些简单功能.
iptables太强大了,所以我对iptables的配置不是很了解,只记录一些常用的,备份下.

阅读全文 »

最开始接触的ftp服务器vsftpd
本着探索的精神试着安装了下pure-ftpd
毕竟pure-ftpd也是linux下的三大ftp软件之一
先对比一下:

vsftpd pure-ftpd
设置空密码
支持插件
配置难度 简单
安全性 据说高点
阅读全文 »

先推荐一个windows下基于aria2的下载工具motrix

公司限制了网络,无法下载大的文件
BUT内网服务器没有限制
作为一个”不法”青年,在服务器上搭建一个下载机
下载机将文件下载到ftp目录下,使用ftp在内网下载

阅读全文 »

个人简单试了下用erlang自带的ssh模块远程登录

调用命令:

1
my_ssh:exec("192.168.6.77", 22, [{user, "root"}, {password, "123456"}], "export LANG=en.UTF-8 && ls -l").
阅读全文 »

一个项目的开发可能涉及若干种语言,前端、后端、后台都有不同的适合的语言,比如在游戏中,前端用C+Lua,后端用Erlang,后台用PHP,不同语言直接的通信就成了一个比较棘手的问题,下面简单讨论几组可能的实现方式:

Socket

基于自定义协议的Socket请求

前端(或者后台)与后端约定好协议格式,以协议的方式通信。

基于HTTP的请求

后端架设一个HTTP服务器,前端(或者后台)通过HTTP请求将需要执行的命令以参数的形式传递给后端。

SSH

Erlang开启SSH服务器,前端(或者后台)通过插件SSH登录到Erlang服务器,执行命令。

1
2
3
Eshell V5.10.4  (abort with ^G)
1> ssh:start().
2> ssh:daemon(10000, [{user_passwords, [{"root", "123456"}]}]).
1
2
[root@localhost ~]# sshpass -p 123456 ssh -p 10000 root@127.0.0.1 'lists:seq(1, 10).'
[1,2,3,4,5,6,7,8,9,10]

为什么多实例

  1. [单实例]缺少DBA,无法优化单实例性能;
  2. [单实例]系统本身设计问题,影响单实例性能;
  3. [单实例]预料之外,而且不能重启数据库;
  4. [多实例]克服以上缺点;
  5. [多实例]某个实例出现问题,不会影响到其他实例;
阅读全文 »

游戏开发中,需要对接平台SDK
验证流程大概是:

  1. 客户端登录平台,获取authorize_code,并发送给服务端
  2. 服务端向平台验证authorize_code,同时获得user_id
  3. 服务端验证通过后进行游戏登录

验证方式有GET,POST,JSON等方式,用到的是erlanghttpc模块.

阅读全文 »

源码安装erlang尽管性能上好很多,但各种工具以及编译参数的设置也是一个头疼的事情。

yum安装具有简单快速的优点:
下面是快速安装erlang的脚本

  • R14epel

  • R16+可以使用下面的脚本:

    1
    2
    3
    4
    yum install -y wget
    rpm --import http://binaries.erlang-solutions.com/debian/erlang_solutions.asc
    wget -O /etc/yum.repos.d/erlang_solutions.repo http://binaries.erlang-solutions.com/rpm/centos/erlang_solutions.repo
    yum install -y esl-erlang-R16B03
  • R15或者其他版本要么放弃,要么源码安装,没有其他办法了。