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