上次说到给俺们家糖糖建了一个网站,这次主要说一下建站的技术细节吧,希望对感兴趣的朋友有所帮助,大牛们请直接跳过。

建站的几个步骤如下

1 域名申请

2 空间选择

3 上传自己的程序代码并且建立数据库

4 广告申请

5 Alexa排名申请

6 备案

1 域名申请

因为我是第一次申请域名,我把碰到的问题和需要注意的事项一并记录一下,希望能对朋友们有所帮助。刚开始我想申请cn的顶级域名,网上给出的价格很便宜,一般不超过10块钱一年。可是当我打算下单购买的时候才发现cn域名的申请对个人来说几乎是不可操作,因为要求域名申请的单位以及一系列的手续,当然这也比较符合中国国情,只是不知奥运后限制会不会放宽。最后我选择了比较贵的国际域名,edong网给出的价格是68元/年,国际域名的注册没有太多的限制,很快就注册下来了。打款的时候也碰上了一点麻烦,我首先在开通了工行的网上银行,不过支付的时候总是报超出客户最大支付限额的错误,后来才知道需要到银行取办理口令卡开通才能完成,只好放弃(太不人性了,我半夜办理业务让我怎么去银行阿)。相比较招商银行就做的很不错,简单的注册就可以使用了。

2 空间选择

网络上建站有两种方式,租用虚拟主机或者服务器托管。对于个人站长,租用虚拟主机是相对经济的解决方案。我的网站http://www.basilwang.net就是租用了了edong网的虚拟主机,采用了它的k300的linux/unix解决方案,支持php+mysql,空间费用300元/年,当然也有支持.net的解决方案,而且比较便宜200元/年。这里为什么没有选用.net的解决方案,我做一下解释:就.net和php而言,我认为个人网站还是选用php更加灵活一点,而且网上php开源的东西一大把,有的已经非常稳定了。另外建议大家选择口碑比较不错的空间商,不过这方面我也没有什么经验,就不误导大家了。

3上传自己的程序代码并且建立数据库

代码方面我选用了wordpress,我之前没有任何php的编程经验,不过为了建站还是花了3天看了一部分原代码,了解了wordpress关于theme、插件还有widget等方面运行机制。不过这里提醒大家的是,wordpress已经完全能够做到一键式的安装,非常方便,没有程序开发经验的朋友也可以很快上手。当然我在阅读php代码的时候,还是有种回到asp编程的年代。

程序代码可以用上传软件如cuteftp等用提供商给的帐号上传。关于mysql,你可以建库并设置访问密码,通过phpMyAdmin进行访问,不支持类似mysql-front等第三方工具的访问。这里还要注意的是,网络提供商可能提供的是英文的编码方案,因此通过phpMyAdmin看到的中文都是乱码,不过显示都是没有问题的,只是备份还原的时候需要注意,网上有解决方案,也可以参考我接下来的文章。

4 广告申请

在写这篇文章的时候,申请的Google Adsense又一次被拒,原因是“确保您的网站已经注册6个月以上时间;”,只能等半年后再说了。相反alimama的申请到是很方便,不过希望马云所说的“电子商务的冬天”会不会影响到造福放大个人站长的alimama。最后提醒大家,单靠广告点击的收入保证网站的自负盈亏比较困难,请打算上贼船的朋友三思。我做网站的时候也考虑了这点,全当是我对儿子的投资了,呵呵,儿子不要有压力阿。

5 alexa排名

这个东西能给使你对你的网站有一个比较直观的认识,建议把网站提交到alexa以进行统计

6 备案

现在的网站都需要备案,当然这个备案目前是免费的,需要到工业和信息化部网站进行注册(原来的信息化部网站),也可以由你的空间提供商代为你注册。我个人感觉还是自己操作吧,熟悉一下流程,没有坏处。

