几个页面字体适配度比较好的,HTML body 字体的定义:
Google: font-family: arial,sans-serif;
Twitter:font: 13px/1.5 Helvetica Neue,Arial,Helvetica,'Liberation Sans',FreeSans,sans-serif
豆瓣:font: 12px/162% Arial,Helvetica,sans-serif;
新浪微博:font-family: Arial,Helvetica,sans-serif;
Apple中国:font: 12px/18px "Lucida Grande","Lucida Sans Unicode",Helvetica,Arial,Verdana,sans-serif;
知乎: font: 13px/22px 'Helvetica Neue',Helvetica,Arial,Sans-serif;
Facebook: font-family: "lucida grande",tahoma,verdana,arial,sans-serif;
Google+: font: 13px arial,sans-serif;
结论:Arial,Helvetica,San-serif 这个组合适配性是最好的,也是最保险的. 可选:Helvetica Neue . 知乎的定义几乎可以直接照用.
其它:
微软中国: font-family: Segoe UI,Tahoma,Arial,Verdana,sans-serif;
淘宝:font: 12px/1.5 tahoma,arial,宋体; //看过淘宝同学写过的很棒的字体文章,估计页面不是统一定义的.
百度:font: 12px arial;
QQ: font-family: "宋体","Arial Narrow";
新浪:font-family: "SimSun","Arial Narrow"; //最烂
结论:用了宋体的,都比较烂 ... 中文网站要想页面视觉稍微好一点,直接去掉 CSS 中的宋体.
--EOF--
Updated: 对于个人站点,字体可以尽情发挥。
Updated 2: 新浪的同学解释说,之所以用宋体,是因为"宋体的半角字符是等宽字体(1/2个全角),长度的标题不会因出现英文或数字而折行"。估计是历史原因吧,相信这个问题总是有解的,看怎么解决罢了。
Google: font-family: arial,sans-serif;
Twitter:font: 13px/1.5 Helvetica Neue,Arial,Helvetica,'Liberation Sans',FreeSans,sans-serif
豆瓣:font: 12px/162% Arial,Helvetica,sans-serif;
新浪微博:font-family: Arial,Helvetica,sans-serif;
Apple中国:font: 12px/18px "Lucida Grande","Lucida Sans Unicode",Helvetica,Arial,Verdana,sans-serif;
知乎: font: 13px/22px 'Helvetica Neue',Helvetica,Arial,Sans-serif;
Facebook: font-family: "lucida grande",tahoma,verdana,arial,sans-serif;
Google+: font: 13px arial,sans-serif;
结论:Arial,Helvetica,San-serif 这个组合适配性是最好的,也是最保险的. 可选:Helvetica Neue . 知乎的定义几乎可以直接照用.
其它:
微软中国: font-family: Segoe UI,Tahoma,Arial,Verdana,sans-serif;
淘宝:font: 12px/1.5 tahoma,arial,宋体; //看过淘宝同学写过的很棒的字体文章,估计页面不是统一定义的.
百度:font: 12px arial;
QQ: font-family: "宋体","Arial Narrow";
新浪:font-family: "SimSun","Arial Narrow"; //最烂
结论:用了宋体的,都比较烂 ... 中文网站要想页面视觉稍微好一点,直接去掉 CSS 中的宋体.
--EOF--
Updated: 对于个人站点,字体可以尽情发挥。
Updated 2: 新浪的同学解释说,之所以用宋体,是因为"宋体的半角字符是等宽字体(1/2个全角),长度的标题不会因出现英文或数字而折行"。估计是历史原因吧,相信这个问题总是有解的,看怎么解决罢了。
服务器重启后 ,提交svn会出现svn Expected FS format ’2′; found format ’4′ 这个错误,然后kill掉svn进程在重启就好了
一直很奇怪这个问题, 今天查找下资料,用rpm -ql subversion 发现还有个老版本的svn, TMD,
天下太平了
一直很奇怪这个问题, 今天查找下资料,用rpm -ql subversion 发现还有个老版本的svn, TMD,
yum remove -y subversion
天下太平了
的定义:
一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式
,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。 – Json.org
JSON的结构:
Name/Value Pairs,类似所熟知的Keyed list、 Hash table、Disctionary和Associative array。在Android平台中同时存在另外一个类 “Bundle“,某种程度上具有相似的行为。org.json.JSONObject
Array,一组有序的数据列表。org.json.JSONArray
在Android中包含四个与JSON相关的类和一个Exceptions:
JSONArray
JSONObject
JSONStringer
JSONTokener
JSONException
JSONObject:
这是系统中有关JSON定义的基本单元,其包含一对儿(Key/Value)数值。它对外部(External:应用toString()方法输出的数值)调用的响应体现为一个标准的字符串(例如:{“JSON”: “Hello, World”},最外被大括号包裹,其中的Key和Value被冒号”:”分隔)。其对于内部(Internal)行为的操作格式略微,例如:初始化一个JSONObject实例,引用内部的put()方法添加数值:new JSONObject().put(“JSON”, “Hello, World!”),在Key和Value之间是以逗号”,”分隔。
Value的类型包括:Boolean、JSONArray、JSONObject、Number、String或者默认值JSONObject.NULL object。
有两个不同的取值方法:
get(): 在确定数值存在的条件下使用,否则当无法检索到相关Key时,将会抛出一个Exception信息。
opt(): 这个方法相对比较灵活,当无法获取所指定数值时,将会返回一个默认数值,并不会抛出异常。
JSONArray:
它代表一组有序的数值。将其转换为String输出(toString)所表现的形式是用方括号包裹,数值以逗号”,”分隔(例如:[value1,value2,value3],大家可以亲自利用简短的代码更加直观的了解其格式)。这个类的内部同样具有查询行为,get()和opt()两种方法都可以通过index索引返回指定的数值,put()方法用来添加或者替换数值。
同样这个类的value类型可以包括:Boolean、JSONArray、JSONObject、Number、String或者默认值JSONObject.NULL object。
JSONStringer:
根据官方的解释,这个类可以帮助快速和便捷的创建JSONtext。其最大的优点在于可以减少由于格式的错误导致程序异常,引用这个类可以自动严格按照JSON语法规则(syntaxrules)创建JSON text。每个JSONStringer实体只能对应创建一个JSON text。
根据下边的实例来了解其它相关信息:
结果是一组标准格式的JSON text:{”AR”:”www.Androidres.com!”}
其中的.object()和.endObject()必须同时使用,是为了按照Object标准给数值添加边界。同样,针对数组也有一组标准的方法来生成边界.array()和.endArray()。
JSONTokener:
这个是系统为JSONObject和JSONArray构造器解析JSON source string的类,它可以从source string中提取数值信息。
JSONException:
是JSON.org类抛出的异常信息。
下面引用一个完整的应用实例
(来自:androidsnippets.org)
应用JSONObject存储Map类型数值:
public static JSONObject getJSON(Map map) {
Iterator iter = map.entrySet().iterator();
JSONObject holder = new JSONObject();
while (iter.hasNext()) {
Map.Entry pairs = (Map.Entry) iter.next();
String key = (String) pairs.getKey();
Map m = (Map) pairs.getValue();
JSONObject data = new JSONObject();
try {
Iterator iter2 = m.entrySet().iterator();
while (iterhasNext()) {
Map.Entry pairs2 = (Map.Entry) iternext();
data.put((String) pairsgetKey(), (String) pairsgetValue());
}
holder.put(key, data);
} catch (JSONException e) {
Log.e(“Transforming”, “There was an error packaging JSON”,e);
}
}
return holder;
}
一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式
,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。 – Json.org
JSON的结构:
Name/Value Pairs,类似所熟知的Keyed list、 Hash table、Disctionary和Associative array。在Android平台中同时存在另外一个类 “Bundle“,某种程度上具有相似的行为。org.json.JSONObject
Array,一组有序的数据列表。org.json.JSONArray
在Android中包含四个与JSON相关的类和一个Exceptions:
JSONArray
JSONObject
JSONStringer
JSONTokener
JSONException
JSONObject:
这是系统中有关JSON定义的基本单元,其包含一对儿(Key/Value)数值。它对外部(External:应用toString()方法输出的数值)调用的响应体现为一个标准的字符串(例如:{“JSON”: “Hello, World”},最外被大括号包裹,其中的Key和Value被冒号”:”分隔)。其对于内部(Internal)行为的操作格式略微,例如:初始化一个JSONObject实例,引用内部的put()方法添加数值:new JSONObject().put(“JSON”, “Hello, World!”),在Key和Value之间是以逗号”,”分隔。
Value的类型包括:Boolean、JSONArray、JSONObject、Number、String或者默认值JSONObject.NULL object。
有两个不同的取值方法:
get(): 在确定数值存在的条件下使用,否则当无法检索到相关Key时,将会抛出一个Exception信息。
opt(): 这个方法相对比较灵活,当无法获取所指定数值时,将会返回一个默认数值,并不会抛出异常。
JSONArray:
它代表一组有序的数值。将其转换为String输出(toString)所表现的形式是用方括号包裹,数值以逗号”,”分隔(例如:[value1,value2,value3],大家可以亲自利用简短的代码更加直观的了解其格式)。这个类的内部同样具有查询行为,get()和opt()两种方法都可以通过index索引返回指定的数值,put()方法用来添加或者替换数值。
同样这个类的value类型可以包括:Boolean、JSONArray、JSONObject、Number、String或者默认值JSONObject.NULL object。
JSONStringer:
根据官方的解释,这个类可以帮助快速和便捷的创建JSONtext。其最大的优点在于可以减少由于格式的错误导致程序异常,引用这个类可以自动严格按照JSON语法规则(syntaxrules)创建JSON text。每个JSONStringer实体只能对应创建一个JSON text。
根据下边的实例来了解其它相关信息:
string myString = new JSONStringer().object()
.key(“AR”).value(“www.Androidres.com!”)
.endObject()
.toString();
.key(“AR”).value(“www.Androidres.com!”)
.endObject()
.toString();
结果是一组标准格式的JSON text:{”AR”:”www.Androidres.com!”}
其中的.object()和.endObject()必须同时使用,是为了按照Object标准给数值添加边界。同样,针对数组也有一组标准的方法来生成边界.array()和.endArray()。
JSONTokener:
这个是系统为JSONObject和JSONArray构造器解析JSON source string的类,它可以从source string中提取数值信息。
JSONException:
是JSON.org类抛出的异常信息。
下面引用一个完整的应用实例
(来自:androidsnippets.org)
应用JSONObject存储Map类型数值:
public static JSONObject getJSON(Map map) {
Iterator iter = map.entrySet().iterator();
JSONObject holder = new JSONObject();
while (iter.hasNext()) {
Map.Entry pairs = (Map.Entry) iter.next();
String key = (String) pairs.getKey();
Map m = (Map) pairs.getValue();
JSONObject data = new JSONObject();
try {
Iterator iter2 = m.entrySet().iterator();
while (iterhasNext()) {
Map.Entry pairs2 = (Map.Entry) iternext();
data.put((String) pairsgetKey(), (String) pairsgetValue());
}
holder.put(key, data);
} catch (JSONException e) {
Log.e(“Transforming”, “There was an error packaging JSON”,e);
}
}
return holder;
}
最近鸟枪换炮,vps撤下,更换成独立主机 哈哈
phpinfo
一 安装准备
关闭防火墙
关闭 SELINUX, cp 命令直接覆盖,不需要提示
我下载的软件都放到 /data/soft
配置yum
卸载httpd(rpm -q httpd 查看是否安装)
更新所需的安装包
更新时区
下载lnmp所需的软件
本博客下载
wget http://blog.lrenwang.com/down/soft/nginx-1.0.5.tar.gz
wget http://blog.lrenwang.com/down/soft/php-5.2.17.tar.bz2
wget http://blog.lrenwang.com/down/soft/php-5.2.17-fpm-0.5.14.diff.gz
wget http://blog.lrenwang.com/down/soft/mysql-5.1.58.tar.gz
wget http://blog.lrenwang.com/down/soft/libiconv-1.13.tar.gz
wget http://blog.lrenwang.com/down/soft/libmcrypt-2.5.8.tar.gz
wget http://blog.lrenwang.com/down/soft/mcrypt-2.6.8.tar.gz
wget http://blog.lrenwang.com/down/soft/memcache-2.2.6.tgz
wget http://blog.lrenwang.com/down/soft/mhash-0.9.9.9.tar.gz
wget http://blog.lrenwang.com/down/soft/pcre-8.12.tar.gz
wget http://blog.lrenwang.com/down/soft/subversion-1.6.11.tar.gz
wget http://blog.lrenwang.com/down/soft/subversion-deps-1.6.11.tar.gz
下载配置文件
二安装php5.2.17 mysql-5.1.58
1、编译安装PHP 5.2.17所需的支持库:
2、编译安装mysql-5.1.58
生成数据库 启动服务进程 修改密码
进入mysql 查看状态(可以不做)
3、编译安装PHP(FastCGI模式)
4、创建www用户和组,以及供blog.lrenwang.com使用的目录:
5、创建php-fpm配置文件(php-fpm是为PHP打的一个FastCGI管理补丁,可以平滑变更php.ini配置而无需重启php-cgi):
6、启动php-cgi进程,监听127.0.0.1的9000端口,进程数为64(根据内存情况来定),用户为www:
三、安装Nginx1.0.5
1、安装Nginx所需的pcre库:
2、安装Nginx
3、创建Nginx日志目录
4、创建Nginx配置文件
5、启动Nginx
四、配置开机自动启动Nginx + PHP +Mysql
安装SVN版本控制器(可不安装)
常用命令
数据库
停止数据库
启动数据库
php
nginx
开始
停止
平滑加载
phpinfo
一 安装准备
关闭防火墙
service iptables stop
关闭 SELINUX, cp 命令直接覆盖,不需要提示
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux
setenforce 0
sed -i "s/alias cp='cp -i'/#alias cp='cp -i'/g" ~/.bashrc
su -
setenforce 0
sed -i "s/alias cp='cp -i'/#alias cp='cp -i'/g" ~/.bashrc
su -
我下载的软件都放到 /data/soft
mkdir /data/soft/config -p
cd /data/soft
cd /data/soft
配置yum
wget http://blog.lrenwang.com/down/CentOS-Base.repo
cp CentOS-Base.repo /etc/yum.repos.d/
cp CentOS-Base.repo /etc/yum.repos.d/
卸载httpd(rpm -q httpd 查看是否安装)
yum remove -y httpd
更新所需的安装包
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers vsftpd patch zip
更新时区
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
下载lnmp所需的软件
wget http://nginx.org/download/nginx-1.0.5.tar.gz
wget http://www.php.net/get/php-5.2.17.tar.bz2/from/cn.php.net/mirror
wget http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz
wget ftp://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.1/mysql-5.1.58.tar.gz
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz
wget http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?modtime=1171868460&big_mirror=0
wget http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz?modtime=1194463373&big_mirror=0
wget http://pecl.php.net/get/memcache-2.2.6.tgz
wget http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz?modtime=1175740843&big_mirror=0
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.12.tar.gz
wget http://subversion.tigris.org/downloads/subversion-1.6.11.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.11.tar.gz
wget http://www.php.net/get/php-5.2.17.tar.bz2/from/cn.php.net/mirror
wget http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz
wget ftp://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.1/mysql-5.1.58.tar.gz
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz
wget http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?modtime=1171868460&big_mirror=0
wget http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz?modtime=1194463373&big_mirror=0
wget http://pecl.php.net/get/memcache-2.2.6.tgz
wget http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz?modtime=1175740843&big_mirror=0
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.12.tar.gz
wget http://subversion.tigris.org/downloads/subversion-1.6.11.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.11.tar.gz
本博客下载
wget http://blog.lrenwang.com/down/soft/nginx-1.0.5.tar.gz
wget http://blog.lrenwang.com/down/soft/php-5.2.17.tar.bz2
wget http://blog.lrenwang.com/down/soft/php-5.2.17-fpm-0.5.14.diff.gz
wget http://blog.lrenwang.com/down/soft/mysql-5.1.58.tar.gz
wget http://blog.lrenwang.com/down/soft/libiconv-1.13.tar.gz
wget http://blog.lrenwang.com/down/soft/libmcrypt-2.5.8.tar.gz
wget http://blog.lrenwang.com/down/soft/mcrypt-2.6.8.tar.gz
wget http://blog.lrenwang.com/down/soft/memcache-2.2.6.tgz
wget http://blog.lrenwang.com/down/soft/mhash-0.9.9.9.tar.gz
wget http://blog.lrenwang.com/down/soft/pcre-8.12.tar.gz
wget http://blog.lrenwang.com/down/soft/subversion-1.6.11.tar.gz
wget http://blog.lrenwang.com/down/soft/subversion-deps-1.6.11.tar.gz
下载配置文件
cd config
wget http://blog.lrenwang.com/down/soft/config/my.cnf
wget http://blog.lrenwang.com/down/soft/config/php.ini
wget http://blog.lrenwang.com/down/soft/config/php-fpm.conf
wget http://blog.lrenwang.com/down/soft/config/nginx.conf
wget http://blog.lrenwang.com/down/soft/config/fcgi.conf
cd ../
wget http://blog.lrenwang.com/down/soft/config/my.cnf
wget http://blog.lrenwang.com/down/soft/config/php.ini
wget http://blog.lrenwang.com/down/soft/config/php-fpm.conf
wget http://blog.lrenwang.com/down/soft/config/nginx.conf
wget http://blog.lrenwang.com/down/soft/config/fcgi.conf
cd ../
二安装php5.2.17 mysql-5.1.58
1、编译安装PHP 5.2.17所需的支持库:
tar zxvf libiconv-1.13.tar.gz
cd libiconv-1.13/
./configure --prefix=/usr/local
make
make install
cd ../
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure
make
make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make
make install
cd ../../
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure
make
make install
cd ../
ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
tar zxvf mcrypt-2.6.9.tar.gz
cd mcrypt-2.6.9/
/sbin/ldconfig
./configure
make
make install
cd ../
cd libiconv-1.13/
./configure --prefix=/usr/local
make
make install
cd ../
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure
make
make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make
make install
cd ../../
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure
make
make install
cd ../
ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
tar zxvf mcrypt-2.6.9.tar.gz
cd mcrypt-2.6.9/
/sbin/ldconfig
./configure
make
make install
cd ../
2、编译安装mysql-5.1.58
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
tar zxvf mysql-5.1.58.tar.gz
cd mysql-5.1.58/
./configure --prefix=/usr/local/webserver/mysql/ --enable-assembler --with-charset=utf8 --with-extra-charsets=all --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobase
make && make install
chmod +w /usr/local/webserver/mysql
chown -R mysql:mysql /usr/local/webserver/mysql
ln -s /usr/local/webserver/mysql/lib/mysql/libmysqlclient.so.16 /usr/lib/
cd ../
mkdir /data/mysql/
cp config/my.cnf /data/mysql/my.cnf
chown mysql:mysql /data/mysql/
/usr/sbin/useradd -g mysql mysql
tar zxvf mysql-5.1.58.tar.gz
cd mysql-5.1.58/
./configure --prefix=/usr/local/webserver/mysql/ --enable-assembler --with-charset=utf8 --with-extra-charsets=all --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobase
make && make install
chmod +w /usr/local/webserver/mysql
chown -R mysql:mysql /usr/local/webserver/mysql
ln -s /usr/local/webserver/mysql/lib/mysql/libmysqlclient.so.16 /usr/lib/
cd ../
mkdir /data/mysql/
cp config/my.cnf /data/mysql/my.cnf
chown mysql:mysql /data/mysql/
生成数据库 启动服务进程 修改密码
/usr/local/webserver/mysql/bin/mysql_install_db --basedir=/usr/local/webserver/mysql --datadir=/data/mysql/data --user=mysql
/usr/local/webserver/mysql/bin/mysqld_safe --defaults-file=/data/mysql/my.cnf &
/usr/local/webserver/mysql/bin/mysqladmin -uroot password "123456" -p
/usr/local/webserver/mysql/bin/mysqld_safe --defaults-file=/data/mysql/my.cnf &
/usr/local/webserver/mysql/bin/mysqladmin -uroot password "123456" -p
进入mysql 查看状态(可以不做)
/usr/local/webserver/mysql/bin/mysql -uroot -p123456
status
exit
status
exit
3、编译安装PHP(FastCGI模式)
tar jxvf php-5.2.17.tar.bz2
gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1
cd php-5.2.17/
./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/usr/local/webserver/mysql --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap
make ZEND_EXTRA_LIBS='-liconv'
make install
cd ../
cp config/php.ini /usr/local/webserver/php/etc/php.ini
gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1
cd php-5.2.17/
./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/usr/local/webserver/mysql --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap
make ZEND_EXTRA_LIBS='-liconv'
make install
cd ../
cp config/php.ini /usr/local/webserver/php/etc/php.ini
4、创建www用户和组,以及供blog.lrenwang.com使用的目录:
/usr/sbin/groupadd www
/usr/sbin/useradd -g www www
mkdir -p /data/www/lrenwang
chmod +w /data/www/lrenwang
chown -R www:www /data/www/lrenwang
/usr/sbin/useradd -g www www
mkdir -p /data/www/lrenwang
chmod +w /data/www/lrenwang
chown -R www:www /data/www/lrenwang
5、创建php-fpm配置文件(php-fpm是为PHP打的一个FastCGI管理补丁,可以平滑变更php.ini配置而无需重启php-cgi):
cp config/php-fpm.conf /usr/local/webserver/php/etc/php-fpm.conf
6、启动php-cgi进程,监听127.0.0.1的9000端口,进程数为64(根据内存情况来定),用户为www:
ulimit -SHn 65535
/usr/local/webserver/php/sbin/php-fpm start
/usr/local/webserver/php/sbin/php-fpm start
三、安装Nginx1.0.5
1、安装Nginx所需的pcre库:
tar zxvf pcre-8.12.tar.gz
cd pcre-8.12/
./configure
make && make install
cd ../
cd pcre-8.12/
./configure
make && make install
cd ../
2、安装Nginx
tar zxvf nginx-1.0.5.tar.gz
cd nginx-1.0.5/
./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
cd ../
cd nginx-1.0.5/
./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
cd ../
3、创建Nginx日志目录
mkdir -p /data/logs
chmod +w /data/logs
chown -R www:www /data/logs
chmod +w /data/logs
chown -R www:www /data/logs
4、创建Nginx配置文件
cp config/nginx.conf /usr/local/webserver/nginx/conf/nginx.conf
cp config/fcgi.conf /usr/local/webserver/nginx/conf/fcgi.conf
cp config/fcgi.conf /usr/local/webserver/nginx/conf/fcgi.conf
5、启动Nginx
ulimit -SHn 65535
/usr/local/webserver/nginx/sbin/nginx
/usr/local/webserver/nginx/sbin/nginx
四、配置开机自动启动Nginx + PHP +Mysql
echo "ulimit -SHn 65535" >> /etc/rc.d/rc.local
echo "/usr/local/webserver/php/sbin/php-fpm start" >> /etc/rc.d/rc.local
echo "/usr/local/webserver/nginx/sbin/nginx" >> /etc/rc.d/rc.local
echo "/usr/local/webserver/mysql/bin/mysqld_safe --defaults-file=/data/mysql/my.cnf &" >> /etc/rc.d/rc.local
chkconfig --level 2345 vsftpd on
chkconfig --level 2345 iptables off
echo "/usr/local/webserver/php/sbin/php-fpm start" >> /etc/rc.d/rc.local
echo "/usr/local/webserver/nginx/sbin/nginx" >> /etc/rc.d/rc.local
echo "/usr/local/webserver/mysql/bin/mysqld_safe --defaults-file=/data/mysql/my.cnf &" >> /etc/rc.d/rc.local
chkconfig --level 2345 vsftpd on
chkconfig --level 2345 iptables off
安装SVN版本控制器(可不安装)
tar zxvf subversion-1.6.11.tar.gz
tar zxvf subversion-deps-1.6.11.tar.gz
cd subversion-1.6.11
./configure --with-ssl --enable-maintainer-mode
make
make install
tar zxvf subversion-deps-1.6.11.tar.gz
cd subversion-1.6.11
./configure --with-ssl --enable-maintainer-mode
make
make install
常用命令
数据库
停止数据库
/usr/local/webserver/mysql/bin/mysqladmin -uroot -p123456 shutdown
启动数据库
/usr/local/webserver/mysql/bin/mysqld_safe --defaults-file=/data/mysql/my.cnf &
php
/usr/local/webserver/php/sbin/php-fpm start|stop|reload
nginx
开始
/usr/local/webserver/nginx/sbin/nginx
停止
/usr/local/webserver/nginx/sbin/nginx -s stop
平滑加载
/usr/local/webserver/nginx/sbin/nginx -s reload
全国各地电信DNS服务器地址
北京:202.96.199.133 202.96.0.133 202.106.0.20 202.106.148.1 202.97.16.195
上海:202.96.199.132 202.96.199.133 202.96.209.5 202.96.209.133
天津:202.99.96.68 10.10.64.68
广东:202.96.128.143 202.96.128.68 202.96.128.110
深圳:202.96.134.133 202.96.154.8 202.96.154.15
河南:202.102.227.68 202.102.245.12 202.102.224.68
广西:202.96.128.68 202.103.224.68 202.103.225.68
福建:202.101.98.54 202.101.98.55
厦门:202.101.103.55 202.101.103.54
湖南:202.103.0.68 202.103.96.68 202.103.96.112
江苏:202.102.15.162 202.102.29.3 202.102.3.141 202.102.24.35 陕西:202.100.13.11 202.100.4.16
西安:202.100.4.15 202.100.0.68
湖北:202.103.0.68 202.103.0.117 202.103.24.68
山东:202.102.154.3 202.102.152.3 202.102.128.68 202.102.134.68
浙江:202.96.102.3 202.96.96.68 202.96.104.18
辽宁:202.98.0.68 202.96.75.68 202.96.75.64 202.96.69.38 202.96.86.18 202.96.86.24
安徽:202.102.192.68 202.102.199.68 10.89.64.5
重庆:61.128.128.68 10.150.0.1
黑龙江:202.97.229.133 202.97.224.68
河北:202.99.160.68 10.17.128.90
保定:202.99.160.68 202.99.166.4
吉林:202.98.5.68 202.98.14.18 202.98.14.19
江西:202.101.224.68 10.117.32.40 202.109.129.2 202.101.240.36 山西:202.99.192.68 202.99.198.6
新疆 61.128.99.133 61.128.99.134
贵州:202.98.192.68 10.157.2.15
云南:202.98.96.68 202.98.160.68
四川:202.98.96.68 61.139.2.69
重庆:61.128.128.68 61.128.192.4
成都:202.98.96.68 202.98.96.69
内蒙古:202.99.224.68 10.29.0.2
青海:202.100.128.68 10.184.0.1
海南:202.100.192.68 202.100.199.8
宁夏:202.100.0.68 202.100.96.68
甘肃:202.100.72.13 10.179.64.1
香港:205.252.144.228 208.151.69.65
澳门:202.175.3.8 202.175.3.3
google 8.8.8.8 4.4.4.4
北京:202.96.199.133 202.96.0.133 202.106.0.20 202.106.148.1 202.97.16.195
上海:202.96.199.132 202.96.199.133 202.96.209.5 202.96.209.133
天津:202.99.96.68 10.10.64.68
广东:202.96.128.143 202.96.128.68 202.96.128.110
深圳:202.96.134.133 202.96.154.8 202.96.154.15
河南:202.102.227.68 202.102.245.12 202.102.224.68
广西:202.96.128.68 202.103.224.68 202.103.225.68
福建:202.101.98.54 202.101.98.55
厦门:202.101.103.55 202.101.103.54
湖南:202.103.0.68 202.103.96.68 202.103.96.112
江苏:202.102.15.162 202.102.29.3 202.102.3.141 202.102.24.35 陕西:202.100.13.11 202.100.4.16
西安:202.100.4.15 202.100.0.68
湖北:202.103.0.68 202.103.0.117 202.103.24.68
山东:202.102.154.3 202.102.152.3 202.102.128.68 202.102.134.68
浙江:202.96.102.3 202.96.96.68 202.96.104.18
辽宁:202.98.0.68 202.96.75.68 202.96.75.64 202.96.69.38 202.96.86.18 202.96.86.24
安徽:202.102.192.68 202.102.199.68 10.89.64.5
重庆:61.128.128.68 10.150.0.1
黑龙江:202.97.229.133 202.97.224.68
河北:202.99.160.68 10.17.128.90
保定:202.99.160.68 202.99.166.4
吉林:202.98.5.68 202.98.14.18 202.98.14.19
江西:202.101.224.68 10.117.32.40 202.109.129.2 202.101.240.36 山西:202.99.192.68 202.99.198.6
新疆 61.128.99.133 61.128.99.134
贵州:202.98.192.68 10.157.2.15
云南:202.98.96.68 202.98.160.68
四川:202.98.96.68 61.139.2.69
重庆:61.128.128.68 61.128.192.4
成都:202.98.96.68 202.98.96.69
内蒙古:202.99.224.68 10.29.0.2
青海:202.100.128.68 10.184.0.1
海南:202.100.192.68 202.100.199.8
宁夏:202.100.0.68 202.100.96.68
甘肃:202.100.72.13 10.179.64.1
香港:205.252.144.228 208.151.69.65
澳门:202.175.3.8 202.175.3.3
google 8.8.8.8 4.4.4.4






