FreeBSD下NGINX 1.8+PHP5.6 +PERL 5.20 +Mysql 5.6+FTP 环境搭建与优化2


#xcache
管理界面安装

cp -R /usr/local/share/examples/xcache/htdocs /usr/local/www/domain.com/

#访问以下地址,输入xcache配置的帐号密码进入。

http://doamin.com/xcache

--------------------------------------

#配置memcached web状态监控界面

--------------------------------------

#memcached
php安装时已经勾选默认下php支持

#
下载配置脚本:附件 memcache.php.zip
#
修改memcache.php里的管理帐号密码

define(‘ADMIN_USERNAME’,’memcache’); // Admin Username
define(‘ADMIN_PASSWORD’,’password’); // Admin Password

#memcache.php放到web目录下

mv memcache.php /usr/local/www/domain.com/

#访问memcached状态监控界面

http://domain.com/memcache.php

--------------------------------------

#配置安装perl的支持脚本(让nginx支持cgi pl

--------------------------------------

#
启动脚本
/etc/rc.conf 增加 perl_fcgi_enable=”YES” 开机自动启动。

chmod 777 /usr/local/etc/rc.d/perl-fcgi
/usr/local/etc/rc.d/perl-fcgi

# nginx调用的fastcgi_perl解析脚本。

chmod 777 /usr/local/etc/perl-fcgi.pl
/usr/local/etc/perl-fcgi.pl

vi /usr/local/www/domain.com/perltest.cgi

#以下是代码:

#!/usr/bin/perl
print “Content-type: text/html\n\n”;

use strict;
use ExtUtils::Installed;

my $inst= ExtUtils::Installed->new();

my @modules = $inst->modules();

foreach(@modules)

{

my $ver = $inst->version($_) || “???”;

printf(“%-12s — %s\n”, $_, $ver);
printf(“”);

}

exit ;

#启动perl-fcgi服务

/usr/local/etc/rc.d/perl-fcgi restart

#访问查看perl已安装模块情况:http://domain.com/perltest.cgi

--------------------------------------

#安装mysql数据服务

--------------------------------------

cd /usr/ports/databases/mysql56-server
make WITH_CHARSET=utf8 WITH_XCHARSET=all WITH_COLLATION=utf8_general_ci PTHREAD_LIBS=-lthr WITHOUT_INNODB=yes WITH_OPENSSL=yes BUILD_OPTIMIZED=yes install clean

#启动mysql
自动会进行初始化

/usr/local/etc/rc.d/mysql-server start

mysql 5.6在初始化以后会在/usr/local/下生成my.cnf ,使用附件优化过的my.cnf替换它。

#
下载配置脚本:附件 my.cnf.zip
mv my.cnf /usr/local/my.cnf

#重启启动mysql
应用新配置

/usr/local/etc/rc.d/mysql-server restart

--------------------------------------

#安装ftp服务器

--------------------------------------

cd /usr/ports/ftp/pure-ftpd && make install clean

#下载配置脚本:附件 pure-ftpd.zip

pure-ftpd主配置文件

/usr/local/etc/pure-ftpd.conf

pure-ftpd mysql配置文件

/usr/local/etc/pureftpd-mysql.conf

#修改pureftpd mysql配置文件,修改为自己的mysql配置信息

vi /usr/local/etc/pureftpd-mysql.conf

pure-ftpd mysql数据库脚本,导入数据库

ftpadmin/extra/script.mysql

pure-ftpdweb管理界面ftpadmin
mv ftpadmin /usr/local/www/domain.com

#配置pure-ftpdweb管理系统,修改为自己的mysql配置信息

vi /usr/local/www/domain.com/ftpadmin/config.php

访问pureftpd web管理界面

http://domain.com/ftpadmin

--------------------------------------

#检查开机启动的配置

--------------------------------------

vi /etc/rc.conf

#############################
sendmail_enable=”NO”
sendmail_submit_enable=”NO”
sendmail_outbound_enable=”NO”
sendmail_msp_queue_enable=”NO”
############################
mysql_enable=”YES”
memcached_enable=”YES”
redis_enable=”YES”
############################
php_fpm_enable=”YES”
perl_fcgi_enable=”YES”
nginx_enable=”YES”
############################
pureftpd_enable=”YES”
--------------------------------------

#启动服务

--------------------------------------

/usr/local/etc/rc.d/nginx restart
/usr/local/etc/rc.d/redis restart
/usr/local/etc/rc.d/memcached restart
/usr/local/etc/rc.d/perl-fcgi restart
/usr/local/etc/rc.d/php-fpm restart
/usr/local/etc/rc.d/pure-ftpd restart
/usr/local/etc/rc.d/mysql-server restart
--------------------------------------

#其它问题:

--------------------------------------

@@@ @@@ @@@ @@@ @@@ @@@ @@@
[FreeBSD] PHP 5.3.4 “Segmentation fault (core dumped)”
Starting php_fpm.
Segmentation fault (core dumped)
./php-fpm: WARNING: failed to start php_fpm

php -info 正常运行。

php -v
显示错误,并产生
php.core
文件

最后找到,原来在扩展中启用了 recode
原因是MySQLi扩展模块与recode扩展模块共同使用的时候,可能会造成PHP的崩溃和启动时出现问题。

extension.ini 中关掉

;extension=recode.so .

正常运行.

@@@ @@@ @@@ @@@ @@@ @@@ @@@
有关 Zend OPcache xcache memcache 共存效率问题

当同时配置Zend OpcacheXCache之后存在的问题:

XCache
会非常有效,但是Zend OpcacheCache hits非常少,命中率而且非常低,基本上Zend Opcache就无效了。

会出现HTTPD耗尽内存,而使得HTTPD”琐事现象,网站无法访问,但是用free命令查看内存并没有用完(实在不清楚什么原因)

之后去掉XCache,只留Zend Opcache,测试发现cache hits正常了,并且命中率很高。查看情况,可以用phpinfo()查看,也可以使用Opcache Control Panel查看缓存、命中率等情况。

这里需说明下,这并不是XCache效率不高,只是不适合两者同时使用。

所以建议使用
PHP 5.6
自带的 Zend Opcache,在XCache配置内关闭了
PHP
缓存器 xcache.size,只开使用 VAR 缓存器

注:php的优化器有两种,一种是php加速器(缓存php编译代码,提升php的执行效率),一种是php缓存扩展(将数据变量缓存,降低数据库的访问)。

 

以下文章点击率最高

Loading…


发表评论

电子邮件地址不会被公开。 必填项已用*标注