2012-08-29

Centos5.8 x86 install eAccelerator

Centos5.8 x86 install eAccelerator


先確認是否安裝了 php-devel,autoconf,automake,m4,libtool
yum list php-devel autoconf automake m4 libtool

安裝 php-devel
 yum -y install php-devel

※其餘若未安裝請用 yum search 需要安裝哪些套件!!!


下載 eacceler-0.9.6.1
download  eaccelerator-0.9.6.1.tar.bz2

解壓
tar -jxvf  eaccelearator-0.9.6.1.tar.bz2

cd eaccelearator-0.9.6.1

執行phpize
phpize

./configure --enable-eaccelerator=shared \
--with-php-config=/usr/bin/php-config

編譯安裝
make

※make 的過程會出現錯誤訊息

zend_property_info’ has no member named ‘ce’
make: *** [ea_store.lo] Error 1


解決方式

vim ea_store.c

用  // 註解683行 return (child_info->ce !=from)

再一次 執行 make

make install

echo "/usr/lib/php/modules/"  \
>/etc/ld.so.conf.d/php.conf

執行 ldconfig
ldconfig

修改 php.ini
vim /etc/php.ini

在最底下加入
extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

建立phpinfo.php
vim /var/www/html/phpinfo.php
<?php
phpinfo();
?>

建立 eaccelerator的暫存資料
mkdir /tmp/eaccelerator
chmod 777 /tmp/eaccelerator

重啟 apache
service httpd restart

測試
http://your.IP(domain)/phpinfo.php
or
php -v

出現with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator


鳥哥私房菜
eAccelerator Configuration With PHP5
centos安装Zend Optimizer与eAccelerator


加解壓縮 tar.gz 和 tar.bz2 的指令下法

加解壓縮 tar.gz 和 tar.bz2 的指令下法


在下載 linux kernel
http://www.kernel.org/pub/linux/kernel/v2.6/

看到有分成兩種壓縮格式

本來想看看到底這兩種壓縮格式有什麼不同

先把指令打上

免得到時候又忘記了


解壓縮
tar.gz
tar -zxvf filename.tar.gz

壓縮
tar.gz
tar -zcvf filename.tar.gz /folder

解壓縮
tar.bz2
tar -jxvf filename.tar.bz2

壓縮
tar.bz2
tar -jcvf filename.tar.bz2 /folder

解開
.tar
tar -xvf filename.tar

打包
.tar
tar -cvf filename.tar /folder

出處

2012-08-28

You don't have permission to access on this server

You don't have permission to access on this server


