Nginx设置虚拟主机,nginx反向代理

Nginx设置虚拟主机

1.Nginx设置虚拟主机有那几种方式:
基于端口号,域名和 IP地址

基于端口号配置虚拟主机

基于端口号来配置虚拟主机。原理就是Nginx监听多个端口,根据不同的端口号,来区分不同的网站。
我们有二个位置写配置文件一个主文件 etc/nginx/nginx.conf,一个子文件夹etc/nginx/conf.d/(有个默认的default.conf文件)
我在子文件夹中重新创建一个 .conf 文件,名字随便起。
内容为监听8001端口:

server{
        listen 8001;
        server_name localhost;
        root /usr/share/nginx/html/html8001;
        index index.html;
}

在创建HTML常用文件夹/usr/share/nginx/html/下,创建html用来浏览!而另一个.conf子文件默认是来监听80端口的,可根据需求做出修改!

基于IP配置虚拟主机

与端口配置方法一致,配置中用IP地址代替localhost。

server{
        listen 80;
        server_name 你的公网ip地址;
        root /usr/share/nginx/html/html8001;
        index index.html;
}
基于域名配置虚拟主机

域名个人感觉还是很便宜的,最便宜的才几块钱,是一年哦!作为程序员有自己独特的域名,不过是学习还是测试都有所帮助,配置.conf文件:

server{
        listen 80;
        server_name nginx2.ioshan.com;
        location / {
                root /usr/share/nginx/html/html8001;
                index index.html index.htm;
        }
}

用不同的域名指向服务地址的页面,常用来访问不同的项目,地址可以根据具体而定, 其中location / 全局配置访问地址,详细页面的信息。

Nginx反向代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

代理就是在Client端和Server端之间增加一个提供特定功能的服务器

反向代理的用途和好处
  1. 安全性:正向代理的客户端能够在隐藏自身信息的同时访问任意网站,这个给网络安全代理了极大的威胁。因此,我们必须把服务器保护起来,使用反向代理客户端用户只能通过外来网来访问代理服务器,并且用户并不知道自己访问的真实服务器是那一台,可以很好的提供安全保护。
  2. 功能性:反向代理的主要用途是为多个服务器提供负债均衡、缓存等功能。负载均衡就是一个网站的内容被部署在若干服务器上,可以把这些机子看成一个集群,那Nginx可以将接收到的客户端请求“均匀地”分配到这个集群中所有的服务器上,从而实现服务器压力的平均分配,也叫负载均衡。
最简单的反向代理

现在我们要访问http://nginx2.ioshan.com然后反向代理到ioshan.com这个网站。可以直接到.conf进行修改。

server{
        listen 80;
        server_name nginx2.ioshan.com;
        location / {
               proxy_pass http://ioshan.com;
        }
}

一般我们反向代理的都是一个IP,但是我这里代理了一个域名也是可以的。其实这时候我们反向代理就算成功了,我们可以在浏览器中打开http://nginx2.ioshan.com来测试一下。文章中的域名都已经别关闭了,只是在写文章测试用的!

其它反向代理指令
  • proxy_set_header :在将客户端请求发送给后端服务器之前,更改来自客户端的请求头信息。
  • proxy_connect_timeout:配置Nginx与后端代理服务器尝试建立连接的超时时间。
  • proxy_read_timeout : 配置Nginx向后端服务器组发出read请求后,等待相应的超时时间。
  • proxy_send_timeout:配置Nginx向后端服务器组发出write请求后,等待相应的超时时间。
  • proxy_redirect :用于修改后端服务器返回的响应头中的Location和Refresh。

当然还有很多。

你可能感兴趣的:(服务器)