XCache is a fast, stable PHP opcode cacher that has been tested and is now running on production servers under high load.
Установка:
1
2
3
4
5
6
| [root@case.net.ru]$ cd /usr/ports/www/xcache/
[root@case.net.ru]$ make showconfig
===> The following configuration options are available for xcache-1.2.2:
COVERAGER=off "Enable code coverage dumper"
===> Use 'make config' to modify these settings
[root@case.net.ru]$ make install clean |
Настройка:
1
2
| [root@case.net.ru]$ cp /usr/local/share/examples/xcache/xcache.ini /usr/local/etc/php/
[root@case.net.ru]$ cp -R /usr/local/share/examples/xcache/admin /usr/local/www/data/xcache |
В файле xcache.ini устанавливаем переменную xcache.admin.pass, хеш пароля можно получить командой:
1
| [root@case.net.ru]$ md5 -s password |
Променяли apache на nginx + fastcgi. Замечания:
- наверное должно работать быстрее
- в отличии от апачевских rewrite’ов – в nginx’овских вначале должно стоять ^/, а не просто ^
- красивый конфиг где все понятно
- под php надобно демона запускать, вот скриптик:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
| #!/bin/sh
#
# PROVIDE: php_fastcgi
# REQUIRE: DAEMON
# BEFORE: LOGIN
# KEYWORD: shutdown
. /etc/rc.subr
name="php_fastcgi"
rcvar=`set_rcvar`
load_rc_config $name
: ${php_fastcgi_enable="NO"}
: ${php_fastcgi_user="www"}
: ${php_fastcgi_bindaddr="127.0.0.1"}
: ${php_fastcgi_bindport="9000"}
: ${php_fastcgi_children="5"}
: ${php_fastcgi_max_requests="1000"}
: ${php_fastcgi_allowed_env=""}
export PHP_FCGI_CHILDREN=${php_fastcgi_children}
export PHP_FCGI_MAX_REQUESTS=${php_fastcgi_max_requests}
command="/usr/local/bin/php-cgi"
command_args="-q -b ${php_fastcgi_bindaddr}:${php_fastcgi_bindport} &"
pidfile="/var/run/${name}.pid"
_allowed_env="ORACLE_HOME PATH USER PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS FCGI_WEB_SERVER_ADDRS"
_allowed_env="${_allowed_env} ${php_fastcgi_allowed_env}"
start_precmd="${name}_start_precmd"
start_postcmd="ps -U ${php_fastcgi_user} -o 'pid,command'|grep ${command}|head -1|cut -f 1 -d ' ' > ${pidfile}"
stop_postcmd=": > ${pidfile}"
php_fastcgi_start_precmd()
{
export USER=${php_fastcgi_user}
E=
for i in ${_allowed_env}; do
eval _val="\$$i"
if [ "${_val}_x" != "_x" ]; then
eval _add="$i=$_val"
E="${E} ${_add}"
fi
done
command="env - ${E} ${command}"
}
load_rc_config $name
run_rc_command "$1" |