我在ubuntu環境下跑php時,
連結到另一個網頁時,(自己寫的)
會出現You don't have permission to access on this server,
我知道是權限那裡出了問題,
後來我改變了一個網頁的權限,
把它改成755那就可以使用了,
chmod 755 /var/www/fw.html
可是要一個一個這樣改實在是太麻煩了,
於是我使用,
chmod 755 /var/www/*  ,
把www資料夾裡的權限全改成755,
但我想還是有點麻煩,
因為如果以後新增新的網頁時,不就要再改一次?

這點我還沒做過,
我就去找了一下資料,
有兩種方法,


第一種我不太清楚
他是說新增一個.htaccess的檔案就好了,
可是我一直不清楚.htaccess是副檔名還是檔名??
所以我沒使用這方法,

http://www.vixual.net/blog/archives/352

第二個方法是更改httpd.conf的內容,
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    deny from all
    Satisfy all
</Directory>


只要把deny改成allow就可以了,

http://hi.baidu.com/vking/blog/item/bc50f3d380296adfa9ec9af4.html

或者有人的檔案內容是,
< Directory / >
     Options FollowSymLinks
     AllowOverride None
     Order deny,allow
     Deny from all
< /Directory >


只要把order deny,allow和deny from all都去掉就可以了,
我發現第二種蠻多人用的,
但很奇怪的是,


我的httpd.conf檔裡是空的,
可是一般不是裡面會限制權限的嗎?
如果我裡面空的為啥還會被擋下來?
我也沒管那麼多,
我就想說把那些加進去看看好了,
結果造成我主機內的網頁都不能連,
好像不能建立連線的樣子,
我就把全部刪掉,結果又正常了,
結論就是,
我還是用最原始的方法,
chmod來改權限,
先撐著用吧。

出處

2012-08-27

DNS IP 國內各大ISP DNS 伺服器 IP 列表

DNS IP 國內各大ISP DNS 伺服器 IP 列表


國內各大ISP DNS伺服器位址168.95.1.1
168.95.192.1
168.95.192.2

Hinet dns – 中華電信dns

SeedNet dns - 數位聯合電信 dns
北區: 台北, 桃園, 新竹, 宜蘭, 花蓮, 苗栗
139.175.55.244
139.175.252.16

中區: 台中, 彰化, 南投, 雲林
139.175.150.20
139.175.55.244

南區: 高雄, 台南, 嘉義, 屏東, 台東
139.175.10.20
139.175.55.244

So-Net dns61.64.127.1
61.64.127.2

GIGA dns203.133.1.8
203.133.1.6

APOL dns - 亞太線上 dns203.79.224.10
203.79.224.30

Sparq dns - 速博 dns
211.78.130.10
211.78.130.11

TFN dns – 台灣固網dns
211.78.215.137
211.78.215.200

TTN dns – 台灣電訊dns
202.145.136.4
202.145.138.1
202.145.138.136
202.145.138.200
210.17.1.1

2012 /4/10 更新IP
211.78.215.137
211.78.215.200

Linux 修改 IP 、FQDN

Linux 修改 IP 、FQDN


查看 IP:ifconfig
修改 IP:netcfg(或修改此檔:/etc/sysconfig/network-scripts/ifcfg-eth0)
FQDN 設定:
hostname
vi /etc/hosts
vi /etc/sysconfig/network
DNS 設定:
vi /etc/resolv.conf
nameserver 168.95.1.1
nameserver 139.175.55.244
重新啟動網卡:
/etc/rc.d/init.d/network restart

2012-08-23

Memcached 分散式的快取系統安裝 (CentOS 5.X)

Memcached 分散式的快取系統安裝 (CentOS 5.X )


Memcached是一套分散式的快取系統,應用於寫回較慢的系統(像是後端的資料庫),它需要額外的程式碼更新memcached內的資料。
(有人把它歸類於 NoSQL Database)

Memcached 目前有眾多的用戶,例如

* LiveJournal
* Wikipedia
* Flickr
* Bebo
* Twitter
* Typepad
* Yellowbot
* Youtube
* Digg
* WordPress.com
* Craigslist
* Mixi

官方網站
http://memcached.org/

維基百科資訊
http://zh.wikipedia.org/zh/Memcached

安裝
yum -y install libevent-devel gcc-c++
wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
tar zxvf memcached-1.4.5.tar.gz
cd memcached-1.4.5
./confgiure
make
make install

啟動
 memcached -d -m 1024 -p 11211 -u root

 啟動參數說明
-d 指定用 daemon 方式
-m 指定使用記憶體容量(單位MB)
-p 指定要監聽的 port (不指定則預設 11211)
-u 指定用哪個帳號來執行,例如 nobody

用 telnet 測試 Memcached (這台電腦 IP 是 192.168.2.151)

[root@localhost ~]# telnet 192.168.2.151 11211

Trying 192.168.2.151...
Connected to 192.168.2.151 (192.168.2.151).
Escape character is '^]'.

set foo 0 0 10 <== 設定 key-value,key 為 foo

testfoo001 <== value 為 testfoo001

STORED

get foo <== 取得 key 為 foo 的值

VALUE foo 0 10

testfoo001

END

^] <== 按下 Ctrl-] 離開

telnet> close <== 書ㄖ物 close 離開 telnet

Connection closed.


寫個 test.php 測試 Memcached + PHP
<?php
$memcache = new Memcache; //創建一個memcache對像
$memcache->connect('localhost', 11211) or die ("Could not connect");
$memcache->set('key', 'test');
$get_value = $memcache->get('key');
echo $get_value;
?>

測試成功
php test.php
test <== 出現 test 表示成功


※ 下面訊息表示 Memcache 沒有啟動
PHP Notice: Memcache::connect(): Server localhost (tcp 11211) failed with: Connection refused (111) in /root/test.php on line 3
PHP Warning: Memcache::connect(): Can't connect to localhost:11211, Connection refused (111) in /root/test.php on line 3
Could not connect

 ※這裡有個不錯的監測工具,安裝一下
 wget http://livebookmark.net/memcachephp/memcachephp.zip
unzip memcachephp.zip -d /var/www/html
yum -y install httpd
service httpd restart
firefox http://localhost//memcache.php &

 vim /var/www/html/memcache.php 看一下檔案內容

預設帳號 memcache
預設密碼 password

※設定一下監測主機 (可以設定多台)
$MEMCACHE_SERVERS[] = 'mymemcache-server1:11211';

改為
$MEMCACHE_SERVERS[] = '192.168.128.251:11211';


出處