找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 33896|回复: 44

[其它] 一句代码解决难题:让ROS变成你量身定做的WEB服务器

[复制链接]
发表于 2008-2-1 10:28:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
【引子】
近来,总有人在问,如何用ros来做一台简单的WEB服务器,我也提供了一些思路,但都太过于复杂,难以实用。

刚才,头脑里突然灵光一闪:把HTTP目录链接到FTP目录下,不就可以很方便的修改了吗?

【试验】
马上行动测试一下:
1,关闭ROS,我的是学习用的,可一说关就关,否则就要找一个空闲时间了。
2,关闭另一台Linux机,同样是学习用的,没什么顾虑。
3,打开机箱,把ROS的硬盘拔下来挂在Linux机的IDE3上,即第二硬盘控制器的主硬盘上,当然挂其他几个位置也没关系的。
4,启动Linux,我的是RHEL AS4, 其他的版本也没什么关系,只要能支持ETX3文件系统就可以了,目前常见的LINUX基本上都没问题。
5,以root登陆,挂载ROS系统,用如下命令:
  mount /dev/hdc1 /mnt
  说明:成功后,进入/mnt目录就是ROS的东西了
       /dev/hdc1,其中的hd表示IDE硬盘,c表示第3位置上的硬盘(a:1,b:2,c:3,d:4),1是指该硬盘上的第一个分区,我的ROS只有一个分区,所以是1。
       /mnt 是系统上的一个空目录,当然你也可以用其他空目录
6,进入ROS文件系统,
  cd /mnt
  由于ROS是和个性化的系统,不知道有没有链接命令,先查找一下:
  find . -name ln -print
  显示 /bin/ln
  找到了,有戏。然后在启动的时候加上一条链接命令:
  [ ! -f /var/pckg/http ] && ln -s /home/web /var/pckg/http
  用vi来编辑启动文件:
  vi /mnt/etc/rc.d/rc.sysinit
  移到最后,在exit 之前加入下面的一行:
  [ ! -f /var/pckg/http ] && ln -s /home/web /var/pckg/http
  然后保存文件
  说明:/var/pckg目录是ROS的ftp目录,/home/web是ROS的http目录
7,卸载ROS文件系统,再关闭Linux
  cd; umount /mnt; halt
8,把ROS硬盘重新装回去,开机
9,在Windows上打开winbox-->files,激动人心的画面就出来了,多了http目录,该目录下的文件就是ROS的WEB文件,修改了该目录下的文件,就是修改了WEB文件。
  接下来的就简单了,WEB页面自己想怎么改就怎么改了,主页文件是index2.html。
  
【关键】
说了那么多,其实关键就在一点:ln -s /home/web /var/pckg/http

【用途】
ROS上的WEB,只能做一些静态页面,页面更新需要手动完成,适合于做广告页面,首次转向的页面,DNS错误的转向页面等要求不高的不想另建一个web服务器的应用.
另外,提供动态页面的思路,供有兴趣的参考:可以用CGI实现, CGI目录也可以用ln -s的方式放在FTP上以便更新,CGI程序用C语言在别的Linux上编写,编译后FTP更新。

【警告】
该方法需要有Linux/Unix的基本知识,不要随意改变ROS的其他系统文件。
我在ROS 2.7.27上测试成功,原则上其他版本也没问题,但没测试过,不肯定。
对于测试不成功以及产生的其他问题,本人不负责任。
由于改动了ROS系统,因此存在风险,请慎用。
【图片】
部分截图看附件
测试过程.jpg
修改代码.jpg
测试结果.JPG

评分

参与人数 1铜板 +6 收起 理由
bobwalker + 6 难度中等,风险不高,但操作不便,

查看全部评分

routeros
发表于 2008-2-1 10:43:45 | 显示全部楼层
诶,不懂LINUX
routeros
回复

使用道具 举报

发表于 2008-2-1 13:41:25 | 显示全部楼层
UP  UP
routeros
回复

使用道具 举报

