分类目录归档:站长文档

SEO:网站换IP和百度收录的经验

现在百度又重新开始收录船长日志了. 前次换IP, 百度的收录变成0了, 大概一星期后,百度的收录恢复了. 从这个事件看, 换IP百度收录清零, 也许是百度域名解析缓存引起的。

网站的IP换了, 也许因为百度有自己的域名解析服务, 而且它的解析缓存跟网站域名的解析不能及时同步, 所以在一段时间(从我这个网站上看是7天)内, 百度还是去原来的IP采集网页信息。 而我的IP换后, 原来的IP就没有这个网站的内容了, 百度收集不到网页内容, 就将收录从数据库中移除了。 等它的域名解析同步了, 到IP访问我的日志时, 就恢复了对我的日志的收录。

一恢复就收录了200多篇文章, 应该不是百度真正的重新收录, 而是发现我的IP后将原来的所有收录直接从数据库中恢复了。 用这样机制来应付那将换IP的网站。

如果我的推断是事实, 那么所有打算换IP的站长应该给网站换IP后保留原来IP服务器上的网站一段时间(文件不要删除, 同时web服务器, 如iis, apache或nginx对原来的域名下的网站还要提供服务), 这样让百度在更新域名解析缓存时不删除了你的整个网站收录, 从而平滑过度到新IP上。

还有换IP时有一点是要特别注意的: 换IP前一定要查一下这个IP之前做过哪些网站。 如果做过的都是违规网站, 是很有可能拖累到自己将要搬过去的网站的。

参考: 搜索引擎蜘蛛多长时间更新一次DNS (车东)

发表在 站长文档 | 标签为 , | 留下评论

中文文件名编码和html文件访问

之前用windows服务器, 上面的有中文名的html文件。 为了保证访问, 链接到这些文件的URL做了中文编码处理。 那时使用的是ASP写的, 编码用的是GB2312. 最近想把这个网站搬到linux服务器上. 将文件上传到linux服务器后发现原来的链接访问不到中文html文件. 到后来才想到自己linux系统上默认使用的是utf-8编码文件系统. 后来将FTP软件设定为GB2312编码, 重新上传这些文件后才问题解决了.

发表在 站长文档 | 标签为 , | 留下评论

百度不喜欢换IP吗

上一个星期换了日志的IP地址, 今天突然发现百度的收录全部变成零了。 类似的事件几个月前也发生过。 看来百度是不喜欢站长换服务器IP的。 根据前次的经验, 收录好像会慢慢恢复, 但恢复到什么程度却有很大的不确定性。 Google的收录好像没受到影响(嗯。。。Google还在吗?)

后记:百度的收录已经恢复, 参看:网站换IP和百度收录的经验

发表在 站长文档 | 标签为 , | 留下评论

珍惜生命 远离CN域名

无语

发表在 站长文档 | 留下评论

在leopard上安装php

怎样在苹果leopard上安装php语言环境? 其实不用安装. 因为leopard已经默认安装了php5. 但默认设置下apache没有装载php组件, 所在不能使用. 要使用php时, 要先将它启动, 方法如下:
1.打开 /etc/apache2/httpd.conf 文件
2.找到

#LoadModule php5_module libexec/apache2/libphp5.so

将前面的注解符#去除, 变成

LoadModule php5_module libexec/apache2/libphp5.so

保存文件
3.重启apache

sudo apachectl restart

现在可以在leopard上使用php5了.

附:

apache的默认根目录:
/Library/WebServer/Documents/
可以在 /etc/apache2/httpd.conf 文件中修改.

用来显示php环境的语句:

<?php phpinfo(); ?>


php.ini文件:
/etc 目录下有一个php.ini.default文件. 复制并改名为php.ini文件:

sudo cp /etc/php.ini.default /etc/php.ini

(修改后重启apache才能生效)

在php.ini文件中找到
mysql.default_socket =
可以修改mysql socket位置, 如:

mysql.default_socket = /tmp/mysql.sock

发表在 信息处理, 站长文档 | 标签为 , | 2 条评论

Google地图API key和127.0.0.1

