很早就听过这首歌。
西藏是个美丽、让人迷恋的地方。怪不得好多人都发出这样的感叹:要在有生之年到西藏去看一下。当你工作或者有个家庭的时候,你有了太多的顾虑。或许你还要向别人请示!趁着你年轻,到外边对看已下吧@!
今天晚上新注册了com的域名
准备这几天就把这个域名给添加上,这里的网费也到期了。我也该搬家了。
DNS修改好了,网站也修改好了。
DNS的修改很简单,直接把pietty.cn 的配置文件复制一份,再稍微修改一下就可以了。
网站的修改:
第一种:如果两个域名都要用的话,在wp-config.php中添加
if($_SERVER['HTTP_HOST'] == "blog.pietty.cn")
{
define('WP_SITEURL',"http://blog.sunliguo.com");
define('WP_HOME',"http://blog.sunliguo.com");
}
elseif($_SERVER['HTTP_HOST'] == "blog.sunliguo.com")
{
define('WP_SITEURL',"http://blog.sunliguo.com");
define('WP_HOME',"http://blog.sunliguo.com");
}
ps:发现插件wp-syntax的一个小bug,当上面的代码解析为php代码的时候,php就会报错。
根据访问的域名的不同,来设置两个常量。如果只有一个域名的话,或者是我们的wordpress要移动到另一个站点的话。可以再恢复数据库后,修改表wp-options的siteurl和home的值。在配置文件中的常量级别要比数据库中的高。
第二种:域名重定向。
在apache的配置文件中修改:
ServerAdmin sunliguo@yahoo.cn
DocumentRoot /www/blog
ServerName blog.pietty.cn
RewriteEngine on
RewriteRule ^/(.*) http://blog.sunliguo.com/$1 [R=301]
ErrorLog "|/sbin/cronolog /var/log/apache/blog.pietty.cn-error_%y%m%d.log"
CustomLog "|/sbin/cronolog /var/log/apache/blog.pietty.cn-access_%y%m%d.log" common
接下来就该修改各统计代码的属性了。
还有个就是以前文章中的图片链接都是以前的域名,现在考虑怎么换呢?
在网上找了个sql ,把 wp_posts 表中的post_content字段中的老地址换成新地址。
update wp_posts set post_content = replace(post_content,'http://blog.pietty.cn','http://blog.sunliguo.com');
开始上了几次自习,每天晚上坚持到操场上跑几圈。生活似乎开始正常了。
上自习是很枯燥的,对着一本厚厚的外文书,还有一本字典。怎能让人不累!外国人写的书就是好,没有什么高难度的语言。在我和书之间就是26个字母的隔膜。08年3月份在卓越上买的这本书,现在算了才看了4章。而且是看得很粗糙。等我看完,并且能够掌握的话,应该也是个大师吧。
操场上跑步确实很累啊!不过等跑完后做放松运动的时候,会感到很舒服。并且旁边有美女陪着跑步,咱也累也不说累。
做为一个管理员,或者对于普通的用电脑的人来说,数据才是最重要的。
平时在自己的电脑上,数据要经常备份。有条件的要备份到优盘或者光盘上。
在linux,我现在用rsync来进行远程的备份。
rsync可以在本地和远程的机器之间相互传递文件。既可以把本地文件同步到远程服务器上,又可以把远程服务器的文件同步到本地。
rsync通过两种方式与远程服务器进行连接:
1:利用ssh 或者rsh。这个我感觉和scp命令差不多。例如:
rsync filename root@xx.xx.xx.xx:/root
然后输入密码即可把filename传到远程服务器的/root目录下。
rsync -avz foo:src/bar/ /data/tmp
把foo下的src中目录bar的东东都考到 本地的 /data/tmp 目录下。
-a 指定保留文件的属性
-v 显示详细信息
-z 压缩。
2:直接通过tcp来连接远程的rsync服务器。
rsync -av host::src /dest
注意:这种方式中表示远程服务器的文件的时候是两个冒号。src 为rsync服务器端定义的模块名。
rsync服务器端的配置文件 /etc/rsyncd.conf
#global parameters
motd file=/etc/rsyncd.motd
pid file=/var/run/rsyncd.pid
port=873
address=XX.XX.XX.XX
uid=root
gid=root
max connections=4
use chroot=no
log file=/var/log/rsyncd.log
lock file=/var/run/rsyncd.lock
#rsyncd.pwd 的权限为600,否则连接时会有错误提示
secrets file=/etc/rsyncd.pwd
#hosts allow=xx.xxx.xx.xx
#hosts deny=xx.xx.xx.xx
#定义模块
[backup]
path=/var/www/backup
comment=backup
ignore errors
read only=no
list=yes
auth users=backup
启动服务: rsync –daemon
远程连接:
rsync backup@ip::backup
将会列出backup模块中的文件及目录。
rsync的windows版本:cwRsync。
这个事业编,那个市属事业单位考试。报名怎么就难么难呢?
第一:专业限制着你。听别人说考试只考公共部分的知识。专业只看你的毕业证。就算你别的地方学得再好也没有用。
第二:报个掏粪工人还要 裸眼视力1.0 。这不是把人往绝路上逼吗?
今天想起来弄个代理服务器玩玩。先学习一下squid。
网上的资料很多,找了一篇就跟着弄起来。和大多数的linux服务一样,squid有个配置文件。默认是在/etc/squid/squid.conf .
squid启动时的日志都放在/var/log/squid/squid.out,如果有什么异常,可以到这里面查看,寻找原因。
先从最简单的开始:
1:http_port 这个指令告诉squid在服务器的哪个端口监听。
例如:
http_port 192.168.0.1:3128
或者只写端口,或者写域名。可以参考配置文件中的例子。
2:cache_dir squid 缓存的位置。按照默认的即可。
cache_dir ufs /var/spool/squid 100 16 256
3:日志文件:默认即可
cache_access_log /var/squid/access.log
cache_log /var/squid/cache.log
cache_store_log /var/squid/store.log
4:visible_hostname 设置好服务器的名字,否则会提示错误。
visible_hostname squid No.1 proxy
5:访问控制。可以再http_access 的最上面添加这么一句。允许所有的访问。
http_access allow all
现在启动就可以,如果没有异常。在客户端修改浏览器的代理设置,就能访问了。
日志可以到 /var/log/squid/下面看。
2009-06-07补充:
1:昨天晚上刚做好了squid,没有做限制。外国的几个ip就用它发邮件。没去学squid的访问控制,还是用自己熟悉的iptables将他们干掉,只让自己一个人用。
2:squid 的日志中时间格式用的是时间戳,修改配置文件:
emulate_httpd_log on
在linux中,一切东西都是文件。并不是只有普通文件具有访问权限。
《unix环境高级编程》中总结了这么几点:
1:无论何时我们去读一个文件,必须具有包含改文件的所有目录的可执行权限。例如:我们读/usr/include/stdio.h,必须就有 /,/usr,/usr/include 各个目录的可执行权限。至于改文件的其他权限,看我们是read-only还是read-write。
还有一点,也是我比较糊涂的一点:目录的读权限和可执行权限是不同的。
这个目录的读权限很好理解:目录就是包含下面文件名和i结点的对应关系。能读这个目录,就能知道改目录下面有哪些文件。至于文件的一些属性这要靠改目录的可执行权限。让我们看一个例子:
#ls -ld html
drwxr-xr-- 2 root root 4096 Jun 4 21:23 html
html这个目录,对应其他的用户来说是可读的。我们用其他用户登陆后,可以用ls命令读出该木下有哪些文件。
$ls html
test
但是我们用ls -l 来得到html目录下面文件的一些属性的时候却是这样:
$ls -l html
total 0
?--------- ? ? ? ? ? test
我们不能读这个test文件的一些属性。而且我们以其他用户用cd命令来进入html这目录的时候提示: Permission denied。我们没有权限进入这个目录。
2:如果我们想在一个目录中创建一个文件。必须具有对该目录的写权限和可执行权限。
3:删出一个文件,我们是对这个目录进行操作。并不需要对改文件有任何的权限,就可以删除这个文件。
最简单的helloword程序:
#include
void main()
{
printf("hello world\n");
}
我们编译运行:
#gcc -Wall -o helloword hello.c
#./helloword
#hello world
通常说的“编译”的过程包括:
1:预处理(pre—process)。从c语言文件生成预处理后的c语言文件。预处理的过程一般包括了去注释、头文件展开、宏替换等过程。
-E Stop after the preprocessing stage; do not run the compiler proper.默认输出到标准输出。
#gcc -Wall -E hello.c
2:编译(complie)。将从与处理后的c语言文件生成汇编程序。
-S Stop after the stage of compilation proper; do not assemble。
# gcc -Wall -S -o hello.s hello.c
hello.s 就是生成的汇编代码.
3:汇编(assemble)。将汇编程序生成二进制目标文件。
-c Compile or assemble the source files, but do not link.
#gcc -Wall -c -o hello.o hello.s
gcc 中的归档工具ar 。把目标文件生成静态链接库(static lib)。静态库可以被应用程序连接。
整型:
char类型,1 byte。
标准ASCII表的范围:0-127.
unsigned char 范围:0-255
signed char 范围:-128-127
除了char 还有short int (简称short),int,long int(简称long),long long int(简称 long long),这些类型都可以加上signed或unsigned关键字表示有符号或无符号数。
浮点型:
float,double,long double。
可以通过以下c程序获得某平台某个数据类型的长度。
#include
int main()
{
printf("sizof char %d\n",sizeof(char));
printf("sizeof unsigned char= %d\n",sizeof(unsigned char));
printf("sizeof signed char= %d\n",sizeof(signed char));
printf("sizof int %d\n",sizeof(int));
printf("sizeof unsigned int = %d\n",sizeof(unsigned int));
printf("sizeof unsigned short int= %d\n",sizeof(unsigned short int));
printf("sizeof short= %d\n",sizeof(short));
printf("sizeof long = %d\n",sizeof(long));
printf("sizeof long= %d\n",sizeof(long long));
printf("sizeof float= %d\n",sizeof(float));
printf("sizeof double= %d\n",sizeof(double));
printf("sizeof long double= %d\n",sizeof(long double));
}