Nginx简单配置

原文链接
Nginx用起来比Apache方便简介,也有很多超过Apache的地方。Nginx不仅可以作为http服务器来用,更重要的,它还可以用来做负载均衡和反向代理.

安装方法见: Centos使用nginx安装方法

配置文件详解

nginx配置文件地址在/etc/nginx/nginx.conf,nginx的配置文件里,最重要的section是http区块,里面包含了全局设置、主机设置(server)、上游服务器设置(upstream)、URL设置

user www-data;           # nginx所属用户
worker_processes 4;      # 进程数,通常是和CPU数量相等
pid /var/run/nginx.pid;

events{
    worker_connections 768;   # 单个进程并发的最大连接数
    # multi_accept on;
}

http{
    ##
    # Basic Settings
    ##
    sendfile on; # 开启高效文件传输模式,如果是高IO的应用可设置为off
    tcp_nopush on;

    server_tokens off; # 隐藏系统版本号 # server_names_has_bucket_size 64; #
    server_name_in_redirect off;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##  
    # Logging Settings  全局日志文件
    ##  
    access_log /var/log/nginx/access.log;  
    error_log /var/log/nginx/error.log;  

    ##  
    # Gzip Settings Gzip压缩功能,可减少网络传输  
    ##  
    gzip on;  
    gzip_disable "msie6";  
    # gzip_vary on;  
    # gzip_proxied any;  
    # gzip_comp_level 6;  
    # gzip_buffers 16 8k;  
    # gzip_http_version 1.1;  
    
    ##  
    # Virtual Host Configs  虚拟主机配置,如果想要把server写在外面,可以在这里设置存放目录
    ##  
    include /etc/nginx/conf.d/_.conf;  
    include /etc/nginx/sites-enabled/_;  
    
    # 设置虚拟主机  
    server{  
        listen 80;  
        server_name haofly.net;  
        root /var/www/haofly;       # 网站根目录
    
        charset utf-8; # 字符集不应该在html里面指定,而直接在服务器端指定  
        
        # 该server日志文件存放路径
        access_log /var/log/nginx/80_access.log; 
        error_log /var/log/nginx/80_error.log;
        
        # 禁用非必要的请求方法,比如只处理GET、POST请求
        if ($request_method !~ ^(GET|HEAD|POST)$ ){
            return 444;
        }
        
        location = /{
          # 完全匹配 =
          # 大小写敏感 ~
          # 忽略大小写 ~*
          # 前半部分匹配 ^~
          # 正则匹配,例如~* \.(.gif|jpg|png)$
        }
        
        location / {
            root /var/www/haofly;      # 设置根目录              
            index index.html;          # 首页设置                     
            proxy_pass http://name;  # 上面设置的负载均衡服务器列表的名字                    
            proxy_connect_timeout 60; # nginx到后台服务器连接超时时间                    
            proxy_set_header Host $http_host;                    
            proxy_set_header X-Real-IP $remote_addr;                    
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;            
        }            
        
        location /blog {
          alias /var/www/blog;  # 别名设置
        }
        
        location /static {    # 静态文件由nginx自己处理                                  
            root /var/www/haofly;
        } 
    }

负载均衡配置

在http里:
upstream backend {
    server 127.0.0.1:81;
    server 127.0.0.1:82;
}
在server里:
location / {
    proxy_pass http://backend;
}

端口转发配置

在server里:
server{
    listen 80;
    server_name haofly.net;
    location / {
        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_pass http://127.0.0.1:8000;
    }
    access_log /var/log/nginx/haofly.net_access.log;

}

单独的虚拟目录配置

server{
        listen 80;
        server_name fun.haofly.net;

        charset utf-8;
        access_log /var/log/nginx/fun.log;
        error_log /var/log/nginx/fun_error.log;

        location ^~ /multiple-addresses-in-one-map/ {
                alias /usr/share/nginx/multiple-addresses-in-one-map/;
        }
}

查看负载均衡状态

nginx提供了默认的模块可以查看负载均衡的统计信息等,只需要在某个server里面添加:

location /nginx {    
    stub_status on;  
    access_log   on;  
    auth_basic   "NginxStatus";  
    auth_basic_user_file   /etc/nginx/htpasswd;  
}

其中htpasswd是保存用户名和密码的文件,可以自定义位置,每一行一个用户username:password这样子保存的,使用crypt3(BASE64)加密,可以用一个PHP文件来生成

$password = 'hehe';
$password = crypt($password, base64_encode($password));
echo $password;

最后访问 http://...../nginx 即可看到如下的负载均衡信息:

Active connections: 1
server accepts handled requests
 2 2 37
Reading: 0 Writing: 1 Waiting: 0
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容