前几天在本地服务器测试Google地图的API时发现google报错, 说这个key不能使用. google了一下, 在一个外国论坛发现原来可以为http://127.0.0.1/单独申请一个key, 专用于本地测试使用. 于是马上效仿, 测试通过.

发表在 站长文档 | 2 条评论

全部链接在新窗口中打开

上网提速入口中有很多站外链接, 要让这些链接都在浏览器新窗口中打开, 可以在每个<a>tag中加入target="_blank"标识, 但如果链接很多, 就会有非常大量的重复代码. 其实可以在head中加入<base target="_blank"> tag,让页面内所有链接(包括form提交)都指向新的浏览器窗口, 让代码更加简洁.

发表在 站长文档 | 一条评论

there is no attribute “onClick”

上网加速入口的代码在W3C标签检验器检查时发现了 there is no attribute “onClick”错误. 通过搜索才发现原来XHTML 1.0 Transitional标准不允许attribute中包含大写字母, 将代码中<li id=”search1_tab” class=”btn1″  onClick=”setTab(‘search’,'search1′)”>Google</li>中的”onClick改成onclick后才通过. 类似常见的attribute还有onMouseOver,onFocus等, 虽然大写的好看一些, 但为了通过W3C检验只能改成小写.  当然如果你使用的是html标准的代码(如百度和google使用的代码), 大小写的属性不会带来问题.

发表在 站长文档 | 留下评论

再读李想

这两天一直在读李想的blog和其它想关的文章.

李想应该是所有站长中把执行做得最好的一位.
他网站的成功, 来源于他对 目标-执行-成果 这一简单结构的信仰. 为了达到目标, 他会去做, 而且全力以赴!

读了这些文章, 到现在明白了三点:
1.不一定要当天才. 不一定要做最前卫的事情. 李想做的都是已经有人在做的网站. 但他靠自己的努力把这些网站做得更大.
2.达到目标须要坚持不懈的努力执行. 学习完成目标的能力, 在无数方法中找到真正可以下手的方法.
3.网站须要流量, 特别是刚开始的时候.
和流量相关的关键词: 美女, 免费, 下载. 第一数字平台泡泡网可以做娱乐, 因为娱乐的人流有可能会关注数码产品. 把流量带到网站了, 就迈出了第一步!!

发表在 成败几何, 站长文档 | 留下评论

在ubuntu6.06上安装apache2.2X + mysql + PHP + Ruby on Rails + Mongrel Cluster

到现在已经安装了好几次服务器了。总结出了一些经验,在这里和大家分享一下。

说明
我使用的linux是ubuntu 6.06 server cd版本。选第一项安装最基本的系统文件,不自动安装LAMP服务,因为ubuntu 6.06自带的apache2是2.0X的,不适合做mongrel cluster的前台,安装自带的apache2.0X之后卸载它比较麻烦,所以干脆不要自动安装LAMP服务,而手动安装apache2.2。

ubuntu 6.06 server cd的基本安装只安装系统必要文件,不安装其它服务,甚至连ssh都要手动:
sudo apt-get install ssh
安装,请大家注意要安装上ssh才能远程访问。

安装准备

加本地ubuntu源,加快下载速度
sudo nano /etc/apt/sources.list
加入速度比较快的源,如cn99的:
deb http://ubuntu.cn99.com/ubuntu/ dapper main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ dapper-updates main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ dapper-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ dapper-backports main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu-cn/ dapper main restricted universe multiverse

更新系统
sudo apt-get update
sudo apt-get dist-upgrade

准备必要文件
sudo apt-get install build-essential

创建下载源码文件夹

cd ~
mkdir src
cd src

安装zlib
wget http://www.zlib.net/zlib-1.2.3.tar.gz
tar xvfz zlib-1.2.3.tar.gz
cd zlib-1.2.3/
./configure –prefix=/usr/local
make
sudo make install
cd ..

安装Apache2.2
下载安装apche2.2
sudo dpkg –purge apache apache2
wget http://apache.rmplc.co.uk/httpd/httpd-2.2.4.tar.gz
tar xvfz httpd-2.2.4.tar.gz
cd httpd-2.2.4/
./configure –prefix=/usr/local/apache2 –enable-mods-shared=all –enable-deflate –enable-proxy –enable-proxy-balancer –enable-proxy-http
make
sudo make install
cd ..

测试apache2.2
启动apache2.2
sudo /usr/local/apache2/bin/apachectl start
访问测试
http://xxx.xxx.xxx.xxx(服务器IP)
停止apache2.2
sudo /usr/local/apache2/bin/apachectl stop

让apache2.2在系统启动时自动运行
sudo cp /usr/local/apache2/bin/apachectl /etc/init.d/apachectl
sudo chmod +x /etc/init.d/apachectl
sudo nano /etc/init.d/apachectl
修改文件,增加:
#!/bin/sh
#
# chkconfig: – 85 15
# description: Apache is a web server.
sudo /usr/sbin/update-rc.d apachectl defaults

增加apache用户,增强系统安全性
sudo adduser –system apache
sudo nano /usr/local/apache2/conf/httpd.conf
修改文件,将
User daemon
Group daemon
改成:
User apache
Group nogroup

PHP模块安装
如果你不想在服务器中使用php网站,直接跳过本节
下载安装php4(因为我的服务器只是用来运行早点的php程序,php4够用了)
sudo apt-get install flex
wget http://au2.php.net/get/php-4.4.7.tar.gz/from/cn.php.net/mirror
tar xvfz php-4.4.7.tar.gz
cd php-4.4.7
./configure –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql –disable-cgi –with-zlib –with-gettext
make
sudo make install
sudo cp php.ini-dist /usr/local/lib/php.ini
cd ..

设置php
sudo nano /usr/local/apache2/conf/httpd.conf
修改文件,
增加(如果已经加上就不用了)
LoadModule php4_module        modules/libphp4.so

AddType application/x-gzip .gz .tgz
之后增加:
AddType application/x-httpd-php .php
修改
DirectoryIndex index.html

DirectoryIndex index.html index.php default.php

测试php
在网站目录(默认/usr/local/apache2/hdocs/)创建test.php文件,内容
<?php
phpinfo();
?>
然后访问:
http://xxx.xxx.xxx.xxx/test.php
应显示系统php模块信息。

安装MySQL
sudo apt-get install mysql-server mysql-client

修改root用户密码
sudo mysqladmin -u root password 新密码
sudo mysqladmin -u root -h localhost password 新密码

如果要进行其它基本设置,修改/etc/mysql/my.cnf文件。

mysql数据备份与恢复
备份
mysqldump -u 用户名 -p 数据库名 > 备份文件名
恢复
mysql -u 用户名 -p 数据库名 < 备份文件名

安装ruby1.8.6
ubuntu 6.06自带的ruby是1.8.4, 因为在使用1.8.4版的ruby时我遇到mongrel提示ruby版本过旧的问题,所以自行编译安装1.8.6版的ruby.

安装ruby1.8.6
wget http://rubyforge.org/frs/download.php/18421/ruby-1.8.6.tar.gz
sudo tar -xvf ruby-1.8.6.tar.gz
cd ruby-1.8.6
./configure
make test
make
sudo make install

安装ruby1.8.6后在运行script/console时遇到了
      /usr/local/lib/ruby/1.8/irb/completion.rb:10:in `require’:
      no such file to load — readline (LoadError)
错误,解决办法是
安装readline

sudo apt-get install libncurses5-dev libreadline5-dev
cd ext/readline
ruby extconf.rb
make
sudo make install
cd ../../..

ruby gems安装
sudo wget http://rubyforge.org/frs/download.php/11289/rubygems-0.9.0.tgz
tar -xvzf rubygems-0.9.0.tgz
cd rubygems-0.9.0
sudo ruby setup.rb
sudo gem update –system
cd ..

安装libmysql
sudo apt-get install libmysql-ruby libmysql-ruby1.8 libruby1.8
安装好这个后
irb
irb(main):001:0> require ‘mysql’
还是提示出错,于是我安装mysql gem
sudo gem install mysql
但安装出错。。。。
奇怪的是后来发现RoR网站可以正常运行,没有问题。网友如果解决了这个问题,请留言一下。

安装Rails
sudo gem install rails –include-dependencies
注意linux平台安装过程要选带ruby的rails。

安装Mongrel Cluster
sudo gem install daemons gem_plugin mongrel mongrel_cluster –include-dependencies
同上,linux平台安装过程要选带ruby的程序。

增加一个mongrel用户,增强系统安全性
sudo adduser mongrel
将网站文件归到这个用户
sudo chown -R mongrel:mongrel /www/app
上面/www/app为RoR程序目录

创建mongrel群

sudo mongrel_rails cluster::configure -e production -p 8000 -N 3 -c /www/app -a 127.0.0.1 –user mongrel –group mongrel
其中/www/app为RoR程序目录
8000为mongrel群开始端口
-N 3中的3为mongrel群中的mongrel服务器数量,3表示3个mongrel组成这个群,群使用的端口从8000开始,8000,8001,8002三个。
上面的命令将会在RoR程序/www/app/config目录下生成mongrel_cluster.yml文件。
将新文件归到mongrel用户
sudo chown -R mongrel:mongrel /www/app/config/mongrel_cluster.yml

启动mongrel群测试
在当前RoR程序根目录(如上面的/www/app)下运行
sudo mongrel_rails cluster::start

让mongrel cluster在系统启动时自动运行
sudo mkdir /etc/mongrel_cluster
sudo ln -s /www/app/config/mongrel_cluster.yml /etc/mongrel_cluster/app.yml
sudo cp /usr/local/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.2/resources/mongrel_cluster /etc/init.d/
上面的/usr/local/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.2/是mongrel gem所在的目录。
修改mongrel_cluster文件
sudo nano /etc/init.d/mongrel_cluster
在CONF_DIR之上加入一行:
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local:/usr/local/sbin:/usr/local/bin
解决一些情况下因为mongrel找不到程序而不能在系统启动时自动运行的问题。
sudo chmod +x /etc/init.d/mongrel_cluster
sudo /usr/sbin/update-rc.d -f mongrel_cluster defaults
手动修改mongrel cluster的启动顺序,让它在最后运行,解决有可能发生的另一些启动问题。
sudo mv /etc/rc2.d/S20mongrel_cluster /etc/rc2.d/S99mongrel_cluster

让Apache成为mongrel的前台
修改httpd.conf文件(默认在/usr/local/apache2/conf/目录下)
最后加入:
NameVirtualHost 192.168.1.1
<Proxy balancer://cslog_cluster>
  BalancerMember http://127.0.0.1:8000
  BalancerMember http://127.0.0.1:8001
  BalancerMember http://127.0.0.1:8002
</Proxy>

<VirtualHost 192.168.1.1>
    ServerName www.cslog.cn
    DocumentRoot /www/cslog/public
  RewriteEngine On
  RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f
  RewriteCond %{SCRIPT_FILENAME} !maintenance.html
  RewriteRule ^.*$ /maintenance.html [L]
  # Rewrite index to check for static index.html
  RewriteRule ^/$ /index.html [QSA]
  # Rewrite to check for Rails cached pages with .html extentions
  RewriteRule ^([^.]+)$ $1.html [QSA]
  # All dynamic requests get sent to the cluster
  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
  RewriteRule ^/(.*)$ balancer://cslog_cluster%{REQUEST_URI} [P,QSA,L]
  # Deflate for clients that support it.
  AddOutputFilterByType DEFLATE text/html text/plain text/xml
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Error and access logs.
  ErrorLog logs/cslog_error_log
  CustomLog logs/cslog_access_log combined
</VirtualHost>
文件中的cslog_cluster可以自己命名,但要对应。
8000,8001,8002为mongrel群对应的端口。

总结
到这里,ubuntu6.06上的apache2.2, mysql, PHP, Ruby on Rails , Mongrel Cluster安装设置已经完成。下午一次全过程大概用了两个小时,如果写成脚本,应该可以系统自动安装,可以更快完成全过程。

发表在 Ruby on Rails, 站长文档 | 3 条评论