好吧,首先我很抱歉我的英语不好,我希望能回答我的问题。
很好,我会做我的问题,也许它很复杂,但我是那个话题的新手。
我有一个使用 cakephp 版本 2.4 的应用程序,它使用 nginx 服务器在 centos 6.4 64 位上运行,并且运行良好。
现在我需要将我的应用程序的一部分与 node.js 集成并且有一个问题,这是因为我需要知道我的 cakephp 的会话(文件缓存),并且我整天都在阅读/尝试配置每个其他应用程序,我尝试首先直接读取会话文件只是为了进行测试,但我知道它不正确,因为它非常不安全,而且很难解析数据,最后一个原因是它的 node.js 不能匹配连接到我的 cakephp 应用程序的用户与 node.js 相同。
然后阅读更多关于它的信息,我发现如果我使用 memcached 或 redis 缓存,则可以匹配每个应用程序,并且我尝试安装 memcached,并且在 centos 上安装 redis 之后,安装过程中一切正常,但是当我尝试使用以下命令安装我的 cakephp 应用程序时:
核心.php
$engine = 'Redis';
引导程序.php
缓存::config('default', array('engine' => 'Redis'));
总是 cakephp 给我下一个错误:
16:58:57 错误:[CacheException] 缓存引擎默认配置未正确配置。堆栈跟踪:
0 /var/www/public_html/project/lib/Cake/Cache/Cache.php(151): Cache::_buildEngine('default')
1 /var/www/public_html/project/app/Config/bootstrap.php(28): Cache::config('default', Array)
2 /var/www/public_html/project/lib/Cake/Core/Configure.php(92):include('/var/www/public...')
3 /var/www/public_html/project/lib/Cake/bootstrap.php(177): 配置::bootstrap(true)
4 /var/www/public_html/project/app/webroot/index.php(92):include('/var/www/public...')
5 {主要}
而且我不确定在 nginx 上我是否需要配置一些关于 Redis 的东西(关于它的 memcached 它在 cakephp 上发生了同样的事情)。
在 nginx 上,我有下一个配置:
用户 nginx;worker_processes 2;
错误日志/var/log/nginx/error.log;
pid /var/run/nginx.pid;
事件{
worker_connections 4000;
# essential for linux, optmized to serve many clients with each thread
use epoll;
# Accept as many connections as possible, after nginx gets notification about
#a new connection.
# May flood worker_connections, if that option is set too low.
multi_accept on;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
# Caches information about open FDs, freqently accessed files.
# Changing this setting, in my environment, brought performance up from 560k req/sec, to 904k req/sec.
# I recommend using some varient of these options, though not the specific values listed below.
open_file_cache max=200000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name dev.project;
client_max_body_size 2m;
access_log /var/log/nginx/cakeapp.access.log;
error_log /var/log/nginx/cakeapp.error.log;
rewrite_log on;
root /var/www/public_html/project/app/webroot;
index index.php;
# Not found this on disk?
# Feed to CakePHP for further processing!
if (!-e $request_filename) {
rewrite ^/(.+)$ /index.php?url=$1 last;
break;
}
# Pass the PHP scripts to FastCGI server
# listening on 127.0.0.1:9000
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_intercept_errors on; # to support 404s for PHP files no$
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# Deny access to .htaccess files,
# git & svn repositories, etc
location ~ /(\.ht|\.git|\.svn) {
deny all;
}
}
# Compression. Reduces the amount of data that needs to be transferred over
# the network
gzip on;
gzip_min_length 10240;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;
gzip_disable "MSIE [1-7]\.";
}
请任何提示我需要做什么才能将 cakephp 会话与 Redis 连接?
我用 cli 尝试了 redis 的另一件事,并且运行良好,使用 set 和 get 进行测试并且工作正常。
先谢谢了。
PD。所有该项目都在虚拟机上运行