史上最简单的Nginx反向代理配置

Posted 企鹅狗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了史上最简单的Nginx反向代理配置相关的知识,希望对你有一定的参考价值。

史上最简单的nginx反向代理配置

基本信息

操作系统环境centos6

操作步骤

  • 搜索nginx安装包

yum search nginx

返回

collectd-nginx.x86_64 : Nginx plugin for collectd
munin-nginx.noarch : Network-wide graphing framework (cgi files for nginx)
nginx-all-modules.noarch : A meta package that installs all available Nginx modules
nginx-filesystem.noarch : The basic directory layout for the Nginx servernginx-mod-http-geoip.x86_64 : Nginx HTTP geoip module
nginx-mod-http-image-filter.x86_64 : Nginx HTTP image filter module
nginx-mod-http-perl.x86_64 : Nginx HTTP perl module
nginx-mod-http-xslt-filter.x86_64 : Nginx XSLT module
nginx-mod-mail.x86_64 : Nginx mail modules
nginx-mod-stream.x86_64 : Nginx stream modules
pcp-pmda-nginx.x86_64 : Performance Co-Pilot (PCP) metrics for the Nginx Webserver
nginx.x86_64 : A high performance web server and reverse proxy server
  Name and summary matches only, use "search all" for everything.

上面nginx.x86_64就是我们要的安装包

  • 安装nginx

yum install -y nginx.x86_64

这样nginx就安装好了,是不是很简单

  • 配置nginx 查找nginx安装位置

whereis nginx

返回

nginx: /usr/sbin/nginx /etc/nginx /usr/lib64/nginx /usr/share/nginx /usr/share/man/man3/nginx.3pm.gz /usr/share/man/man8/nginx.8.gz

其中/etc/nginx就是配置目录,切换到配置目录

cd /etc/nginxll

返回

total 68
drwxr-xr-x 2 root root 4096 Jul  2 10:22 conf.d
drwxr-xr-x 2 root root 4096 May 19 15:56 default.d
-rw-r--r-- 1 root root 1077 Oct 31  2016 fastcgi.conf
-rw-r--r-- 1 root root 1077 Oct 31  2016 fastcgi.conf.default
-rw-r--r-- 1 root root 1007 Oct 31  2016 fastcgi_params
-rw-r--r-- 1 root root 1007 Oct 31  2016 fastcgi_params.default
-rw-r--r-- 1 root root 2837 Oct 31  2016 koi-utf
-rw-r--r-- 1 root root 2223 Oct 31  2016 koi-win
-rw-r--r-- 1 root root 3957 Oct 31  2016 mime.types
-rw-r--r-- 1 root root 3957 Oct 31  2016 mime.types.default
-rw-r--r-- 1 root root 1655 Jun 29 23:38 nginx.conf
-rw-r--r-- 1 root root 2656 Oct 31  2016 nginx.conf.default
-rw-r--r-- 1 root root  636 Oct 31  2016 scgi_params
-rw-r--r-- 1 root root  636 Oct 31  2016 scgi_params.default
-rw-r--r-- 1 root root  664 Oct 31  2016 uwsgi_params
-rw-r--r-- 1 root root  664 Oct 31  2016 uwsgi_params.default
-rw-r--r-- 1 root root 3610 Oct 31  2016 win-utf

上面nginx.conf就是我们要配置的文件

vi nginx.conf

文件内容

user  nobody;   #worker进程工作用户worker_processes  8;  #worker进程数worker_cpu_affinity 0001 0010 0100 1000;error_log  /var/log/nginx/error.log warn;  #错误日志目录pid        /var/run/nginx.pid;    #pid文件位置worker_rlimit_nofile 65536; #一个worker进程打开的最多文件描述符events {    use epoll;          #采用epoll事件处理模型
    worker_connections  65535; #单个worker进程允许客户端最大连接数
     multi_accept on;    #尽可能多的接受请求}http {    include       /etc/nginx/mime.types;    default_type  application/octet-stream;    server_tokens off;    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  /var/log/nginx/access.log  main;    sendfile        on;         #开启高效文件传输模式
    tcp_nopush     on;          #需在sendfile开启模式下才有效,防止网络阻塞,减少网络报文数量(将响应头和报文一起发)

    keepalive_timeout  65;      #客户端保持连接的最大时间
    send_timeout 20;            #响应客户端超时时间,如果超过这个时间,客户端没任何活动,关闭连接

    client_max_body_size 10m;   #上传文件大小限制

    gzip  on;    gzip_min_length 1k;    #大于1kB的文件才开始压缩,不然不压缩。
    gzip_buffers    4 64k; #压缩文件缓冲区,共4个缓冲区,每个16kB
    gzip_comp_level 6; #压缩比例,1-9数值越大,压缩比例越大,传输越快,但越耗cup
    gzip_types text/css application/javascript; #用来指定压缩类型


    include /etc/nginx/conf.d/*.conf;   #扩展配置}

在上面配置中,我们把nginx站点的配置文件放到/etc/nginx/conf.d/下,以.conf为后缀,如:

vi /etc/nginx/conf.d/www.conf

内容如下

upstream back_end_server {       server 172.25.10.127:80 max_fails=3 fail_timeout=30s;       server 172.25.10.129:80 max_fails=3 fail_timeout=30s;       server 172.25.10.130:80 max_fails=3 fail_timeout=30s;       server 172.25.10.131:80 max_fails=3 fail_timeout=30s;       server 172.25.10.128:80 max_fails=3 fail_timeout=30s;
}server {        listen 80;        server_name www.cheergo.com;        location / {                proxy_pass http://back_end_server;
        }        access_log off;
}
  • 运行nginx

service restart nginx

大功告成,赶紧收藏转发吧!


以上是关于史上最简单的Nginx反向代理配置的主要内容,如果未能解决你的问题,请参考以下文章

史上最详细的Nginx 配置详解

史上最详细的Nginx负载均衡教程

Nginx反向代理实现负载均衡配置图解

Nginx入门:通俗理解反向代理和负载均衡,简单配置Nginx

nginx+tomcat简单反向代理+nginx监控

Nginx HTTP负载均衡和反向代理配置