Html 具有多个静态子域的Nginx和amazonec2

Html 具有多个静态子域的Nginx和amazonec2,html,css,nginx,amazon-ec2,Html,Css,Nginx,Amazon Ec2,目前有一个纯HTML网站,带有一些嵌入式JS代码,可以控制HTML文件之间的流以及图形配置细节。目录如下:html、css、字体、img、js、声音。在本地计算机上,我可以轻松打开HTML文件并浏览站点。我正在使用一个Ubuntu Amazon EC2实例,其中nginx作为反向代理。在实例上运行express.js控制的网站时,我通常只需编辑nginx配置文件并启动app/server.js文件。但是,我不确定如何处理一组静态HTML文件,这些文件包含CSS和其他相关资产。下面是我编写ngin

目前有一个纯HTML网站,带有一些嵌入式JS代码,可以控制HTML文件之间的流以及图形配置细节。目录如下:html、css、字体、img、js、声音。在本地计算机上,我可以轻松打开HTML文件并浏览站点。我正在使用一个Ubuntu Amazon EC2实例,其中nginx作为反向代理。在实例上运行express.js控制的网站时,我通常只需编辑nginx配置文件并启动app/server.js文件。但是,我不确定如何处理一组静态HTML文件,这些文件包含CSS和其他相关资产。下面是我编写nginx文件的尝试,但我不确定我的建议是否可行

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /var/www/website-dashboard/;
        index index.html;

        # Make site accessible from http://localhost/
        server_name localhost;

        location / {
          default_type "text/html";
          try_files $uri.html $uri $uri/ /index.html;
          access_log off;
        }
}

使用NGINX打开HTML文件应该不会有问题-问题是,考虑到您将NGINX作为反向代理运行,您将运行什么作为web服务器

如果您正在运行Apache,那么您需要确保它在8080端口上运行,并且下面的NGINX配置应该满足您的要求

upstream apachebackend  {
    server 127.0.0.1:8080; #apachebackend
}

server {
    listen       80 default;
    server_name  www.domain.com domain.com;
    access_log  /var/log/nginx/domain.com.access.log  main;
    error_log  /var/log/nginx/domain.com.error.log;
    root   /usr/share/nginx/html;
    index  index.html index.htm index.php;

## send request back to apachebackend ##
    location / {
        proxy_pass  http://apachebackend;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_redirect off;
        proxy_buffering on;
        proxy_buffers 12 12k;
        proxy_set_header        Host            $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $remote_addr;
    }
}

如果您将NGINX作为web服务器运行,则需要对其进行相应的设置。默认设置应该足够了,只需将文件放在默认vhost目录中,但我建议使用单独的目录和日志文件正确设置它。

坦率地说,我不确定默认情况下Amazon EC2实例上安装了什么。还有什么需要检查的吗?另外,假设我确实让apache作为web服务器运行,您能否简要解释一下为什么我需要将文件复制到/usr/share/nginx/html,而不是将它们保存在当前目录中。