Tag: nginx

Docker容器运行asynchronous

我需要在我的应用程序中开发docker,我用maven-docker-plugin创builddocker图像。 之后,我运行sh脚本白衣在这里。 docker run –name app-mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=app -d mysql docker run –name app -p –link app-mysql:localhost -d app docker run –name app-nginx -d -p 80:80 –link app:app nginx docker exec app-nginx rm -rf /etc/nginx/conf.d/default.conf docker cp app:/default.conf default.conf docker cp default.conf app-nginx:/etc/nginx/conf.d/default.conf docker restart app-nginx 但是我有一个问题。 第一个MySQL容器运行良好。 其次,应用容器运行良好。 但是nginx容器抛出错误: docker: Error response […]

nginx Errno 32:有特定请求的断开的pipe道

我有一个NGINX /瓶/docker服务器使用: https : //github.com/tiangolo/uwsgi-nginx-flask-docker ,它适用于运行小而不经常的请求。 但是,如果我尝试了一些大的请求,涉及每个从amazon s3下载约5mb的数据(可以说,一次10)。 我得到这个错误: Exception in thread Thread-1: Traceback (most recent call last): File "/usr/local/lib/python2.7/threading.py", line 801, in __bootstrap_inner self.run() File "/usr/local/lib/python2.7/threading.py", line 754, in run self.__target(*self.__args, **self.__kwargs) File "/usr/local/lib/python2.7/site-packages/werkzeug/serving.py", line 659, in inner srv.serve_forever() File "/usr/local/lib/python2.7/site-packages/werkzeug/serving.py", line 499, in serve_forever HTTPServer.serve_forever(self) File "/usr/local/lib/python2.7/SocketServer.py", line 233, in serve_forever self._handle_request_noblock() File […]

将Web客户端连接到dynamic产卵docker容器

