nginx主要配置

用户流量经过nginx端的分流到多个tomcat实例上,下面介绍一下nginx常用的配置文件nginx.conf

//运行worker进程的用户
user  xxx;
//启动的进程数量,通常设置为和cpu核数一致
worker_processes  8;
//worker进程的最大打开文件数限制,需要设置的高,否则文件描述符会不够用。
worker_rlimit_nofile 102400;

//错误日志
error_log  /var/logs/error.log;
//pid文件
pid        /var/logs/nginx.pid;

//events模块包含nginx中关于连接的部分
events {
    //一个worker进程可以同时打开的最大连接数目,这个数目需要和worker_rlimit_nofile协调。socket占用一个文件描述符
    worker_connections  1024;
    //采用epoll方式处理高并发连接,不写的话会默认选择最好的方式。
    user epoll;
}

http {
    //include 作用就是复制文件内容到所在位置
    //文件扩展名与文件类型映射表,nginx根据映射关系,设置http请求响应头的content-type值,在映射表中找不到的时候使用default_type
    include       mime.types;
    default_type  application/octet-stream;

//log格式
    log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
                      ‘$status $body_bytes_sent "$http_referer" ‘
                      ‘"$http_user_agent" "$http_x_forwarded_for"‘;
    log_format  welove  ‘$remote_addr [$time_local] $host $request $status $body_bytes_sent request_time: $request_time   upstream_response_time: $upstream_response_time $http_accept_language‘;

#access_log  logs/access.log  main;
    access_log   off;

//linux sendfile api可以减少内核和用户层面的拷贝次数,加快效率。
    sendfile        on;
    #tcp_nopush     on;

#keepalive_timeout  0;
    keepalive_timeout  65;

gzip  on;
    gzip_min_length 1k;
    gzip_types text/plain application/x-javascript text/css application/xml application/json;

//server_tag字段用于设置response里面的Server字段,可以用来隐藏服务器的一些信息
    server_tag UGuess;
    
    deny 11.11.11.11;

#fastcgi_intercept_errors on;

upstream welove520 {
        server 127.0.0.1:8080 weight=10;
        server 192.168.1.1:8080 weight=10;
    }

//定义了虚拟主机
    server {
        //监听的端口
        listen       80;
        //监听的域名
        //nginx基于域名和IP来混合进行定位,当不匹配的时候或者只有一个server的时候默认采用第一个server
        //这里用localhost是不对的(对于我们服务来说),但是由于是默认的server所以没有问题。
        //http://tengine.taobao.org/nginx_docs/cn/docs/http/request_processing.html
        server_name  localhost;
        access_log off;
        //location用于匹配URI
        location / {
                proxy_pass  http://welove520; //请求转发给welove520指定的服务器列表

//设置一些header,后端tomcat工程可以获取这些值
                proxy_set_header   Host             $host;//
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
                //限制客户端上传数据的大小,如果需要上传大文件一定要注意用到这个参数,否则数据会被丢弃
                client_max_body_size       15m;
                proxy_connect_timeout      150;
                proxy_send_timeout         150;
                proxy_read_timeout         150;
                proxy_next_upstream        error timeout invalid_header http_500;
                proxy_buffer_size          32k;
                proxy_buffers              32 64k;
                proxy_busy_buffers_size    128k;
        }
    }
}

在nginx中将流量通过upstream模块导到后端tomcat服务器上,然后在服务器上处理用户请求并返回。

参考资料:http://tengine.taobao.org/nginx_docs/cn/docs/http/request_processing.html

时间: 2024-08-09 12:40:43

nginx主要配置的相关文章

linux下Nginx配置文件(nginx.conf)配置设置详解(windows用phpstudy集成)

linux备份nginx.conf文件举例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在进程列表里 面找master进程,它的编号就是主进程号. ps -ef | grep nginx 查看进程 cat /usr/local/nginx/nginx.pid 每次修改完nginx文件都要重新加载配置文件linux命令: /usr/local/nginx -t //验证配置文件是否合法 若ngin

nginx安装配置

一.下载Nginx源文件 进入nginx官网下载nginx的稳定版本,我下载的是1.10.0. 下载:wget http://nginx.org/download/nginx-1.10.0.tar.gz 解压:tar -zxvf nginx-1.10.0.tar.gz 二.检查安装依赖项 执行下面的命令安装nginx的依赖库: yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel11 三.配置Nginx安

FastDFS的php和nginx模块配置

一.FastDFS和php整合 1.安装php # 安装依赖包 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel cu

Nginx下配置ThinkPHP的URL Rewrite模式和pathinfo模式支持

前面有关于lnmp环境的搭建,在此就不在赘述.下面就简述thinkPHP如何在nginx下开启url_rewrite和pathinfo模式支持 主要有两个步骤: 一.更改php.ini将;cgi.fix_pathinfo=0  改为cgi.fix_pathinfo=1 二.更改nginx配置文件中php的location设置pathinfo模式: location ~ \.php { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index in

dva+antd写的一个react例子--服务器nginx 的配置

location ^~ /crm { rewrite ^/crm/(.*)(\.js|\.css|\.png|\.jpg|\.jpeg|\.gif|index\.php|robots\.txt)$ /$1$2 break; rewrite .* /index.html break; root /etc/nginx/static2/CIF_crm-frontend/dist/crm/; } 以上是nginx的配置 { "entry": "src/index.js",

Nginx安装配置(转)

Nginx 安装配置 Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. 在高连接并发的情况下,Nginx是Apache服务器不错的替代品. Nginx 安装 系统平台:CentOS release 6.6 (Final) 64位. 一.安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c++ libtoo

Nginx + PHP 配置

最近在学习php的时候了解到了,顺便了解了一下php服务器的运行环境,php最常用的服务器肯定是Apache了,不过这几年Nginx发展也很快,相比Apache而言,它除了抗高并发以外,搭建环境的的时候配置也比较容易,在windows下几乎不需要任何安装步骤,只需要在控制台启动 .exe 程序就行了,而且反向代理机制也是一种比较灵活的机制. 1.在配置一个环境之前,我们先要下载php和nginx ,它们都可以在各自官网下载到,目前nginx最新稳定版是nginx 1.6,在下载php的时候要注意

nginx 转发配置

Nginx配置proxy_pass转发的/路径问题 在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/,当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走. location ^~ /static_js/ { proxy_cache js_cache; proxy_set_header Host js.test.com; proxy_pass http:

nginx常用配置系列-虚拟主机

本来准备详尽的出一份nginx配置讲解,但nginx功能配置繁多,平常使用中使用最多的一般有: 1. 虚拟主机配置 2. HTTPS配置 3. 静态资源处理 4. 反向代理 ================= 虚拟主机配置 ================= 先说虚拟主机配置,nginx的核心配置文件在nginx的安装目录下conf目录中(如果是CentOS通过yum安装则在/etc/nginx目录中) 在conf目录下创建vhost目录,方便管理虚拟主机的配置文件 mkdir vhost 以e

Keepalived && Nginx 高可用性配置

keepalived是一个用于做双机热备(HA)的软件,常和haproxy联合起来做热备+负载均衡,达到高可用. 运行原理 keepalived通过选举(看服务器设置的权重)挑选出一台热备服务器做MASTER机器,MASTER机器会被分配到一个指定的虚拟ip,外部程序可通过该ip访问这台服务器,如果这台服务器出现故障(断网,重启,或者本机器上的keepalived crash等),keepalived会从其他的备份机器上重选(还是看服务器设置的权重)一台机器做MASTER并分配同样的虚拟IP,充