搭建nigx(配置文件,負載均衡配置)

1安裝依賴包javascript

yum install -y wget  
yum install -y vim-enhanced  
yum install -y make cmake gcc gcc-c++  

yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

2上傳包
這裏寫圖片描述php

解壓縮
[root@xiniu nginx]# ls
nginx-1.10.2.tar.gz
[root@xiniu nginx]# tar -zxvf nginx-1.10.2.tar.gz

進行configure配置

[root@xiniu nginx]# ls
nginx-1.10.2  nginx-1.10.2.tar.gz
[root@xiniu nginx]# cd nginx-1.10.2
[root@xiniu nginx-1.10.2]# ./configure --prefix=/usr/local/nginx

打印內容
checking for struct dirent.d_namlen ... not found
checking for struct dirent.d_type ... found
checking for sysconf(_SC_NPROCESSORS_ONLN) ... found
checking for openat(), fstatat() ... found
checking for getaddrinfo() ... found
checking for PCRE library ... found
checking for PCRE JIT support ... found
checking for md5 in system md library ... not found
checking for md5 in system md5 library ... not found
checking for md5 in system OpenSSL crypto library ... found
checking for sha1 in system md library ... not found
checking for sha1 in system OpenSSL crypto library ... found
checking for zlib library ... found
creating objs/Makefile

Configuration summary
  + using system PCRE library
  + OpenSSL library is not used
  + md5: using system crypto library
  + sha1: using system crypto library
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

3編譯安裝css

執行
[root@xiniu nginx-1.10.2]# make && make install
make -f objs/Makefile
make[1]: 進入目錄「/usr/local/nginx/nginx-1.10.2」
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -I src/core -I src/event -I src/event/modules -I src/os/unix -I ob
js \    -o objs/src/core/nginx.o \

.........
    '/usr/local/nginx/conf/scgi_params.default'
test -f '/usr/local/nginx/conf/nginx.conf' \
    || cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf'
cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf.default'
test -d '/usr/local/nginx/logs' \
    || mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/logs' \
    || mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/html' \
    || cp -R html '/usr/local/nginx'
test -d '/usr/local/nginx/logs' \
    || mkdir -p '/usr/local/nginx/logs'
make[1]: 離開目錄「/usr/local/nginx/nginx-1.10.2

4檢查nginx是否已經正常啓動,看到以下信息說明正常啓動html

[root@xiniu nginx-1.10.2]# /usr/local/nginx/sbin/nginx
[root@xiniu nginx-1.10.2]# ps -ef | grep nginx
root       7622      1  0 15:49 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody     7623   7622  0 15:49 ?        00:00:00 nginx: worker process
root       7625   2865  0 15:49 pts/1    00:00:00 grep --color=auto nginx
[root@xiniu nginx-1.10.2]# 

測試
輸入:
linux的IP:80
這裏寫圖片描述java

nginx配置
在nginx目錄下進入conf目錄,該目錄下有個nginx.conf文件,這是nginx最重要的配置文件node

#user nobody; 

#開啓進程數 <=CPU數 
worker_processes  1;  

#錯誤日誌保存位置 
#error_log logs/error.log; 
#error_log logs/error.log notice; 
#error_log logs/error.log info; 

#進程號保存文件 
#pid logs/nginx.pid; 

#每一個進程最大鏈接數(最大鏈接=鏈接數x進程數)每一個worker容許同時產生多少個連接,默認1024 
events {  
    worker_connections  1024;  
}  


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壓縮 
    #gzip on; 

    server {  
        #監聽端口,默認是80端口 
        listen       80;  
        #監聽域名 
        server_name  localhost;  

        #charset koi8-r; 

        #nginx訪問日誌放在logs/host.access.log下,而且使用main格式(還能夠自定義格式) 
        #access_log logs/host.access.log main; 

        #若是沒有location更明確的匹配訪問路徑的話,訪問請求都會被該location處理。 
        location / {  
            #root指定nginx的根目錄爲/usr/local/nginx/html 
            root   html;  
            #默認訪問文件,歡迎頁先去html目錄下找index.html,若是找不到再去找index.htm 
            index  index.html index.htm;  
        }  

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

        #錯誤頁面及其返回地址,錯誤碼爲500、50二、50三、504都會返回50.html錯誤頁面。 
        error_page   500 502 503 504  /50x.html;  
        #location後面是"="的話,說明是精確匹配 
        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 ssl; 
    # server_name localhost; 

    # ssl_certificate cert.pem; 
    # ssl_certificate_key cert.key; 

    # ssl_session_cache shared:SSL:1m; 
    # ssl_session_timeout 5m; 

    # ssl_ciphers HIGH:!aNULL:!MD5; 
    # ssl_prefer_server_ciphers on; 

    # location / { 
    # root html; 
    # index index.html index.htm; 
    # } 
    #} 

}

測試配置
當訪問www.test.com:7080,實際訪問127.0.0.1:8090linux

#user nobody;
worker_processes  1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
    worker_connections  1024;
}


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;

    server_names_hash_bucket_size 128;

    client_max_body_size 8m;

    client_header_buffer_size 32k;

    large_client_header_buffers 4 64k;

    #sendfile on;

    tcp_nopush on;
    tcp_nodelay on;


   # keepalive_timeout 60;

    client_header_timeout 10;

    client_body_timeout 10;

    send_timeout 10;


    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;


    gzip on; 
    gzip_min_length 1k; 

    gzip_buffers 4 16k;

    gzip_http_version 1.0;

    gzip_comp_level 2;

    gzip_types text/plain application/x-javascript text/css application/xml;

    gzip_vary on;

    #gzip on;

    upstream test{
            server 127.0.0.1:8080;
       }

    #訪問:www.test.com:7080
    server {
        listen       7080;
        server_name  www.test.com;


    #映射:127.0.0.1:8090
        location / {
            proxy_pass http://test;
        }

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




    }






}

負載配置nginx

upstream oms_server {
        ip_hash;
        server 172.16.x.x;
        server 172.16.x.x;
        server 172.16.x.x;
        }

    server {
        listen       80;
        server_name  www.xxx.com;

        #charset koi8-r;

        #access_log logs/host.access.log main;

        location / {
            proxy_pass  http://oms_server;
            proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
            proxy_max_temp_file_size 0;
            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;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

}

具體的可看
http://www.javashuo.com/article/p-uaicjyfi-cu.htmlvim

相關文章
相關標籤/搜索