我正在使用nodejs编写一个在线编码网站。 当用户请求时,我产生一个docker容器编译和运行他们的代码,然后删除它。 docker容器经过一段时间后停止并移除。 运行在容器内部的可执行程序使用客户端JavaScript库和在双方的docker集装箱上打开的特定端口与客户端浏览器进行实时通信。 (参考我使用这个JavaScript库http://robotwebtools.org/tools.html )这适用于单个用户。 然而,我需要一个解决scheme,当有多个同时用户,因此多个docker容器同时产生(由于多个同时请求),必须在不同的端口。 我需要一种方法来获取客户端JavaScript代码与唯一端口上相应的docker容器进行通信。 注意我正在为一台机器上的数十个用户同时寻找解决scheme,而不是大规模的扩展。 我可以想到两种方法来做到这一点。 (一)打开一些公共端口,让nodejs用一个唯一的端口产生docker容器,把这个唯一的端口发送给客户端代码。 我认为这会起作用,而且相当容易实施。 我不认为安全是一个问题,因为集装箱只是简单地连接到港口。 但是,有什么我忘记了? (二)只打开一个公共端口,让nodejs产生一个独特的端口的docker集装箱,并让nodejs侦听公共客户端端口,并根据一些用户ID转发到正确的docker集装箱端口? 我甚至不知道如何在nodejs中做到这一点? 有什么我可以用来做到这一点? 这些都适合吗? 还是有另一种解决scheme? 如果B适当,我将如何识别每个用户的stream。 请注意,如果相关,我打算使用nginx作为反向代理。

NGINX处理JSON POST请求传递给Kubernetes上的Python Flask容器

我是新来的负载平衡器的使用,仍然试图围绕如何负载平衡,因为NGINX可以利用JSON POST请求到我的Kubernetes集群python烧瓶容器。 我在我的Kubernetes集群中设置了nginx和python烧瓶容器,并将nginx作为我的负载均衡器,并将两组容器都作为具有Kubernetes集群上的端口#的服务公开。 我给了nginx一个静态IP。 我很困惑,因为我是新来的,当我将JSON body POST请求传递给NGINX静态IP时,如何将它路由到python容器容器(其中包含.py文件,我是尝试通过JSON文本.py文件设置为处理GET,POST请求通过Restful API内的烧瓶代码设置。我有一个请求的URL设置,但不知道如果这应该是NGINX静态IP)。 我是否缺lessNGINX中的configuration图层来将JSON POST正文数据路由到Kubernetes中的python Flask容器? 我应该使用Ingress API控制器吗? 理想情况下,我想用我的JSON POST正文请求来ping负载均衡器,并让我的Flask python容器输出容器中的.py文件的运行。 我期待扩大这些服务的更多请求。 谢谢。

无法使用Docker-Compose连接到NGINX

我只需要将我的开发环境转移到新的Mac上,并在新机器上安装Docker。 我正在使用docker-compose来托pipenginx的本地wordpress。 所有的容器都开始了,但是nginx容器拒绝工作。 所以我无法到达localhost:8000下的网站 我在旧电脑上有相同的configuration,运行顺畅。 我错过了什么? 所以,这是我的dockerfile: version: "2" services: mariadb: image: wodby/wordpress-mariadb environment: MYSQL_RANDOM_ROOT_PASSWORD: 1 MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress volumes: – ./docker-runtime/mariadb:/var/lib/mysql php: image: wodby/wordpress-php environment: PHP_SITE_NAME: dev PHP_HOST_NAME: localhost:8000 PHP_SENDMAIL_PATH: /usr/sbin/sendmail -t -i -S mailhog:1025 PHP_XDEBUG_ENABLED: 0 volumes: – ./:/var/www/html nginx: image: wodby/wordpress-nginx environment: NGINX_SERVER_NAME: localhost NGINX_UPSTREAM_NAME: php volumes_from: – php […]

从Docker容器提供WordPress静态文件

我有一个WordPress的Docker容器,并使用nginx作为主机上的反向代理。 WP容器在端口32776上为WordPress提供服务,我的nginxconfiguration在主机上是这样的: nginxconfiguration(主机) map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { … location /blog { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:32776; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } … } nginxconfigurationINSIDE Docker server { listen 0.0.0.0:80 default_server; listen [::]:80 default_server; root /var/www/html; # Add index.php […]

nginx索引指令在本地工作正常,但ec2上给404

我有一个web项目,我想用docker-compose和nginx来部署。 我在本地, docker-compose build docker-compose push 如果我是docker-compose up ,我可以访问localhost/并redirect到我的index.html 。 现在在我的EC2实例(我安装了docker和docker-compose的一个常规ec2实例)中, docker-compose pull ,然后是docker-up。 所有的容器都可以正常启动,我可以exec sh到我的nginx容器中,看到有一个/facebook/index.html文件。 如果我去[instance_ip]/index.html ,一切都按预期工作。 如果我去[instance_ip]/ ,我得到一个404响应。 nginx收到请求(我在访问日志中看到它),但不会redirect到index.html 。 为什么index指令不能redirect到我的index.html文件? 我尝试过了: 通过删除所有本地图像并从我的registry中提取本地重现。 杀死我的EC2实例,并启动一个新的。 但是我得到了同样的结果。 我使用docker-compose 1.11.1和docker 17.05.0。 在ec2实例上,它是docker 17.03.1,我试了两个docker-compose 1.11.1和1.14.1(注意我有点绝望;))。 来自我的docker-compose文件的摘录: nginx: image: [image from registry] build: context: ./ dockerfile: deploy/nginx.dockerfile ports: – "80:80" depends_on: – web 我的nginx镜像从alpine开始,安装nginx,添加index.html文件,并将我的conf文件复制到/etc/nginx/nginx.conf 。 这是我的nginxconfiguration。 我检查它在运行的容器上(包括本地和ec2上)。 # […]

在暂存器中暂时不可用nginx / 1.13.3

我正在尝试使用jwilder/nginx-proxy: alpine来启动nginx ,以下是docker的运行命令和步骤: 第一步 : docker run -d -p 80:80 -p 443:443 -v /var/run/docker.sock:/tmp/docker.sock:ro –name nginx jwilder/nginx-proxy:alpine 步骤2 :打开ec2实例安全组的端口80 ,尝试连接到ip:80/ ,但是错误如下503服务暂时不可用nginx / 1.13.3 docker日志说: WARNING: /etc/nginx/dhparam/dhparam.pem was not found. A pre-generated dhparam.pem will be used for now while a new one is being generated in the background. Once the new dhparam.pem is in place, nginx […]

增加nginx响应超时

我有ngnix服务器代理传入请求到另一个ngnix运行的docker,它将请求转发到nodejs服务器。 有时我的nodejs服务器需要10-15分钟才能回复。 但是在nodejs服务器响应之前,我得到了502 Bad Gateway 。 我试图增加主机上的ngnix服务器和docker上的另一个ngnix服务器上的ngnix超时,但似乎没有工作 client_header_timeout 15m; client_body_timeout 15m; send_timeout 15m; proxy_read_timeout 15m; proxy_connect_timeout 15m;

Linux curl post请求和错误417,但sudo成功?

我的服务部署在docker中,暴露的nginx端口是18082;服务端口是38087,我试了两次。 而我使用命令 curl -i -X POST -H'content-type:text / json'-d @ post.json \ http://127.0.0.1:18082/youtu/openliveapi/livedetectfour 返回417 HTTP/1.1 417 Expectation failed Server: squid/2.7.STABLE9 Date: Tue, 15 Aug 2017 11:57:04 GMT Content-Type: text/html Content-Length: 1436 X-Squid-Error: ERR_INVALID_REQ 0 X-Cache: MISS from SK-SQUIDDEV-118 X-Cache-Lookup: NONE from SK-SQUIDDEV-118:8080 Connection: close 但是当我在前面添加sudo时,它会返回成功。 HTTP / 1.1 100继续HTTP / 1.1 200 OK服务器:openresty / 1.9.15.1 […]