我正在尝试在 nginx 中使用 proxy_pass 将请求转发到本地主机上的另一个端口,如下所示:
location /foo {
rewrite ^/foo/(.*) /$1 break;
proxy_pass http://127.0.0.1:8080/;
}
location /bar {
rewrite ^/bar/(.*) /$1 break;
proxy_pass http://localhost:8080/;
}
location /blah {
rewrite ^/blah/(.*) /$1 break;
proxy_pass http://192.168.77.56:8080/;
}
Run Code Online (Sandbox Code Playgroud)
所以只有最后一个有效。前两个给我一个页面不可用错误。我知道端点正在工作,因为我可以直接转到 localhost:8080 并查看我预期的输出。
知道我做错了什么吗?
[编辑]:进一步的启示......似乎重写行与它有关。像我在这里一样使用它似乎适用于非本地主机 IP,即它从路径中删除 /blah 并在将其发送到最终目的地时保留其余部分。如果我删除重写行,我可以代理到本地主机(当然会丢失我在 url 上缩进的其他内容)。
如何确保最新的测试不能并行运行?在0.12之前,我有一个sbt设置:
parallelExecution in Test := false
Run Code Online (Sandbox Code Playgroud)
较新的版本引入了一些复杂的机制.这个更简单,旧的方式仍然适用于0.13吗?
在测试期间,我不希望任何东西并行运行.
如何在我的 nginx 服务器上运行 valgrind?
我已经构建了两个二进制文件。在我的 nginx.conf 我有(按照说明):
worker_processes 1;
daemon off;
master_process off;
Run Code Online (Sandbox Code Playgroud)
我是这样跑的:
sudo /usr/local/bin/valgrind -v --tool=memcheck --leak-check=yes nginx
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到一些如下所示的 valgrind 输出,然后我得到一个提示。有 2 个 valgrind 进程正在运行,我的服务器不会响应“curl”——说它无法连接到主机。相同的卷曲在没有 valgrind 的情况下工作正常。当我针对 nginx 和我编写的模块代码(典型地内置在 nginx 二进制文件中)进行测试时,我需要 valgrind 保持运行。
我还为我的 nginx 版本应用了“无池”补丁来帮助 valgrind。我错过了什么?
输出:
==13809== Memcheck, a memory error detector
==13809== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==13809== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
==13809== Command: nginx
==13809==
==13809==
==13809== HEAP SUMMARY:
==13809== in use …Run Code Online (Sandbox Code Playgroud) 我在使用Scala中的Spark Cassandra Connector时遇到了问题.
我正在使用这些版本:
我可以连接并与Cassandra(没有火花)交谈,我可以和Spark(没有Cassandra)交谈,但连接器给了我:
com.datastax.driver.core.exceptions.NoHostAvailableException:尝试查询失败的所有主机(尝试:/10.0.0.194:9042(com.datastax.driver.core.TransportException:[/ 10.0.0.194:9042]不能连接))
我错过了什么?Cassandra是默认安装(根据cassandra.yaml,cql的端口9042).我正在尝试连接本地("本地").
我的代码:
val conf = new SparkConf().setAppName("Simple Application").setMaster("local")
val sc = new SparkContext("local","test",conf)
val rdd = sc.cassandraTable("myks","users")
val rr = rdd.first
println(s"Result: $rr")
Run Code Online (Sandbox Code Playgroud) I've installed Thrift on my Mac using Homebrew: brew install thrift --with-python
That did some work and finished w/o errors reported. I have thrift on my path.
I write a simple python client from a tutorial: (there is some python thrift code in gen-py)
#!/usr/bin/python
import sys
sys.path.append("./gen-py")
from thrift import Thrift
from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol
# rest of program...
Run Code Online (Sandbox Code Playgroud)
When run I get this error:
Traceback (most recent call last):
File …Run Code Online (Sandbox Code Playgroud) 假设下面的图片.每个Docker容器属于一个Akka集群"foo",每个容器都运行一个集群节点.Docker分配的IP地址(在容器内)以绿色显示.所有内部端口均为9090,但映射到主机上的各种外部端口.

Docker 5中节点的Akka URI是什么?它是akka.tcp://foo@10.0.0.195:9101
我已经阅读了一些关于Akka和Docker的博客,这些博客涉及链接,但对于多节点部署而言,这似乎不可行(?),我不确定链接如何扩展到100个节点.
我需要一些方法让Akka知道其集群的地址.离开它自己的设备,Docker 5可能会决定它在akka.tcp://foo@192.178.1.2:9090可以访问,这在它自己的容器之外是无用/无法访问的.
此时我想我将主机的IP和端口(例如10.0.0.195:9101)传递给Docker容器,作为Akka在启动配置时使用的参数.
这会有用,还是有更好的方法?
我已经注册了一个新的AWS账户并生成了一个新的密钥对.我有PEM文件.
我启动一个新实例并登录它.我正在尝试做'aws configure',但是它要求aws_access_key_id和aws_secret_access_key.这些是什么?我刚收到这个PEM文件.
我正在尝试使用REST调用来访问Docker信息.我尝试了这个例子,我推出了一个网站:
echo -e "GET /images/json HTTP/1.0\r\n" | nc -U /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)
我没有错,但什么也没发生.我的系统上有docker图像(我可以做'docker images'并查看列表).运行命令行docker工具时没有问题.
查看文件系统,我的系统上没有/var/run/docker.sock.
我在OS X上使用开箱即用的boot2docker安装.Docker信息输出在这里:
bash-3.2$ docker info
Containers: 6
Images: 174
Storage Driver: aufs
Root Dir: /mnt/sda1/var/lib/docker/aufs
Dirs: 186
Execution Driver: native-0.2
Kernel Version: 3.16.7-tinycore64
Operating System: Boot2Docker 1.3.2 (TCL 5.4); master : 495c19a - Mon Nov 24 20:40:58 UTC 2014
Debug mode (server): true
Debug mode (client): false
Fds: 11
Goroutines: 13
EventsListeners: 0
Init Path: /usr/local/bin/docker
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
trait Rendered
trait TemplateRendered extends Rendered
trait Media {
def send[T <: Rendered](cooked:T)
}
case class EmailMedia() extends Media {
override def send(cooked:TemplateRendered) {} // compile error this line
}
Run Code Online (Sandbox Code Playgroud)
我想要一个带有send()方法的Media模板,该方法接受子类Rendered对象.在具体的类(EmailMedia)中,我想将其锁定到Rendered的特定子类,或者在这种情况下是TemplateRendered.(即使类中的类型比特征中的类型更具限制性/特异性)
我怎样才能做到这一点?
编译器不喜欢这里的尝试.试过这个:
case class EmailMedia() extends Media {
override def send[T <: TemplateRendered](cooked:T) {}
}
Run Code Online (Sandbox Code Playgroud) 我正在编写一个小脚本评估器函数。它需要两个参数和一个比较运算符,如下所示:
def compare[T,U](a:T, op:String, b:U): Boolean = {
op match {
case "==" => a == b
case "<" => a < b
// and so on with other comparators...
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码无法编译。“<”运算符不适用于泛型类型。我找不到带有“<”运算符的数字类型的父类,所以我什至无法执行以下操作: def compare[T<:Numeric,U<:Numeric](...)
有没有办法做到这一点(或图书馆)?现在我只能测试等于/不等于。