初识Nginx

应用场景

  • http服务器,使用nginx做静态服务器、图片服务器
  • 虚拟主机配置,将一台服务器拆分成多个网站部署
  • 反向代理,可以隐藏真实的 ip 访问地址
  • 配建接口网关(解决跨域问题)
  • 实现网站的动静分离
  • 防止DDos,防盗链
  • 配置缓存

配置文件结构说明

仅仅有server,后面再进行补充

# 内部创建服务器、监听端口
server {
	    #server 监听的端口号
        listen       80;
	    #服务器name 配置域名
        server_name  solo.ning.com;
		#匹配所有url地址
        location / {
			# 监听拦截后 跳转根目录 资源目录文件 html文件
			root html
			# 默认首页 index.html
			index index.html index.htm;
        }
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

Nginx虚拟主机配置

1、基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站

2、基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站,外部网站的管理后台

3、基于ip的虚拟主机,几乎不用。

基于虚拟主机配置域名

在hosts文件中添加 bbs.ning.com、www.ning.com 都映射到127.0.0.1上(下面默认,更改的话,会有说明)

 server {
        listen       80;
        server_name  bbs.ning.com;
        location / {
			root data/bbs; # 在根目录中创建,index的内容就一<h1>BBS</h1>
			index index.html index.htm;
        }
	}

 server {
        listen       80;
        server_name  www.ning.com;
        location / {
			root data/www; # 在根目录中创建,index的内容就一<h1>www</h1>
			index index.html index.htm;
        }
}

效果分别为

基于端口的虚拟主机

server {
        listen       8080;
        server_name  bbs.ning.com;
        location / {
			root data/bbs; # 在根目录中创建,index的内容就一<h1>BBS</h1>
			index index.html index.htm;
        }
	}

 server {
        listen       8081;
        server_name  bbs.ning.com; #此处重复没问题
        location / {
			root data/www; # 在根目录中创建,index的内容就一<h1>www</h1>
			index index.html index.htm;
        }
}

效果:

反向代理的配置

     ### 当客户端访问nginx 的时候,拦截域名访问为www.itmayiedu.com,监听的端口号为80,匹配所有url地址
	###  最终查找/data/www目录文件地址
    server {
	## server 监听的端口号
       listen       80;
	   ###服务name 配置域名,配置域名
       server_name  www.itmayiedu.com; # 
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        ###location 匹配所有url地址
    location / {
		###nginx 反向代理转发的真实ip地址
		proxy_pass http://127.0.0.1:8080;
         index  index.html index.htm;
        }
    }

访问 www.itmayiedu.com 就给转到 http://127.0.0.1:8080 上。在浏览器上输入www.itmayiedu.com,其实也是有端口的,端口就是80,默认端口,只是省略了而已。

原文地址:https://www.cnblogs.com/kingning/p/11070814.html