1. 搭建lnmp環境
使用了某大神的一鍵安裝腳本,詳見 https://www.freehao123.com/linux-vps-lnmp/
#wget -c ftp://soft.vpser.net/lnmp/lnmp1.3.tar.gz
#tar zxf lnmp1.3.tar.gz && cd lnmp1.3
#./install.sh lnmp
開始需要填寫設置數據庫密碼,選擇mysql和php版本,默認的版本就好,穩定。
漫長的等待后,nginx+mysql+php環境搭建完成還剩下memcache
2. Memcache
Memcache用到了libevent這個庫用于Socket的處理,所以還需要安裝libevent
用wget指令直接下載這兩個東西.下載回源文件后。
先安裝libevent。這個東西在配置時需要指定一個安裝路徑,即./configure –prefix=/usr;然后make;然后make install;
再安裝memcached,只是需要在配置時需要指定libevent的安裝路徑即./configure –with-libevent=/usr;然后make;然后make install;
這樣就完成了Linux下Memcache服務器端的安裝。詳細的方法如下:
- 分別把memcached和libevent下載回來,放到 /tmp 目錄下:
# cd /tmp
# wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz
# wget http://www.monkey.org/~provos/libevent-1.2.tar.gz
- 先安裝libevent:
# tar zxvf libevent-1.2.tar.gz
# cd libevent-1.2
# ./configure --prefix=/usr
# make
# make install
- 測試libevent是否安裝成功(使用32位系統的同學測試結果如下,使用64位同學的結果測試應該只有四條,不用擔心是否能啟動,后面有解決方法):
# ls -al /usr/lib | grep libevent
lrwxrwxrwx 1 root root 21 Nov 21 19:22 libevent-1.2.so.1 -> libevent-1.2
-rwxr-xr-x 1 root root 203717 Nov 21 19:22 libevent-1.2.so.1.0.3
lrwxrwxrwx 1 root root 21 Nov 21 15:44 libevent-1.4.so.2 -> libevent-1.4
-rwxr-xr-x 1 root root 108948 Jun 22 2012 libevent-1.4.so.2.1.3
-rw-r--r-- 1 root root 267632 Nov 21 19:22 libevent.a
lrwxrwxrwx 1 root root 26 Nov 21 15:44 libevent_core-1.4.so.2 -> libeven
-rwxr-xr-x 1 root root 37080 Jun 22 2012 libevent_core-1.4.so.2.1.3
-rw-r--r-- 1 root root 47248 Jun 22 2012 libevent_core.a
lrwxrwxrwx 1 root root 26 Nov 21 15:44 libevent_core.so -> libevent_core
lrwxrwxrwx 1 root root 27 Nov 21 15:44 libevent_extra-1.4.so.2 -> libeve
-rwxr-xr-x 1 root root 84228 Jun 22 2012 libevent_extra-1.4.so.2.1.3
-rw-r--r-- 1 root root 103130 Jun 22 2012 libevent_extra.a
lrwxrwxrwx 1 root root 27 Nov 21 15:44 libevent_extra.so -> libevent_ext
-rwxr-xr-x 1 root root 805 Nov 21 19:22 libevent.la
lrwxrwxrwx 1 root root 21 Nov 21 19:22 libevent.so -> libevent-1.2.so.1.
- 安裝memcached,同時需要安裝中指定libevent的安裝位置:
# cd /tmp
# tar zxvf memcached-1.2.0.tar.gz
# cd memcached-1.2.0
# ./configure --with-libevent=/usr
# make
# make install
中間出現報錯,請仔細檢查錯誤信息,按照錯誤信息來配置或者增加相應的庫或者路徑。
安裝完成后會把memcached放到 /usr/local/bin/memcached
- 測試是否成功安裝memcached:
# ls -al /usr/local/bin/mem*
-rwxr-xr-x 1 root root 91198 Nov 21 19:23 /usr/local/bin/memcached
-rwxr-xr-x 1 root root 95511 Nov 21 19:23 /usr/local/bin/memcached-debug
3. 安裝Memcache的PHP擴展
#wget http://pecl.php.net/get/memcache-2.2.7.tgz
#tar vxzf memcache-2.2.7.tgz
#cd memcache-2.2.7
#/usr/local/php/bin/phpize
#./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
#make
#make install
上述安裝完后會有類似這樣的提示:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
把php.ini中的extension_dir = “./”修改為:
# nano /usr/local/php/etc/php.ini
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/"
添加一行來載入memcache擴展:
extension=memcache.so
memcached的基本設置:
- 啟動Memcache的服務器端:
# /usr/local/bin/memcached -d -m 10 -u root -l 120.27.28.130 -p 12000 -c 1024 -P /tmp/memcached.pid
-d選項是啟動一個守護進程,
-m是分配給Memcache使用的內存數量,單位是MB,我這里是10MB,
-u是運行Memcache的用戶,我這里是root,
-l是監聽的服務器IP地址,我這里指定了服務器的IP地址120.27.28.130,
-p是設置Memcache監聽的端口,我這里設置了12000,最好是1024以上的端口,
-c選項是最大運行的并發連接數,默認是1024,
-P是設置保存Memcache的pid文件,我這里是保存在 /tmp/memcached.pid,
- 使用32位系統的應該可以正常啟動,不會出現任何提示,使用64位系統的可能會報錯:
/usr/local/bin/memcached: error while loading shared libraries: libevent-1.2.so.1: cannot open shared object file: No such file or directory
- 使用命令可以解決
#ln -s /usr/lib/libevent-1.2.so.1 /usr/lib64/libevent-1.2.so.1
如果要結束Memcache進程,執行:
# kill `cat /tmp/memcached.pid`
4. Memcache環境測試:
重啟php服務:
#restart php-fpm restart
訪問下面的php文件,如果有輸出This is a test!,就表示環境搭建成功。
<?php
$mem = new Memcache;
$mem->connect("120.27.28.130", 12000);
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>
至此環境搭建完成
5. 開始布置pt站點
下載源碼包:鏈接:http://pan.baidu.com/s/1cvwnFo 密碼:9ewb
上傳至/home/wwwroot/default目錄下
# cd /home/wwwroot/default
# mv index.html index.html.back
# ls
導入數據庫
# mysql -u root -p
Enter password:
mysql> create database pt;
Query OK, 1 row affected (0.00 sec)
mysql> use pt
Database changed
mysql> source /home/wwwroot/default/_db/dbstructure.sql
mysql> quit
Bye
修改config/allconfig.php文件
#nano config/allconfig.php
$BASIC=array(
'SITENAME' => 'PT',
'BASEURL' => '120.27.28.130',
'announce_url' => 'localhost/announce.php',
'mysql_host' => 'localhost',
'mysql_user' => 'root',
'mysql_pass' => 'password',
'mysql_db' => 'pt',
);
重啟服務
#service php-fpm restart
#service nginx restart
出現下面這個錯誤:
Warning: Memcache::connect() [memcache.connect]: Can't connect to localhost:11211,
修改’classes/class_cache.php’中的localhost為127.0.0.1。
設置管理員,首先自己訪問網站然后注冊一個用戶名,接著進入數據庫管理(phpMyAdmin)
在users表里面找到你注冊的用戶,編輯它的class屬性為16。
over
上幾張圖,證明自己成功過hhhhhhh