Nginx详细配置(含负载均衡)

1.安装nginx服务

@安装pcre(Nginx的Urlrewrite模块依赖PCRE)

        # tar zxvf pcre-8.12.tar.gz

        # cd pcre-8.12

        # ./configure --prefix=/usr/local/webserver/pcre  (--prefix=路径,需要装到哪个路径下根据自己实际情况填写)

        # make 

#make install(默认到此结束,但有时候安装nginx会报错,需要继续执行以下内容)

复制到pcre目录

        # cp /usr/local/webserver/pcre/lib/libpcre.a  /usr/local/webserver/pcre/libpcre.a

        # cp /usr/local/webserver/pcre/lib/libpcre.la  /usr/local/webserver/pcre/libpcre.la

        # cp /usr/local/webserver/pcre/include/pcre.h  /usr/local/webserver/pcre/pcre.h

创建.libs文件夹

        # mkdir /usr/local/webserver/pcre/.libs

            复制到.lib文件夹

        # cp /usr/local/webserver/pcre/lib/libpcre.a  /usr/local/webserver/pcre/.libs/libpcre.a

      #cp  /usr/local/webserver/pcre/lib/libpcre.la  /usr/local/webserver/pcre/.libs/libpcre.la

      # cp  /usr/local/webserver/pcre/include/pcre.h  /usr/local/webserver/pcre/.libs/pcre.h

               

 

@安装nginx /usr/local/nginx

        # tar zxvf nginx-1.0.10.tar.gz

        # cd nginx-1.0.10

        #./configure --user=root(nignx所属的用户) --prefix=/usr/local/webserver/nginx (nginx安装路径) --with-http_stub_status_module  --with-http_ssl_module  --with-pcre=/usr/local/webserver/pcre(上面安装的pcre的路径)

        # vi objs/Makefile

                查找configure --disable-shared,删除./configure --disable-shared, 保存

        #make && make install

 

2. 进入nginx中的conf文件夹,配置nginx.conf

user  root;         #设置用户设置成root 用户赋给他最大权限

worker_processes  1; #工作进程,根据硬件调整,根据机器CPU可以配置多个进程

 

#error_log  logs/error.log; 

#error_log  logs/error.log  notice;

error_log  /var/log/nginx/nginx_error.log  crit; #错误日志,自由定义

pid        /usr/local/webserver/nginx/nginx.pid;   #pid文件位置,自由定义

 

 

events {

    use epoll;  #指定事件响应模式为为高效的 poll 模式

    worker_connections  51200;  #工作进程的最大连接数量,根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就可以

}

 

 

http {

    include       mime.types;

default_type  application/octet-stream;

#default_type  text/html;   #根据实际情况而定用哪种格式

 

    #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的负载均衡(如果不需要可以不配置)weight是权重,可以根据机器配置定义权重。据说nginx可以根据后台响应时间调整。后台需要多个web服务器。

   upstream test{

      #这里指定多个源服务器,ip:端口,80端口的话可写可不写

     server 192.168.0.2:7001  weight=2;

     server 192.168.0.2:7002  weight=3;

# weight为权重,代表请求分发的百分比,默认为 1. 上述配置,第一台机器的权重为

2/5 即将 40%的请求分给7001 端口.

 

   }

      # Server 节点就是一个虚拟主机

    server {

        listen       80;(nginx监听的端口)

        server_name  192.168.0.2;(nginx过滤的ip或者域名)

        location / {

            root   /apps/FSM_CMS;(响应的服务包存放位置)

            index  index.html index.jsp;(默认的响应界面)

        }

(静态文件,nginx自己处理)

        location    ~* \.(gif|jpg|png|bmp|ico|rar|css|js|zip|txt|flv|swf|mid|doc|ppt|xls|pdf|mp3|wma)$ {

      

            root /apps/FSM_CMS/;(静态文件存放位置)

        # expires 30d; (过期时间,30,可适量调整)

                            }      

location ~ (\.jsp)|(\.do) {

    proxy_pass  http://192.168.1.1:8080/; #.jsp.do的请求转发给weblogic处理

 

            proxy_set_header    X-Real-IP  $remote_addr; #保留客户端请求的真实 IP 地址,用于某些访问统计

            proxy_set_header    Host       $host;  #保留客户端请求的域名信息

            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

            proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小

            proxy_buffers 4 32k;  #proxy_buffer缓冲区,网页平均在32k以下的话,这样设置

            proxy_busy_buffers_size 64k;  #高负荷下缓冲大小 proxy_buffers*2

        proxy_temp_file_write_size 64k;

#设定缓存文件夹大小,大于这个值,将从 upstream 服务器当代理下载的文件超过该参数设置的大小,nginx会先将文件写入临时目录 (缺省为

  nginx 安装目下/proxy_temp   目录),

            proxy_max_temp_file_size 512m;

        }

 

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

        }

 

             #禁止访问 .htxxx 文件

        #location ~ /\.ht {

        #    deny  all;

        #}

    }

}

 

 3) 查看配置是否成功

/usr/local/webserver/nginx/sbin/nginx  –t  –c  /usr/local/webserver/nginx/conf/nginx.conf

成功的话会提示success 否的话提示failed;

进入nginx文件夹中的sbin文件夹

启动nginx命令  cd /usr/local/webserver/nginx/sbin/  执行   ./nginx   

停止nginx  ./nginx –s  stop    重启./nginx  -s  reload

 

  1. 查看启动结果

查看启动进程

[root@test217 html]# ps -ef | grep nginx   

     root          31930          1    0 15:00 ?                00:00:00 nginx: master process nginx  nobody      31931 31930    0 15:00 ?                00:00:00 nginx: worker proces  nobody      31932 31930    0 15:00 ?                00:00:00 nginx: worker proces  nobody      31933 31930    0 15:00 ?                00:00:00 nginx: worker process nobody      31934 31930    0 15:00 ?                00:00:00 nginx: worker process nobody      31935 31930    0 15:00 ?                00:00:00 nginx: worker process 

浏览器输入http://localhost查看nginx启动情况

 

完毕!

 

猜你喜欢

转载自blog.csdn.net/nanruitao10/article/details/84935189