发表于 2008-2-1 15:12:46 | 显示全部楼层
不懂linux,我是用IE2改index2.html文件.转到ftp目录.
<HTML>
<HEAD>
<title>宽带说明</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>
<frameset rows="*" frameborder="NO" border="0" framespacing="0">
<frame src="ftp://ftpweb@192.168.0.1/web/INDEX.htm" name="topFrame" frameborder="0">
</frameset>
<NOFRAMES>
<BODY>
</BODY>
</NOFRAMES>
</HTML>
在ftp里做web服务器.都几方便.
routeros
回复

使用道具 举报

 楼主| 发表于 2008-2-1 16:58:50 | 显示全部楼层
楼上你,你贴的是一个html文档,和web服务器不要混为一谈,你只不过是调用了ftp的数据而已,访问这个ftp是需要密码的,ftp和http也不要混为一谈,也是不能相互替代的
routeros
回复

使用道具 举报

发表于 2008-2-2 00:54:59 | 显示全部楼层
hcb,太牛了!!!好,解决了我的一大问题。
可是我没有LINUX系统啊,能不能想办法,做一个批处理,让我在ROS主机上运行一下,就可以改变FTP目录为HTTP目录啊?
谢谢。我要求的是不是太多了,呵呵。
routeros
回复

使用道具 举报

发表于 2008-2-2 00:55:48 | 显示全部楼层
另外,四楼兄弟的方法可以实现修改首页吗?
routeros
回复

使用道具 举报

发表于 2008-2-3 00:05:07 | 显示全部楼层
可以啊!配全kuwin的强推首页,超好用.
访问http://192.168.0.1,就是访问index2.html文件.
我改了index2.html,让它转到ftp里的index.htm文件.
网站有什么改动,就改ftp里的index.htm文件就可以了.
routeros
回复

使用道具 举报

发表于 2008-2-3 00:50:06 | 显示全部楼层
luyoky:你把文件index2.html.转到ftp目录.
你用什么软件把index2.html传到ROS的WEB目录的。要知道那可是LINUX文件系统啊。你的客户机是WINDOWS,ROS是LINUX,你怎么传的?
routeros
回复

使用道具 举报

发表于 2008-2-3 03:42:14 | 显示全部楼层
index2.html还在原文件夹,我是改了index2.html文件里的内容.让它转到web目录的index.htm.
改index2.html方法:
1.把ros硬盘拆下来;
2.插在xp的机上,让xp启动;
3.用IE2将/home/web/index2.html和/home/web/index2.html.org两个文件删除.再上传改好的index2.html
记住要注意文件名字母的大小写.
routeros
回复

使用道具 举报

发表于 2008-2-3 03:43:17 | 显示全部楼层
这是IE2

ImageExplorer.rar

409.78 KB, 下载次数: 400

routeros
回复

使用道具 举报

发表于 2008-2-3 05:53:10 | 显示全部楼层
ie2这么牛的软件啊~
routeros
回复

使用道具 举报

发表于 2008-2-5 00:26:03 | 显示全部楼层
luyoky:我明白你的意思了,你是修改ROS原来的INDEX2.HTML,使它转向你FTP里的INDEX.HTML。
不过,<frame src="ftp://ftpweb@192.168.0.1/web/INDEX.htm">这里是转向的你的FTP地址。这个FTP好象是建在192.168.0.1这个机器上的。那你的ROS又是建在哪个IP上的呀?你的ROS不是192.168.0.1?当然我知道他可以不是192.168.0.1。:)如果它们是同一台电脑的话,就更不可能了。
不过,我还是非常高兴的要感谢你,你发的IE2可是太有用了,有了这个,就可以不需LINUX也能修改rc.sysinit,结合hcb"一句代码解决难题:让ROS变成你量身定做的WEB服务器"不就可以弄成功了吗?你真是太好了。THANK YOU!
routeros
回复

使用道具 举报

发表于 2008-3-14 22:15:55 | 显示全部楼层
在些想向楼主请教一个问题,就是如何实现你说的“首次转向”?
就是客户端第一次打开IE时,不管开什么站都转到指定的网页上~~
routeros
回复

使用道具 举报

发表于 2008-3-15 01:18:16 | 显示全部楼层
感谢楼主和四楼的兄弟......
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-11-6 08:45 , Processed in 0.070717 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表