• nginx 代理配置文件实例


    安装NGINX前要先安装PCRE正则表达式库:

    ./configure --prefix=/usr/local/pcre 出现以下错误  (一般./configure即可, 笔者这里是直接./configure命令)
    configure: error: You need a C++ compiler for C++ support.  (解决办法: yum install -y gcc gcc-c++)
    make
    make install

     

    下面开始安装NGINX:

    安装NGINX:
    yum install libtool
    yum install zlib zlib-devel

    yum install openssl

    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
    make
    make install

    检查是否安装成功: 
    cd  /usr/local/nginx/sbin
    ./nginx -t
    ./nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
    从错误看出是缺少lib文件导致,进一步查看下:
    ldd $(which /usr/local/nginx/sbin/nginx)
    Linux下安装NGINX
    可以看出 libpcre.so.1 => not found 并没有找到,进入/lib目录中手动链接下(这里的/lib目录指的是系统的根目录下面的lib目录)
    32位系统 [root@mysqlslave lib]# ln -s /usr/local/lib/libpcre.so.1 /lib
    64位系统 [root@mysqlslave lib]# ln -s /usr/local/lib/libpcre.so.1 /lib64

    结果显示:
    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

    启动nginx:
    cd /usr/local/nginx/sbin 目录下面 输入 ./nginx  启动nginx
    ps -ef|grep nginx
    Linux下安装NGINX
    netstat -nap|grep :80   //查看80端口被哪个进程占用
    service iptables stop   //把防火墙打开,否则nginx不能被访问

    --------------------------------------------------------------------------------------------------

    安装完nginx后需要配置监听的IP地址和端口,笔者这里是针对memcached+tomcat6做的配置,进入nginx的安装目录,笔者这里是/usr/local/nginx/conf这个目录,打开nginx.conf这个文件做如下修改:

    [root@mysqlmaster conf]# less nginx.conf

    #user  nobody;

    #user www www;

    worker_processes  1;

    #error_log  logs/error.log;

    #error_log  logs/error.log  notice;

    #error_log  logs/error.log  info;

    #pid        logs/nginx.pid;

    pid         /usr/local/nginx/logs/nginx.pid;

    events {

        use epoll;

        worker_connections  1024;

    }

    http {

        include       mime.types;

        default_type  application/octet-stream;

        

        include       /usr/local/nginx/conf/proxy.conf;   #一定要指向代理文件


        #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;

        tcp_nopush     on;


        #keepalive_timeout  0;

        keepalive_timeout  65;


        #gzip  on;


        upstream backend {

            #    ip_hash;

            server 192.168.0.93:8080;

            server 192.168.0.92:8080;

            #jvm_route $cookie_JSESSIONID|sessionid reverse;

        }

        server {

            listen       80;

            server_name  192.168.0.93;


            #charset koi8-r;

            charset utf-8;


            #access_log  logs/host.access.log  main;


            location / {

                root   html;

                index  index.html index.htm;

                proxy_pass http://backend;

                #proxy_redirect default;

                proxy_set_header XReal-IP $remote_addr;

                proxy_connect_timeout 10;

                #client_max_body_size 100m;

            }


            #error_page  404              /404.html;


            # redirect server error pages to the static page /50x.html

            #

            

            location ~^/(WEB-INF)/ {

               deny all;

            }


            error_page   500 502 503 504  /50x.html;

            location = /50x.html {

                root   html;

            }

            # proxy the PHP scripts to Apache listening on 127.0.0.1:80

            #

            #location ~ .php$ {

            #    proxy_pass   http://127.0.0.1;

            #}

            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

            #

            #location ~ .php$ {

            #    root           html;

            #    fastcgi_pass   127.0.0.1:9000;

            #    fastcgi_index  index.php;

            #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

            #    include        fastcgi_params;

            #}

            # deny access to .htaccess files, if Apache's document root

            # concurs with nginx's one

            #

            #location ~ /.ht {

            #    deny  all;

            #}

        }

        # another virtual host using mix of IP-, name-, and port-based configuration

        #

        #server {

        #    listen       8000;

        #    listen       somename:8080;

        #    server_name  somename  alias  another.alias;


        #    location / {

        #        root   html;

        #        index  index.html index.htm;

        #    }

        #}

        # HTTPS server

        #

        #server {

        #    listen       443;

        #    server_name  localhost;

        #    ssl                  on;

        #    ssl_certificate      cert.pem;

        #    ssl_certificate_key  cert.key;

        #    ssl_session_timeout  5m;

        #    ssl_protocols  SSLv2 SSLv3 TLSv1;

        #    ssl_ciphers  HIGH:!aNULL:!MD5;

        #    ssl_prefer_server_ciphers   on;

        #    location / {

        #        root   html;

        #        index  index.html index.htm;

        #    }

        #}

    }

    还需要在/usr/local/nginx/conf目录下手动建立proxy.conf文件,内容如下:

    proxy_redirect          off;

    proxy_set_header        Host $host;

    proxy_set_header        X-Real-IP $remote_addr;   #获取真实IP

    #proxy_set_header       X-Forwarded-For   $proxy_add_x_forwarded_for; #获取代理者的真实ip

    client_max_body_size    10m;

    client_body_buffer_size 128k;

    proxy_connect_timeout   90;

    proxy_send_timeout      90;

    proxy_read_timeout      90;

    proxy_buffer_size       4k;

    proxy_buffers           4 32k;

    proxy_busy_buffers_size 64k;

    proxy_temp_file_write_size 64k;

    --------------------------------------------------------------------------------------------------

    最后的/usr/local/nginx/conf目录下文件截图如下:

    Linux下安装NGINX

    --------------------------------------------------------------------------------------------------

    最后再多提一句日志的问题,nginx的默认日志目录为/usr/local/nginx/logs目录,这个目录下面有3个文件,分别是access.log,error.log和nginx.pid,其中error.log是错误日志,如果在启动nginx时遇到错误可以到这里来查看错误问题。


    --------------------------------------------------------------------------------------------------

    http://developer.51cto.com/art/201003/190944.htm

    http://www.cnblogs.com/netflu/archive/2010/01/07/1641142.html

    http://developer.51cto.com/art/201003/190944.htm

  • 相关阅读:
    设计模式---对象创建模式之抽象工厂模式(Abstract Factory)
    设计模式---对象创建模式之工厂方法模式(Factory Method)
    设计模式---单一职责模式之桥模式(Bridge)
    设计模式---单一职责模式之装饰模式(Decorator)
    设计模式---组件协作模式之观察者模式(Observer)
    设计模式---组件协作模式之策略模式(Strategy)
    设计模式---组件协作模式之模板方法模式(Tempalte Method)
    设计模式---设计模式的分类
    考勤相关资料
    HR-人力资源管理系统(Human Resources Management System,HRMS)
  • 原文地址:https://www.cnblogs.com/nktblog/p/4027146.html
Copyright © 2020-2023  润新知