gpt4 book ai didi

node.js - 在centos 6.4和nginx上将cakephp 2.4与redis连接

转载 作者:太空宇宙 更新时间:2023-11-03 22:38:17 25 4
gpt4 key购买 nike

首先,我很抱歉我的英语不好,希望我的问题得到解答。

很好,我会回答我的问题,也许它很复杂,但我是这个主题的新手。

我有一个在 cakephp 版本 2.4 上运行的应用程序,在 centos 6.4 64 位上运行,带有 nginx 服务器,并且运行良好。

现在我需要将我的应用程序的一部分与node.js集成,并且存在一个问题,这是因为我需要知道我的cakephp的 session (文件缓存),并且我整天都在阅读/尝试关于配置彼此的应用程序,我尝试首先直接读取 session 文件只是为了进行测试,但我知道这是不正确的,因为非常不安全,而且很难解析数据,最后一个原因是它是node.js无法匹配连接到我的 cakephp 应用程序的用户与 node.js 相同。

然后阅读更多相关内容,我发现如果我使用 memcached 或 redis 缓存,则可以匹配每个应用程序,并且我尝试安装 memcached,在 centos 上安装 redis 后,安装过程中一切正常,但是当我尝试安装 cakephp 应用程序时与此:

Core.php

$engine = 'Redis';

bootstrap.php

Cache::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;工作进程2;

error_log/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 session 与 Redis 连接起来?

还有一件事,我尝试使用 cli 来尝试 redis,并且运行良好,使用 set 和 get 进行测试,并且运行正常。

提前致谢。

PD。所有该项目都在虚拟机器上运行

最佳答案

我刚刚遇到了这个。有两件事正在发生之一。我不确定您是否可以配置 Redis 的缓存,看起来您的配置不完整。我认为你需要服务器参数。尝试复制 memcached 的缓存配置并更新 Redis 的缓存配置。另一个问题可能是 Redis 没有运行。这是我的最后一个问题。启动Redis并再次测试。

关于node.js - 在centos 6.4和nginx上将cakephp 2.4与redis连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19597443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com