LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 7687|回复: 11

基于动态IP的WWW服务器

[复制链接]
发表于 2003-4-9 23:52:20 | 显示全部楼层 |阅读模式
基于动态ip的服务器同样可以开设www服务接受客户端的访问,这可以通过以下的脚本来实现.请先建立PPP连接,配置好Httpd,测试它可以工作.
   建立如下的脚本程序:
*  web_up: 上载网页的脚本.
*  web_down: 断开连接的脚本.
*  update_uppage: Perl 脚本创建包含更新IP地址的HTML页面.
*  up.HTML_source; 固定部分的页面.
*  down.HTML: 连接断开时使用的页面.
*  /etc/add, /etc/last_add: 存放IP地址的文件.
*  ip-down, ip-up: PPP连接断开和连接时拒绝上载的文件.

scripts web_up:
#!/bin/sh
#check new ip
new_ip()
{
if [ -f /etc/add ] ; then
if [ -f /etc/last-add ] ; then
if /usr/bin/diff /etc/add /etc/last_add >/dev/null ; then
exit 1
else
return 0
fi
else
return 0
fi
else
exit 1
fi
}
#check whether maroon is connected
try_connect()
{
if ping -c4 -13 128.101.118.21 2>& | grep "0 packets" > /dev/null
then
return 1
else
return 0
fi
fi
}
if try_connect
then
touch /var/run/maroon_connected
else
rm -f /var/run/maroon_connected
fi
# FTP to update page
if [ -f /var/run/maroon_connected ] && new_ip
then
# update_uppage is perl scripts, exit status is opposite of shell
if ( ! /home/honglu/public_HTML/update_uppage )
then
cd /home/honglu/public_HTML
if echo "put up.HTML /nlhome/m508/luxxx012/dynamic.HTML" | /usr/bin/FTP maroon
then
rm -f /etc/last_add
cp /etc/add /etc/last_add
exit 0
else
exit 1
fi
fi
else
exit 1
fi

scripts web_down
# FTP to send down.HTML page
if [ -f /var/run/maroon_connected ]
then
cd /home/honglu/public_HTML
if echo "put down.HTML /nlhome/m508/luxxx012/dynamic.HTML" | /usr/bin/FTP maroon
then
rm -f /etc/last_add
else
exit 1
fi
else
exit 1
fi

执行如下脚本:

#!/bin/sh
if web_down
then
shutdown -h now
else
echo "can not web_down"
exit 1
fi

上面是我在图书馆借得<<组建linux服务器>> (马小光,邵谦谦)书上面的
我有些不懂,就抄上来,希望有大哥能揭示一下,或者看看可不可以这样做
发表于 2003-4-11 23:35:51 | 显示全部楼层
呵呵,现在才看到!
发表于 2003-8-1 14:36:37 | 显示全部楼层

呵呵。

看不懂啊。是不是不需要任何域名解晰软件吗?真可以办到吗?
发表于 2003-8-24 20:28:56 | 显示全部楼层

if ping -c4 -13 128.101.118.21 2&gt;&amp; | grep &quot;0 packets&a

这一段是干什么啊?
发表于 2003-8-24 22:42:41 | 显示全部楼层
这样的代码我自己都写过。
适用于,
你有一个固定(免费;))的空间,而且可以用FTP上传文件,但是不够大 :cool:
于是每当你自己的机子开着的时候,可以通知你的用户来你的机子取东西。

if ping -c4 -13 128.101.118.21 2>& | grep "0 packets" > /dev/null

这里的IP就是我说的网站空间(maroon),这一段是测试本机有没有上网,同时也试了maroon还在不在 ;)
发表于 2004-7-15 11:28:37 | 显示全部楼层

高手!

我现在在局域网内调试,但是不能访问我的apache服务器?在其本机上我能访问到打开测试WEB页;但是在其它局域网机器上就不能了;
我能PING通 这台服务器啊;??

怎么办????

高手刚才赐教啊!!
发表于 2005-2-17 01:40:55 | 显示全部楼层
这种贴必须要顶上去,沉下去可惜了,高手们赶紧来完善啊
回复 支持 反对

使用道具 举报

发表于 2005-7-29 21:46:32 | 显示全部楼层
要是我想利用公司的固定IP,来动态更新我家ADSL动态IP,以方便客户直接上公司IP上,就转到我家的电脑上访问我家ADSL上的服务器,,又如何做呢?
回复 支持 反对

使用道具 举报

发表于 2005-9-18 22:25:10 | 显示全部楼层
留脚印
相信以后会用上的
回复 支持 反对

使用道具 举报

发表于 2005-9-20 10:55:33 | 显示全部楼层
有空慢慢研究这个shell script
回复 支持 反对

使用道具 举报

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

本版积分规则

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