Articles of 亚马逊

亚马逊Linux + Nginx + PHP 5.4

如何更新我的PHP版本使用Nginx在亚马逊Linux EX2 5.4?

Dokku端口configuration问题EC2

我目前正在尝试使用Dokku在EC2实例上部署我的应用程序,我的第一印象是它真的很棒。 我仍然有一些问题,我的应用程序的configuration,它可以通过端口80到达,而不是docker的容器端口。 因此,例如,当我尝试达到我的应用程序可以在下面: http://recipeapp.xxx.de:49169/ 但不是 http://recipeapp.xxx.de/ 我的VHOSTconfiguration如下所示: xxx.de 应用程序的nginx.conf生成如下: upstream recipeapp { server 127.0.0.1:49169; } server { listen [::]:80; listen 80; server_name recipeapp.xxx.de; location / { proxy_pass http://recipeapp; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Port $server_port; proxy_set_header X-Request-Start $msec; } } 我添加我的远程:git remote […]

Amazon Elastic beanstalk:使用nginx / apache将子域转发到子文件夹

我已经在ebs上创build了两个子path“foo”和“bar”的node.js应用程序,可通过“example.com/foo”和“example.com/bar”访问。 我想反向代理的ebs转发子域名“foo.example.com”和“bar.example.com”到这些子文件夹… 即“foo.example.com/xxx”到“example.com/foo/xxx”“bar.example.com/yyy”到“example.com/bar/yyy”等。 我知道如何configurationnginx来做到这一点,但我不知道要访问EBS上的nginxconfiguration文件… 一年前有人问完全相同的事情 ,但是EBS似乎已经发展了很多,只是想知道这样的事情现在是否可行。

用nginx从S3服务单个文件Angular应用程序

我有一个由单个index.html文件组成的Angular应用程序。 唯一的其他文件是main.css和一些图像资产。 我已经重新发现,没有办法使用S3虚拟主机服务,所以我试图设置Nginx作为代理。 我以前做过这个,但那是几年前的事情,而不是一个Angular应用程序和HTML5推送状态。 这是当前的nginxconfiguration服务器块。 server { server_name foo.com; set $s3_bucket 'foo.com.s3.amazonaws.com'; proxy_http_version 1.1; proxy_set_header Host $s3_bucket; proxy_set_header Authorization ''; proxy_hide_header x-amz-id-2; proxy_hide_header x-amz-request-id; proxy_hide_header Set-Cookie; proxy_ignore_headers "Set-Cookie"; proxy_buffering off; proxy_intercept_errors on; resolver 172.16.0.23 valid=300s; resolver_timeout 10s; location ~* ^/(assets|styles)/(.*) { set $url_full '$1/$2'; proxy_pass http://$s3_bucket/live/$url_full; } location / { rewrite ^ /live/index.html break; proxy_pass […]

django.request:禁止(Referer检查失败 – 不Referer。)

我正在开发一个使用AWS和Django Rest Framework的Web应用程序。(Django:v1.8,DRF:v3 django.request: Forbidden (Referer checking failed – no Referer.)对于POST多部分表单请求,我一直在为django.request: Forbidden (Referer checking failed – no Referer.) 。 我正在使用AWS ELB(弹性负载平衡器),我的ec2(在autoscailing组)和Gunicorn上的NGINX。 AWS ELB侦听器设置如下(仅限HTTPS): elb https只监听器设置 NGINX设置如下: user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent […]

什么是REST风格的Web服务最具扩展性和高性能的Amazon Web服务(AWS)configuration?

我正在构build一个asynchronous的RESTful Web服务,我试图找出最具扩展性和高性能的解决scheme。 最初,我计划使用FriendFeedconfiguration,使用一台运行nginx的机器来承载静态内容,充当负载平衡器,并且充当运行Tornado web服务器的四台机器的反向代理以用于dynamic内容。 build议在四核机器上运行nginx,在单核机器上运行每个Tornado服务器。 amazon web services(AWS)似乎是最经济和灵活的托pipe服务提供商,所以这里是我的问题: 在AWS上,我只能findc1.medium(双核CPU和1.7 GB内存)实例types。 那么这是否意味着我应该在c1.medium上运行一个nginx实例,在m1.small(单核CPU和1.7 GB内存)上运行两个Tornado服务器? 如果我需要扩展,我将如何链接这三个实例到另外三个实例在相同的configuration? )。在S3存储桶中托pipe静态内容更有意义。 nginx仍然会托pipe这些文件? 2b)如果不是,性能会受到没有nginx托pipe它们的影响吗? 2c。)如果nginx不会托pipe静态内容,那么它实际上只是作为一个负载平衡器。 这里有一篇比较不同云configuration性能的文章,并对负载平衡器进行了说明:“HaProxy和Nginx都在第7层转发stream量,所以它们由于SSL终止和SSL重新协商而具有较低的可扩展性,相比之下,Rock forwards第4层stream量没有SSL处理开销“。 你是否build议将nginx作为负载平衡器replace为在第4层操作的负载均衡器,还是将Amazon的Elastic Load Balancer的性能提高到足够高?

