美文网首页
工作中的nginx

工作中的nginx

作者: 先生_吕 | 来源:发表于2017-09-27 15:03 被阅读67次

    今天碰到一个nginx相关的需求,算是头一次在生产环境真实运用到这东西吧,许久以前看过相关教程,感觉已经忘完了,留个笔记吧!!!

    nginx的亮点在于:反向代理、负载均衡、动静分离

    反向代理

    这里不对反向代理做过多解释,直接看真实运用。

    (1):需求:在服务器tomcat部署web服务,通过反向代理访问该项目

    (2):环境:java1.7、tomcat7、nginx

    (3):启动tomcat、启动nginx并分别访问
    http://192.168.90.240/

    2017-09-27_140243.png

    http://192.168.90.240:8088/ruidong

    2017-09-27_141140.png

    (4):修改nginx配置文件,做项目映射
    在server下添加一个location映射即可

    2017-09-27_143256.png
    http {
        include       mime.types;
        default_type  application/octet-stream;
        #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
        #                  '$status $body_bytes_sent "$http_referer" '
        #                  '"$http_user_agent" "$http_x_forwarded_for"';
    
        #access_log  logs/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
    
        #gzip  on;
    
        #负载均衡设置(被下边引用)
       upstream github{
        server 127.0.0.1:88;#git安装地址
        server 127.0.0.1:88;
       }
    
        server {
            listen       80;
            server_name  localhost;
            #charset koi8-r;
            #access_log  logs/host.access.log  main;
            client_max_body_size 500m;
    
            location / {
                    proxy_pass http://github;#默认访问git
                    proxy_redirect off;
                    proxy_set_header Host $host;
                    proxy_set_header Host $proxy_host;
                    proxy_set_header X-Real_IP $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            }
            #项目反向代理配置
            location /ruidong {
                    proxy_pass http://localhost:8088/ruidong;
                    proxy_redirect default;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    }
    

    图片服务器

    nginx可以通过反向代理直接做图片服务器,而且配置简单高效,还可以做到负载均衡,跟上边的反向代理服务一样,同样是通过映射找到图片文件夹

    (1):先来看看我们的图片放在服务器的哪个目录下
    /home/images

    2017-09-27_150133.png

    (2):添加配置

    2017-09-27_144000.png
    #设置扩展名以.gif、jpg、jpeg、png结尾
            location ~ .*\.(gif|jpg|jpeg|png)$ {
                expires 24h;
                root /home/images/;#root根目录,即图片文件夹
                access_log /home/images/nginx/images.log;#图片日志,这里可以不配,但如果配了就要在对应目录下有此文件
                proxy_store on;
                proxy_store_access user:rw group:rw all:rw;#图片权限配置
                proxy_temp_path         /home/images/;#设置缓存文件夹
                proxy_redirect          off;
    
                proxy_set_header        Host 127.0.0.1;
                proxy_set_header        X-Real-IP $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                client_max_body_size    10m;
                client_body_buffer_size 1280k;
                proxy_connect_timeout   900;#设置连接超时时间
                proxy_send_timeout      900;#后端服务器数据回传时间(代理发送超时)
                proxy_read_timeout      900;#连接成功后,后端服务器响应时间(代理接收超时)
                proxy_buffer_size       40k;
                proxy_buffers           40 320k;
                proxy_busy_buffers_size 640k;
                proxy_temp_file_write_size 640k;#设置缓存文件夹大小
                if ( !-e $request_filename) {
                     proxy_pass  http://localhost:80;
                }
            }
    

    测试:http://192.168.90.240/15.png

    2017-09-27_150020.png

    到这里就结束了,是不是很简单!!!

    nginx相关配置简述:http://www.jianshu.com/p/ecec203952cb

    相关文章

      网友评论

          本文标题:工作中的nginx

          本文链接:https://www.haomeiwen.com/subject/bhruextx.html