静态网站

应用场景

  • 文件服务
  • 静态网站

静态网站的配置

配置如下:

nginx.conf
worker_processes  1;
pid        nginx.pid;

events {
    worker_connections  1024;
    multi_accept on;
}


http {
    default_type  application/octet-stream;


    sendfile        on;
    keepalive_timeout  100;

     server {
        listen 80;
        charset utf-8,gbk;
        server_name localhost;

        location /{
            root /opt/;
		    autoindex on;
		    autoindex_localtime on;
	    }

	    index index.html; # 显示首页

        #静态文件访问
	    location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|pdf|txt) {
            root /opt;
        }
    }
}

  • root: 表示网站根目录
  • autoindex: on 显示目录, off 关闭目录展示

同一个IP:PORT指向不同的地址

应用场景

  • 移动端+PC端两套网站,部署在同一台服务器上

配置

配置如下:

nginx.conf
    server {
            listen 80;
            charset utf-8;
            server_name pc.com;

            location /{
                    proxy_pass http://127.0.0.1:8081;
                    proxy_redirect default;
            }
    }
    server {
            listen 80;
            charset utf-8;
            server_name h5.com;

            location / {
                    proxy_pass http://127.0.0.1:8082;
                    proxy_redirect default;
            }
    }

    server {
        listen 8081;
        location /{
            root   /website/pc;
            # 默认打开 index.html
            index  index.html index.htm;
        }
    }
    server {
        listen 8082;
        location / {
            root   /website/h5;
            # 默认打开 index.html
            index  index.html index.htm;
        }
    }

  • http公共部分的配置我隐去了,参考上面静态网站配置
  • pc.com和h5.com两个域名都解析在同一个ip上(也就是网站部署所在的服务器ip)
  • 不同域名,配置同样的listen, nginx允许这样配置
  • 在各自的server下配置location /, 反向代理到对应的端口上
    • 8081端口,是pc网站
    • 8082端口,是h5网站
  • 访问pc.com, 实际上会访问http://127.0.0.1:8081
  • 访问h5.com, 实际上会访问http://127.0.0.1:8082

--完--