CentOS搭建NexusPHP

发布于 2020-02-25  2851 次阅读


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

作者:Michael不想说话
链接:https://www.jianshu.com/p/a5f9d3f71284
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


一个弱弱的菜鸡