Elastic Beanstalk Httpredirect到https

我知道这个问题之前已经被问过了,但是似乎没有任何东西可以为我工作。 我已经尝试了多种不同的东西,比如这些问题中描述的答案: 如何获得Elastic Beanstalk nginx支持的代理服务器自动从HTTPredirect到HTTPS? 将http的EC2 elb从httpredirect到https 他们似乎没有任何工作。 我是aws noob,所以我不完全确定如何编辑configuration文件 – 或者如果我做错了什么。 我的设置如下: Route 53指向Elastic Beanstalk(nginx) 具有ACM证书的ELB端口configuration (使用tcp / ssl,因为它使我的websockets工作) 在端口8080上的nodejs应用程序 我的.ebextensions文件夹中的当前nginx.config文件(从这篇文章得到这个): files: "/tmp/deployment/config/#etc#nginx#conf.d#00_elastic_beanstalk_proxy.conf" : mode: "000755" owner: root group: root content: | upstream nodejs { server 127.0.0.1:8081; keepalive 256; } server { listen 8080; set $fixedWWW ''; set $needRedir 0; # nginx does not […]

在Elastic Load Balancer下运行独angular兽或gunicorn的nginx infront

我有一个非常简单的问题。 Nginx确实对像Gunicorn和Unicorn这样的HTTP服务器进行了反向代理缓冲。 但是,如果我有一个Elastic Load Balancer(由Amazon Web Services提供,也称为ELB),在我的应用程序服务器前面运行nginx有什么意义吗? Request—-> ELB ——-> NGINX——-> UNICORN/GUNICORN HTTP SERVER

在Heroku上部署Django /静态文件的正确方法

我目前正在研究一个Django应用程序,并计划部署Heroku和gunicorn。 我一直在阅读一些文档,我对使用nginx或Amazon S3来支持静态文件并使Djangoclosuresdebugging模式的正确方法感到困惑。 如果我用gunicorn使用Nginx,那么所有的静态文件都存储在Heroku中,如果是这样,如何处理用户上传的文件给Heroku有限的存储空间? 如果我使用S3来托pipe我的静态文件,那么应用程序是否仍然需要使用nginx,或者出于安全的目的,我是否仍然需要它? 你会推荐什么? 我一直在寻找一个涉及Heroku和nginx的教程,但到目前为止还没有find。 提前致谢。

处理多个并发大型上传

我在Laravel中创build了一个API,允许用户上传包含图像的zip文件。 一旦档案被上传,它被发送到S3,然后由另一个服务接收到处理。 我发现,随着更大的档案PHP不断的内存限制。 我知道我可以提高限制,但感觉像一个滑坡,特别是当我想象多个用户上传大文件。 我目前的解决scheme是完全放弃我的服务器,并允许客户端直接上传到S3。 但这种感觉非常不安全,容易受到垃圾邮件/ DDOS攻击。 我想我真正希望的是如何优雅地处理这个问题。 有没有更适合这种处理/并发的语言? 我可以很容易地把上传过程产生出来。 我关于S3的问题是没有根据的吗? 我知道以前的请求需要签名,但生成的令牌是可重用的,所以它们是可以被利用的。 在线资源说NGINX是一个更好的解决scheme,因为它有一个上传模块,直接上传到文件,因为apache似乎试图在内存中做很多事情(不是100%肯定)。 如果我诚实的话,我很不清楚整个PHP上传过程。 请求是否直接存储在内存中? 即10个50mb的上传将导致内存限制exception对我的500MB的RAM