文档章节

Nginx安装说明

郭恩洲_OSC博客
 郭恩洲_OSC博客
发布于 2015/03/06 11:30
字数 718
阅读 84
收藏 1

1.介绍

      Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性  

2.安装

     2.1 下载

     下载地址:http://nginx.org/en/download.html

      Windows: nginx-1.6.2.zip

      Unix: nginx-1.6.2.tar.gz      

     2.2 解压

         tar zxvf    nginx-1.6.2.tar.gz  [-C {解压目录}]

     2.3 配置

        cd   nginx-1.6.2

       ./configure --prefix={安装目录} --with-http_stub_status_module --without-http_rewrite_module --without-http_gzip_module

       make    

       make install

      2.4 检测

          检查是否安装成功      

          进入安装目录

         ./sbin/nginx -t 

         如果安装成功结果显示如下:

        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

      2.5 启动 

           ./sbin/nginx       

          ie 浏览器中输入 http://{目标IP}

        注意,这里nginx监听80端口,所以要在iptables里打开80端口。

        /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

        接着访问这台机器的80的端口,如果请求成功,则说明配置成功。

       为了操作方便,可以自己写一个nginx命令脚本,放到/etc/init.d下,执行方法如下:

启动:service nginx start

停止:service nginx stop

重启:service nginx reconfigure

查看状态:service nginx status

 

   3.常见问题

   3.1 .安装Nginx时报错 ./configure: error: the HTTP rewrite module requires the PCRE library.

           安装pcre-devel解决问题   yum -y install pcre-devel

  4.配置

4.1 基本配置方法

location / {
               proxy_pass http://127.0.0.1:8080;
               proxy_set_header Host $host;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        
        location ^~ /api/ {
               proxy_pass http://127.0.0.1:8081;
               proxy_set_header Host $host;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

 

4.2 负载均衡配置

upstream backend {
         #ip_hash;
         server 127.0.0.1:8081;
         server 10.10.136.85:8082;
}    
upstream backendweb {
          ip_hash;
          server 127.0.0.1:8080;
          server 10.10.136.85:8081;
}

    server {
        listen       80;
        server_name  www.nfzo.com;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;

        location / {
               #proxy_pass http://127.0.0.1:8080;
               proxy_pass http://backendweb;
               proxy_read_timeout 300;
               proxy_set_header Host $host;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        
        location ^~ /api/ {
               #proxy_pass http://127.0.0.1:8081;
               proxy_pass http://backend;
               proxy_read_timeout 300;
               proxy_set_header Host $host;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

 

 

4.3  启用nginx status配置

在默认主机里面加上location或者你希望能访问到的主机里面。

server {
    listen  *:80 default_server;
    server_name _;
    location /ngx_status
    {
        stub_status on;
        access_log off;
        #allow 127.0.0.1;
        #deny all;
    }
}

 

 打开status页面

# curl http://127.0.0.1/ngx_status
Active connections: 11921
server accepts handled requests
 11989 11989 11991
Reading: 0 Writing: 7 Waiting: 42

 nginx status详解:

 

  1. active connections – 活跃的连接数量
  2. server accepts handled requests — 总共处理了11989个连接 , 成功创建11989次握手, 总共处理了11991个请求
  3. reading — 读取客户端的连接数.
  4. writing — 响应数据到客户端的数量
  5. waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.

 

4.4 仅限域名访问配置

      这个可以配置server 来限定,比如:

   

server {
        listen 80;
        server_name .*;

        location / {
            return 403;
        }

   }

    server {
        listen       80;
        server_name  *.domain;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;  location / {
               proxy_pass http://127.0.0.1:8080;
               proxy_set_header Host $host;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

 

4.5 设置静态文件

如果不是在默认目录下,使用alias配置

location ^~ /project/ {
              alias /home/data/www/;
              index  index.html index.htm;
              #charset GBK;
              #expires      7d;
     }

4.6 设置日志格式输出


 log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" "$upstream_response_time" '
                      '"$upstream_addr" "$upstream_status" "$request_time"' ;


    access_log  /var/log/nginx/access.log  main;

 

© 著作权归作者所有

郭恩洲_OSC博客
粉丝 37
博文 256
码字总数 118046
作品 0
徐汇
高级程序员
私信 提问
在CentOS上编译安装Nginx+实验环境搭建+测试

0.说明 Nginx作为一款优秀的Web Server软件同时也是一款优秀的负载均衡或前端反向代理、缓存服务软件,很有必要搭建实验环境来对其进行学习。 1.实验环境 本次实验的测试环境使用的宿主机操作...

xpleaf
2017/02/25
0
0
Ngin学习-yum安装nginx

>版本说明 版本说明: Mainline version - 开发版 Stable version - 稳定版 Legacy version - 历史版本 官网:nginx.org 系统环境: 查看系统版本 查看系统内核详情 >基于yum安装 vim /etc/y...

Neo_robot
2018/01/02
0
0
Nginx安装负载均衡配置 fair check扩展

Nginx安装负载均衡配置 fair check扩展 前言 本文主要是针对Nginx安装、负载均衡配置,以及fair智能选举、check后端节点检查扩展功能如何扩展,进行讲解说明。 fair模块: upstream-fair,“...

linjin200
2018/07/19
179
0
nginx的安装(编译) && 常用配置

背景: 考虑到生产环节下,nginx的使用可能更多的需要人们去定制化一些配置(如nginx所使用的pcre版本、安装路径、log路径等一些信息),所以,我们更多的采用源代码编译的方式去安装nginx进行...

hebad
2015/05/18
219
0
nginx开启stub_status模块配置方法

nginx开启stub_status模块配置方法 2017年12月13日 15:57:29 lydengle 阅读数:3765 标签: stubstatusnginxnginx开启stubstatus模块 更多 个人分类: 软件工具php 版权声明:本文为博主原创...

linjin200
2018/10/23
15
0

没有更多内容

加载失败,请刷新页面

加载更多

3_数组

3_数组

行者终成事
今天
7
0
经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0
使用logstash同步MySQL数据到ES

概述   在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。   在使用logstas...

zxiaofan666
今天
10
0
X-MSG-IM-分布式信令跟踪能力

经过一周多的鏖战, X-MSG-IM的分布式信令跟踪能力已基本具备, 特点是: 实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口. 完备. 可以完整...

dev5
今天
7
0
OpenJDK之CyclicBarrier

OpenJDK8,本人看的是openJDK。以前就看过,只是经常忘记,所以记录下 图1 CyclicBarrier是Doug Lea在JDK1.5中引入的,作用就不详细描述了,主要有如下俩个方法使用: await()方法,如果当前线...

克虏伯
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部