最近在阿里云买了一台服务器,记录下整个安装、配置过程,以后弄新服务器则可以快速参考部署。
1,购买服务器
在阿里云https://www.aliyun.com/选择云服务器ECS,选择CentOS 7.4。 完成后,阿里云会给出远程登陆密码,需记下来。
此时服务器已正常运行,当我们远程上去的时候,只能登陆 root,密码是多少呢?这个需要自己设置。在阿里云网站控制台停止实例,然后在实例栏选择【更多】>【密码/密钥】>【重置密码】,重置成功后,这个密码就是 root 账户密码,启动服务器。
远程登陆,进入root,开始配置CentOS。
2,配置CentOS
此时是root身份, 更新软件和系统
1 yum update
安装必要软件
1 yum install autoconf
2 yum install automake
3 yum install readline-devel
4 yum install lua-devel
5 yum install libtool
6 yum install unzip
7 yum install git
敲重点:开发者只需要一个命令就好: yum groupinstall "Development Tools"
使用yum时可查看软件版本,再决定安装具体版本
yum list | grep subversion yum list subversion
3,创建用户,用于平常使用
groupadd grpxxx useradd -g grpxxx userxxx passwd userxxx psdxxx
4,用 XShell链接服务器
在阿里云操作后台,找到当前服务器的实例【更多】>【网络和安全组】>【安全组配置】,在安全组列表中选择当前实例【配置规则】>【添加安全组规则】。
规则方向:入方向
授权策略:允许
协议类型:SSH(22)
优先级:1
授权类型:地址段访问
授权对象:0.0.0.0/0
点击【确定】,安全设置完成。
打开XShell新建一个会话【aliyunserver】,连接协议选择 SSH,主机则为阿里云服务器的公网IP,端口号22。
用户身份验证,方法 Password, 将上面创建的用户名和密码输入到用户名和密码栏。点击确定。
连接弹窗接受协议,连入服务器成功。
5,使用 XShell 在 Windows和Linux中互传文件
# yum install -y lrzsz
从Windows上传文件,在Xshell命令行中输入rz命令后,会弹出对话框,选择你要上传的文件,选择打开要上传的文件就上传到Linux主机下。
从Linux主机下载文件,下载命令为sz ,后面也可跟要下载的文件名,也可以选择下载的保存文件夹;只输入sz命令时,文件一般保存在当前路径下,上传完可以使用ls 查看。
6,使用scp命令,在 MacosX和Linux中互传文件
安装服务器工程
CentOS 7.4 中已经自带 gcc, lua 5.1.4, python 等。
查看系统信息
1 uname -a
2 file /bin/ls
3 cat /proc/version
4 lsb_release -a
5 cat /etc/os-release
6 cat /etc/redhat-release
7 rpm -q centos-release
8 cat /proc/version
5,安装 skynet
1 git clone https://github.com/cloudwu/skynet.git
2 cd skynet
3 make linux
4
5 --测试
6 ./skynet examples/config # Launch first skynet node (Gate server) and a skynet-master (see config for standalone option)
7 ./3rd/lua/lua examples/client.lua # Launch a client, and try to input hello.
6,安装 sproto
1 git clone https://github.com/cloudwu/sproto.git
2 cd sproto
3
4 --因为机器上的LUA是5.1.4版本,所以需要改下sproto源码
5 vi lsproto.c
6
7 --修改LUAMOD_API为 /*LUAMOD_API*/,即去掉改标识(5.1中无该标识定义)
8
9 --保存并退出
10 :wq
11
12 --编译
13 make linux
14
15 --测试
16 lua test.lua
7,在Windows上使用sproto
lua的发行版在Windows上目前是5.1.5。下载 https://github.com/rjpcomputing/luaforwindows/releases 安装到Windows上。
在github上将sproto的源码下载下来。
git clone https://github.com/cloudwu/sproto.git
新建vs工程,Visual C++ 》Windows 》动态链接库(DLL), 工程名 sprotolib。
设置工程属性:
【VC++目录】
【包含目录】添加lua的头文件目录》X:\Program Files (x86)\Lua\5.1\include
【库目录】添加lua的库目录:X:\Program Files (x86)\Lua\5.1\lib
【C/C++】
Note:因为我们的目的是编译sproto的DLL库,LUA这里需要设置导出DLL)
【链接器】
【常规】》【附加库目录】添加 lua 库目录 X:\Program Files (x86)\Lua\5.1\lib
【输入】》【附加依赖项】添加 lua5.1.lib;lua51.lib
设置完毕。
将sproto中的【sproto.h】【sproto.c】【msvcint.h】【lsproto.c】复制到sprotolib工程内,加入工程。
右键【sproto.c】》【属性】》【C/C++】》【预编译头】:设置【不使用预编译头】
同设置于【lsproto.c】。
修改【lsproto.c】文件中的 LUAMOD_API 为 LUA_API 。(Note: lua 5.1中无该LUAMOD_API 定义,追踪LUA5.3的代码发现LUAMOD_API 和LUA_API是一样的)
编译 【Release】【x86】,成功生成 sprotolib.dll
重命名sprotolib.dll为sproto.dll,放入 sproto 原文件夹中。
运行测试:
在文件夹空白处,Shift + 鼠标右键,【打开Powershell窗口】,在窗口中输入:
lua .\test.lua
运行正常:
1 PS F:\Open Source Libraries\sproto\sproto> lua .\test.lua
2 default table for Person
3 +id [0]
4 +phone+__array [Person.PhoneNumber]
5 +name []
6 +email []
7 --------------
8 +others+1+id [30000]
9 | +name [Carol]
10 | +phone+1+number [9876543210]
11 +person+10000+id [10000]
12 | +name [Alice]
13 | +phone+1+number [123456789]
14 | | +type [1]
15 | +2+number [87654321]
16 | +type [2]
17 +20000+id [20000]
18 +name [Bob]
19 +phone+1+number [01234567890]
20 +type [3]
21 PS F:\Open Source Libraries\sproto\sproto>
8,开放端口
在centos中开放端口 firewall-cmd 后,还需要在 阿里云那里添加网络进入规则,开放该端口,不然外界无法访问。