更多内容,请阅读发表在[http://www.basilwang.net]的文章

posted @ 2008-08-29 11:46 BAsil 阅读(214) | 评论 (2)编辑

自打老婆怀孕的时候,我就琢磨着给未曾谋面的宝宝建一个网站,记录他的成长,无奈乱七八糟的事情太多,网站的事情一拖再拖。7月30日宝宝出生了,亲朋好友都希望看到他的近照,结果发邮件发到手疼,这才想起建站的事情不能在拖下去了,把宝宝的照片、我们的心情都记录下来,大家访问网站就行了,也算是对宝宝有个交代。说到网站,免费的空间限制太多,我个人不太喜欢,估计宝宝也不喜欢(随我,呵呵),咬咬牙,租了个空间,申请了一个域名,以后这里就是宝宝在网上的家了。

最后这句话是对俺家宝宝说的:糖糖,人生的路还很长,爸爸妈妈祝愿你健康快乐的成长!!

posted @ 2008-08-29 09:30 BAsil 阅读(41) | 评论 (0)编辑

tt

更多图片请访问糖糖的个人空间

http://www.basilwang.net

posted @ 2008-08-28 12:04 BAsil 阅读(18) | 评论 (6)编辑

我的儿子糖糖于2008年7月30日(农历6月28)生于山东大学齐鲁医院,体重7斤7两,记录一下。

posted @ 2008-08-28 12:02 BAsil 阅读(18) | 评论 (4)编辑
     摘要:

前几天,在园子里看了一个图片幻灯效果,很不错,不过今天想找却找不到了。这两天想把网站的图片幻灯效果给换了,原来的虽然做成了web控件,不过控件里硬编码了javascript和css,甚至还有document.write这样的输出,感觉很是不爽。偶然发现了一篇翻译文章如何使用 JavaScript 创建可维护的幻灯片效果,感觉原作者在构建可分离的javascript和css上颇有心得,不过这里和我想要的效果还有些差异,参照大部分国内网站的实现方式,应该能够实现定时的播放,同时在右下角还应该有一个序列号的指示,就像新浪网的首页那样,既然作者帮我们作了大部分的分离工作,剩下的这部分自己实现,也十分简单。

  阅读全文
posted @ 2008-07-04 13:16 BAsil 阅读(2025) | 评论 (11)编辑
我他妈的要是再看中国队的球我就是王八羔子!
posted @ 2008-06-07 21:50 BAsil 阅读(220) | 评论 (5)编辑
     摘要: 画了两张UML图,帮助理解asp.net 2.0的页面即时编译,建议结合Reflector查看
  阅读全文
posted @ 2008-06-04 21:46 BAsil 阅读(2753) | 评论 (14)编辑
最近在看《ASP.NET 2.0服务器控件与组件开发高级编程》,其中有一个以前没有注意的细节,思索了好久,还是没有答案,还请各位帮忙指点一下。
服务器控件,注意CardholderNameText是存到ViewState当中的
    public class CreditCardForm : Control
    
{
        
public CreditCardForm()
        
{
        }

        
public string CardholderNameText
        
{
            
get return ViewState["CardholderNameText"!= null ? (string)ViewState["CardholderNameText"] : "CardholderName"; }
            
set { ViewState["CardholderNameText"= value; }
        }

        
protected override void Render(HtmlTextWriter writer)
        
{
            writer.Write(
"<strong>" + CardholderNameText + "</strong>");
        }

    }
调用的页面,我放置了一个button,以便观察Postback的值是否发生改变,另外设置了CardholderNameText属性
   <form id="form1" runat="server">
    
<div>
       
<custom:CreditCardForm CardholderNameText="Full Name(Initialize)" runat="server" ID="creditcardform" />
        
<asp:Button ID="Button1" runat="server" Text="Button" /></div>
    
</form>
调用页面的后台代码,很简单
void Page_Load(object sender, EventArgs e)
  
{
    
if (!IsPostBack)
    
{
      creditcardform.CardholderNameText 
= "Full Name(After Postback)";
    }

  }
在页面第一次请求的时候,执行aspx编译生成的Page子类的AddParseSubObject,将控件加入到Controls集合中,并设置了CardholderNameText的值为"Full Name(Initialize)",由于是第一次加载在Page_Load中修改了值为"Full Name(After PostBack)",到这里没有问题。
当我点击button提交,第二次请求页面时,我在调试器里发现再一次设置了CardholderNameText的值为"Full Name(Initialize)",但是页面却显示Name(After PostBack)",不知道怎么回事。
我怀疑是和Page的AddParseSubObject有关,因为它是在整个生命周期的最开始执行,会不会是此时的ViewState还没有生效?希望能给与解答!!谢谢
源代码附上CreditCardForm
原因:
结果和AddParseSubObject无关,原因实际很简单,怪自己看得不仔细,乱扣帽子,引用wit的回复
回传时,第一步任然解析html,并且设置CardholderNameText为:Full Name(Initialize),此时 视图里的值也为这个,因为该属性保存在视图里。

下面就是重载视图了,会根据客户端form请求的值,重新加载视图状态,
这时就把第一次访问后的视图值加载过来(将Full Name(After Postback))

所以就是你的结果了···
posted @ 2008-05-20 11:34 BAsil 阅读(804) | 评论 (6)编辑