手机上怎么搭建自己的网站,要怎么搭建
最近在Android手机上利用Linux Deploy搭建了一个LEMP/LNMP网站,本文讲述其中的主要流程和注意事项。有一些坑,也有点小窍门,还有一些测试数据,拿手机做其它框架的网站或其它用途的服务器也可参考。
可行性及方案
先评估下性能。在手机上装了个Linux,用sysbench测试下CPU,以PC和树莓派作为对比。
sysbench --test=cpu --cpu-max-prime=20000 run
结果是耗时,越短越好。
PC: i7 4770K: 212s
华为荣耀6 plus: 247s
树莓派3代: 535s
树莓派2代: 1150s
虽然比PC差远了,但比树莓派快不少(多核应该更强)。其实我的网站以前是跑在树莓派2代上的。树莓派的I/O(SD卡)也是很慢的。
至于方案,理论上来说有这么几类:
APK提供http服务器、MySQL服务器、PHP的支持。——功能受限于APK,不能使用标准的工具集。
用类似于busybox的方式,把Linux下的命令集和需要的服务器都编译到Android上。——累。
双系统,既可以引导Linux,也可以引导Android。——树莓派可以,以前用过RK3188的Android电视盒也可以,理论上手机也可以做到,就看有哪几个手机厂商愿意提供这种支持了。所以,可遇不可求。
模拟器:APK是Linux的模拟器。——慢。
Linux和Android共用内核,使用chroot容器的方式。——这几乎是最完美的方案了,既不破坏Android,又有一个几乎完整的Linux。Linux Deploy就是这方面的杰出代表。1/6 分步阅读
手机网站的建设,有花钱的也有免费的,当然毕竟是工业,手机端才刚刚被接受,做个免费的试试效果吧,首先我们需要搜索一下,找个靠谱的网站,会有不错的效果
多看几个网站,找个规模大的,信誉好的网站,选在需要的版本,打开之后会有很多模板可以进行选择,有标准版的,炫彩版的,行业的还有购物型的,看看自己属于哪个就用哪个
我们是做工业的,今天就用工业的版本和大家说说,选择之后右边会以手机的样式显示出来,可以直接看到生成后的效果,这样子就省的我们做好之后觉得不好再取消了
选择的版本里面,很多东西是需要我们添加的,包括名称啊,大图啊,还有下面很多按钮,和小的,都需要我们重新设计,不要怕麻烦,一点点的弄,看着自己弄的网站你会有成就感的
每个可以更换的及按钮旁边呢都会有个编辑、样式选择、我们在这里直接选择编辑就可以了,进入到编辑页面,它会提示你需要用多大的才可以正常显示,我们按照要求调整我们拍摄的照片就可以了
按照编辑框的提示,一个一个的修改,有的小按钮是需要带连接的,我们直接把网址输入就可以了,做好之后,我们需要点击保存,不然就会消失的,保存好之后有个预览,我们可以用手机扫一下,就可以直接在手机上看到效果了建站步骤?第一步,确定自己的网站类型?第二步,做网站程序(网络上好多,自己修改一下就行)?第三步,购买域名空间(也有免费的,但是不稳定)?第四步,把域名解析到空间?第五步,把程序上传?第六步,调试?第七步,维护备案域名
打开一图的管理器,点击管理器上三。(ftp基于局域网,因此手机pc连接一个名字网络)
点击远程管理了去,点击右上角螺母了去。
点击设置密码这里,账号密码尽量简单。
例如全部设置为a,点击确定,然后点击打开。
此时看到ftp开头的服务器地址,点击电脑开始。
点击计算机,计算机栏输入地址,输入密码,那么就可以管理手机上的文件了。
TCP方式:
TCP协议客户端实现:
//创建一个Socket对象,指定服务器端的IP地址和端口号
Socketsocket=newSocket("1921681104",4567);
//使用InputStream读取硬盘上的文件,这里只是用文件当做信息源,可以读取控件用户输入信息
InputStreaminputStream=new
FileInputStream("f://file/wordstxt");
//从Socket当中得到OutputStream
OutputStream outputStream=socketgetOutputStream();
bytebuffer[]=newbyte[41024];inttemp=0;
//将InputStream当中的数据取出,并写入到OutputStream当中
while((temp=inputStreamread(buffer))!=-1)
5
{
outputStreamwrite(buffer,0,temp);}
outputStreamflush();}
TCP协议服务器端实现:
//声明一个ServerSocket对象
ServerSocketserverSocket=null;
try{
//创建一个ServerSocket对象,并让这个Socket在4567端口监听
serverSocket=newServerSocket(4567);
//调用ServerSocket的accept()方法,接受客户端所发送的请求,
//如果客户端没有发送数据,那么该线程就停滞不继续
Socketsocket=serverSocketaccept();
//从Socket当中得到InputStream对象
InputStreaminputStream=socketgetInputStream();
bytebuffer[]=newbyte[10244];
inttemp=0;
//从InputStream当中读取客户端所发送的数据
while((temp=inputStreamread(buffer))!=-1)
{
Systemoutprintln(newString(buffer,0,temp));}
}
catch(IOExceptione)
{
eprintStackTrace();}
serverSocketclose();
}
UDP方式
UDP的客户端代码实现如下:
public static void main(String[]args)
{
try{
//首先创建一个DatagramSocket对象
DatagramSocket socket=new DatagramSocket(4567);
//创建一个InetAddree
6
InetAddress serverAddress=InetAddressgetByName("1921681104");
String str="hello";
//这是要传输的数据
byte data[]=strgetBytes();
//把传输内容分解成字节
//创建一个DatagramPacket对象,并指定要讲这个数据包发送到网
络当中的哪个地址,以及端口号
DatagramPacket packet=new
DatagramPacket(data,datalength,serverAddress,4567);
//调用socket对象的send方法,发送数据
socketsend(packet);}
catch(Exceptione)
{
eprintStackTrace();}
}
UDP的服务端代码实现如下:
//创建一个DatagramSocket对象,并指定监听的端口号
DatagramSocket socket=new DatagramSocket(4567);
bytedata[]=newbyte[1024];
//创建一个空的DatagramPacket对象
DatagramPacket packet=new DatagramPacket(data,datalength);
//使用receive方法接收客户端所发送的数据,
//如果客户端没有发送数据,该进程就停滞在这里
socketreceive(packet);
Stringresult=newString(packetgetData(),packetgetOffset(),
packetgetLength());
Systemoutprintln("result--->"+result);
0条评论