同一EC2实例上的静态网站和节点服务器

萨利姆·艾哈迈德(Saleem Ahmed)

我可以提供静态网站内容并在同一ec2实例上运行节点服务器吗?我的ec2实例是一个t2.micro ubuntu 14.04映像。完成的任务:安装了Nodejs,npm。Nginx已安装配置。设置../../www/目录以通过nginx提供内容。

我有一个域xyz.com将其@值指向与实例关联的弹性IP。

将网站文件上载到目录。因此,现在如果我访问xyz.com,我将通过nginx获得我的网站内容。凉爽的。

但是无法访问节点应用程序。我的节点应用程序在端口3000上运行。

尝试添加

server {

root /var/www;
index: example.js

server_name _; 

location / {
    proxy_pass http://127.0.0.1:3000;
    expires 30d; # not required
    access_log off;
}

}

/ etc / nginx / sites-可用于指向节点服务器。

凉爽的 。现在xyz.com运行我的节点应用程序。但是现在无法访问任何网站内容:(并且,如果我尝试访问在Express路由中定义了路由的任何API,则服务器端将没有日志。只有nginx 404错误,例如:

xyz.com/myroute -404 nginx错误,适用于localhost:3000 / myroute
xyz.com/-返回为/设置的默认路由

xyz.com:3000-不打节点服务器。没有日志。

许多在线资源建议重新路由安全区域中的端口80,以在运行节点的端口上提供内容。我可以用这种方式运行节点应用程序,但同样,整个网站也必须通过节点提供服务。

我想单独运行它们。

xyz.com-为我服务的网站

xyz.com:3000-允许我命中节点服务器是否应该将应用程序和网站分别放在两个不同的实例上?如何路由?

天生

嗨,我正在运行类似的设置,但是使用Jetty服务器而不是Node。

下面是我的配置;

server {
    listen 80;

    root /var/www/html/;
    index index.php index.html index.htm;

    server_name my_domain;

    location / {
            try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
            try_files $uri /index.php =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name                                ;
            include fastcgi_params;
    }

    location /app {
            proxy_pass    http://localhost:8080;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded_For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
    }
}

据我了解,您仅需将位置/ app更改为您的应用程序路径,并且显然可以将proxy_pass指向正确的端口。

解决此问题的另一种方法是代理传递子域,并在nginx中具有2个虚拟服务器,例如app.mydomain.com和app2.mydomain.com。对于这种设置,请看一下;nginx反向代理多个后端

我相信您正在寻找我上面的那种设置。祝你好运。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在同一Ec2实例上运行Splash服务器和Scrapy蜘蛛

无法连接到在 aws ec2 实例的节点服务器上运行的网站。

节点服务器和npm未在AWS的Windows 12 EC2实例上运行

使用同一MySQL服务器的父级和克隆ec2实例?

无法访问托管在 EC2 实例上的简单节点 Web 服务器

同一域上的CloudFront静态网站和EC2 API

在“ provisioner”块上的AWS EC2实例上运行Hashicorp Vault服务器

使用条纹在网站的亚马逊EC2服务器上设置环境变量

同一服务器实例上多个静态站点的 Nginx 配置

无法连接到 ec2 实例上的 Tomcat 服务器

如何在EC2实例上打开Web服务器端口

从EC2服务器上安装的phpMyAdmin连接到RDS实例

在EC2实例上运行IPython Notebook服务器开始

带有ubuntu服务器的Amazon EC2实例上的永久桌面

向托管在 AWS EC2 实例上的服务器发送 HTTP 请求

在端口8787上运行RStudio的EC2服务器实例超时

无法访问新AWS EC2实例上的Apache服务器

在 ec2 实例上配置 syslog-ng 服务器

Amazon Linux EC2上的PHP服务器

在AWS EC2上设置SocketIO服务器

在Amazon EC2上运行Websocket服务器

在Amazon ec2 Ubuntu服务器上挂载和外部硬盘

同一台服务器和epmd上的多个RabbitMQ实例

生产上的AWS EC2实例Rails 4错误但服务器上没有

EC2 t1.micro-我可以在节点服务器上正常运行一个mongodb吗?

只允许 EC2 实例访问 S3 上的静态网站

EC2上的节点服务器只能通过IP地址工作,而不能通过域名工作

如何将Amazon Certificate与EC2服务器上运行的neo4j实例链接?

在EC2实例上上传到S3 TransferUtility.UploadAsync时,“与服务器的连接异常终止”