nginx基本配置和应用

 

1.Nginx虚拟机配置

对于nginx虚拟机配置主要从三个方面入手:ip配置,域名配置,端口配置

打开nginx安装文件nginx/conf/nginx.conf

其中

listen为端口配置;

server_name为ip配置;

location为资源位置,默认为root  html,它代表的是nginx/html目录(可以看到目录里面包含50x.html和index.html文件),而index  index.html index.htm代表的是描述首页(所以访问localhost时出现Welcome to nginx!页面是因为这段配置的原因);

error_page表示错误页面;

例如配置如下server

server {
        listen       80;
        server_name  192.168.94.1;
        location / {
            root   html_local;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

可以看到,这里server_name的ip和root目录和默认的不一样,这里将ip设置为本机的ip地址,复制nginx的安装目录中html目录到当前目录并修改文件夹名称为html_local,对html_local中index.html文件稍作修改(和原文件不一样),重新启动nginx,浏览器访问设置的server_name,即192.168.94.1,结果如下:

但是ip是不方便记忆的,我们也可以进行域名配置,当然域名配置需要dns服务器,也可以修改本机hosts文件(通过域名配置访问时先查找本机hosts配置映射成ip,如果未访问到将会去dns服务器找到对应域名的ip,如果也未找到将访问失败)。

如果修改了端口号为xxx,访问时就为localhost:xxx。

2.Nginx反向代理

nginx反向代理主要用于集群方面;它的配置需要加上upstream tomcatServer,如下:

这里设置好tomcat路径,proxy_pass后的http://xxx中的xxx要和upstram xxx中的xxx一样。这里index 加上index.jsp是因为tomcat中首页是index.jsp

启动tomcat,然后启动nginx,浏览器输入localhost就可以访问tomcat了。

其实当我们访问localhost:80时,找到的配置是server,而配置proxy_pass后,将会找到配置的反向代理信息,最后访问的tomcat。如果需要访问两个tomcat可以在upstream tomcatServer中在配置一个server localhost:8881,这样就相当于一个简单的集群了。

3.负载均衡

所谓的负载均衡简单说就是将一台服务原来承受的压力由多台服务器来分配,可以在nginx中实现tomcat集群,通过weight来分配权重

如上就是端口8881的tomcat权重要多些,这样可以减少服务器的压力。

如下配置:

upstream test_backend {
    server 127.0.0.1:8084 weight=500;
	server 192.168.1.1:8084 weight=500;
       
}

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        root   /opt/software/test/test-front;
        index  index.html;
    }

    #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;
    }
}
	
server {
    listen       8011;
    server_name  127.0.0.1;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        proxy_set_header    Host             $http_host;        #保留代理之前的host
        proxy_set_header    X-Real-IP        $remote_addr; #保留代理之前的真实客户端ip
        proxy_set_header    x-forwarded-for  $remote_addr;
        proxy_set_header    HTTP_X_FORWARDED_FOR $remote_addr;    #在多级代理的情况下,记录每次代理之前的客户端真实ip
        proxy_set_header    HTTP_CLIENT_IP $remote_addr;
        proxy_set_header    Client_IP $remote_addr;
        proxy_pass          http://test_backend;
    }
}

上面配置了两个节点端口号分别为80和8011,80端口所指向的是静态路径,即前端,当浏览器中输入ip:80时,会指向服务器中/opt/software/test/test-front中index.html;而当请求为ip:8011则通过proxy_pass中http://test_backend找到对应的路径,即反向代理的配置信息。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值