AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-389743

Igor's questions

Martin Hope
Igor
Asked: 2016-12-12 20:40:25 +0800 CST

如何使用 PHP memcached 通过 Auto Scaling 进行会话存储?

  • 0

我已经memcached在我的服务器中安装了,我已经将默认值修改php.ini为:

session.save_handler = memcached
session.save_path = "127.0.0.1:11211"

我正在使用带有 Auto Scaling 和负载均衡器的 Amazon EC2 实例(Ubuntu 16.04 LTS),但我对PHP memcached. 首先,解释我的问题:我已经存储sessions在我的Server A并且我还有另一个Server B也在运行。但是,当我停止Server A(我已连接sessions)时,负载均衡器会将我重定向到Server B并且看起来sessions丢失了,因为我与我的网站断开连接,他要求我再次登录。

我阅读了这段摘录,用于在多个服务器上使用 memcached 进行会话存储(从这里):

在您的 php.ini 中,您应该将 session.save_path 设置为 memcached 服务器列表,例如 server1:11211、server2:11211。

但是我怎么能说我正在使用 Auto Scaling 并且我可能有“n”个服务器呢server1:11211?server2:11211

php.ini memcached amazon-web-services autoscaling php-memcached
  • 1 个回答
  • 829 Views
Martin Hope
Igor
Asked: 2016-12-09 19:34:07 +0800 CST

弹性负载均衡器不适用于运行 Node.js 的 8000 端口

  • 1

我拥有一个运行 PHP 和 Node.js socket.io(显示脚本)。但是,我想为此实例设置一个弹性负载均衡器(仅用于测试,因为稍后我会将它与 Auto Scaling 一起使用),因此我使用以下设置创建了目标组:www.mydomain.comwww.mydomain.com:8000/socket.io/socket.io.jssocket.io

在此处输入图像描述

之后,我在 Target Group 中注册了该实例,并且状态检查运行良好:

在此处输入图像描述

因此,在我的负载均衡器(Application Load Balancer 而不是 Classic Load Balancer)中,我添加了以下侦听器(如果我删除 8000 侦听器,当我访问DNS:8000或DNS:8000/socket.io/socket.io.js不显示任何内容时,仅显示错误ERR_CONNECTION_REFUSED):

在此处输入图像描述

在此负载均衡器的安全组中,我还添加了端口 80 和 8000:

在此处输入图像描述

因此,当访问负载均衡器的 DNS 名称时,它通常会显示网站,但是,如果我尝试访问DNS:8000/socket.io/socket.io.js它,它会重写 URLDNS:8000并继续显示网站,而不是socket.io脚本。我已经尝试将路径模式添加/socket.io/*到 8000 侦听器,但它继续以相同的方式。那么,我该怎么做才能显示socket.io脚本?

load-balancing amazon-ec2 amazon-web-services amazon-elb
  • 1 个回答
  • 1080 Views
Martin Hope
Igor
Asked: 2016-12-09 13:20:24 +0800 CST

将 www 添加到域,但不添加到特定域

  • 0

我的.htaccess文件中有以下代码:

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

上面的代码用于添加www到域,如果它没有www. 但是我有一个域,例如:(myloadbalancername-432566808.us-west-1.elb.amazonaws.com来自 AWS Elastic Load Balancer 的 DNS)并且该域不适用于www. 那么,除了特定域之外,如何www为所有域请求添加?

RewriteCond %{REQUEST_URI} !myloadbalancername
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

我尝试使用上面的代码,检查域名是否没有单词,然后检查域是否没有www,但没有成功。我是初学者,.htaccess所以我不知道我做错了什么。

rewrite .htaccess mod-rewrite rewritecond
  • 1 个回答
  • 474 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve