nginx学习一

nginx 安装:
1、 ./configure
如果报错 error: C compiler cc is not found
如果没有安装就安装:yum install –y gcc
如果还报错看看是不是安装: yum install –y zlib zlib-devel
在这里插入图片描述
2、 安装
make

3、 make install
4、 安装完后可以查看到目录
在这里插入图片描述

5、 启动 nginx
进入 sbin 执行命令启动脚步
在这里插入图片描述

在这里插入图片描述

有以上提示说明 安装成功!

如果有修改配置执行命令: systemctl reload nginx 生效
查看ngix 状态 systemctl status nginx

nginx 的目录在:/usr/local/nginx/conf

http 是高级的网络协议,在TCP 协议之上。
tcp 协议是基础协议。
http 协议在数据传输过程中有预定,数据根据约定停止或继续传输。是有交互过程。

一个主机可以绑定多个域名,每个域名进入到不同的目录资源。

  1. 通过nginx 配置反向代理

关键参数 proxy_pass


...

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
       

        location / {
             proxy_pass http://www.baidu.com  # 反向代理参数,填写代理目标地址。如果不填www 可能会出现 地址栏地址变成目标地址。一般情况是代理地址。
            root   html;
            index  index.html index.htm;
        }
...

2.负载均衡

需要添加 upstream 参数:

...

  upstream  httpdls{  #负载的地址 默认轮询策略
          server  192.168.11.1  weight=8  down ; # weight 是权重  数值大表示请求的概率也越大。 down 表示下线,不作为负载
          server  192.168.11.1  weight=6  backup;# backup 表示备用,只有其他机器都挂了,才会启用这台机器
          server  192.168.11.1  weight=4;
          }



    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        proxy_pass  http://httpdls; #反向代理一个路由组地址

        location / { # / 优先级最低
            root   html;
            index  index.html index.htm;
        }
...

3, 负载均衡参数
如果不要参数 默认就是轮询机制。
weight 权重
down 下线
backup 备份机

轮询策略的弊端 session 会话无法保持
负载均衡其他的策略:

ip_hash 通过客户端的ip地址转发同一台服务器 来保持session 会话一致。但是ip 一改就不行了。
least_conn 最少连接访问
url_hash 因为hash 值会根据URL的变动而变动就会不能指定到同一台机器,无法保持会话。根据用户访问的url 定向转发请求
fair 根据后台服务响应时间转发请求

当你的应用是需要状态保存到session 中就要考虑session 一致问题。如果使用了无状态就不用考虑了,比如使用token 来认证,在轮询机制就不需要会话保持了。

4,ngix 反向代理静态资源。

一个项目会有很多的静态资源比如css ,js ,html 这些资源可以放到nginx html 目录下。并且通过nginx 配置来实现反向代理访问。

location /js{  # /js 比 / 的优先级高
    root html;
    index index.html index,htm; 
}

location /img{
    root html;
    index index.html index,htm; 
}
location /css{
    root html;
    index index.html index,htm; 
}

正则方式匹配:
location ~*/(css|img|js){
    root html;
    index index.html index,htm; 
}


配置完后就会直接访问nginx 的前端资源。

静态资源越往前放性能越好,如果使用了nginx 就可直接在nginx 返回静态资源不需要往后调用再返回到nginx.这样会开销大一点。
现在的tomcat 的性能与nginx 来比虽然比nginx 差但是相差不了太大。比较tomcat 升级了很多。

URLrewrite 可以通过代理,来隐藏地址栏的地址。

nginx 功能:
反向代理
负载均衡
静动分离
地址隐藏

所以叫网关服务器。
防盗链: 再次访问添加 referer

5,防盗链配置。
我的场景: 图片资源是在单独的一台服务器。 应用服务器页面通过链接方式访问图片加载图片。
如果图片的地址被拷贝到其他电脑也就会被访问。为了解决这个问题做一个防盗链配置,但是这个只能防一般的用户,一些爬虫的人通过一些配置还是可以欺骗服务器,对资源进行访问。

1,首先安装一台nginx 服务器用来反向代理应用服务器地址。
图片链接的地址也用nginx 的地址。
2,nginx 配置如下;

 server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

      
        location / {
	    
	    proxy_pass  http://192.168.200.104:5001; #系统应用地址
	    
            root   html;
            index  index.html index.htm;
        }

         location ~*(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ {
	     proxy_pass  http://192.168.200.104:5000; #文件图片服务器地址
	    valid_referers 192.168.200.108; #nginx 服务器的地址
	   if ($invalid_referer) { #如果图片链接不是本站的就报403
	    return 403;
	    }
	    
            root   html;
            index  index.html index.htm;
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值