Nginx 基础 总结

本文介绍了Nginx的基础知识,包括其在LNMP/LEMP架构中的角色,主要功能,特点,以及与LAMP的对比。接着详细阐述了Nginx的安装过程和启动后无法访问的排查方法。在配置文件部分,讲解了Nginx模块及其配置文件的注释。文章重点介绍了如何使用Nginx进行Web服务,包括虚拟主机配置,如基于域名和端口的虚拟主机设置,以及配置流程。此外,还提到了stub_status模块的使用,别名配置,以及拒绝IP和非法域名访问的方法。最后,简要列举了一些常见的HTTP状态码。
摘要由CSDN通过智能技术生成

1. Nginx介绍

   现阶段 web 服务流行的 组合 LNMP(Linux Nginx(“Engine x”) MySQL PHP),前几年 有人还称之为(LEMP) 。Nginx 是 俄罗斯人开发的, 开源的 www 服务软件,程序的大小才780K左右。 Nginx 本身是一款 静态(html,js ,css,jsp 等)www软件,静态文件小 并发高,同时占用资源少。3W并发 10个进程 才使用150M 内存。www服务软件,现在在国内互联网企业web第一名。

使用平台: unix,linux,windows 都可以。
nginx 主要的功能:
a. www web服务,即http服务
b.负载均衡(反向代理proxy)
c.web cache(web缓存)
这里写图片描述

Nginx的特点:
1,配置简单,更灵活
2,占用资源少。(3W并发 10个进程 才使用150M 内存)
3,功能种类多(web,cache,proxy),但每一个功能并不是最强的
4,支持epoll模型。是的Nginx可以支持高并发(静态小文件),静态1-2W没问题
5,nginx配合动态服务和apache有区别
6,利用nginx可以对IP限速,可以限制连接数

LAMP和LNMP的区别:

这里写图片描述

Nginx的应用场合:
1、静态服务器(图片,视频服务),另一个lighttpd。并发:1-3W
html,js,css,.flv等。
2、动态服务,nginx+fastcgi的方式运行php,jsp。并发:500-1500。
原因;PHP FCGI :500-1500 mysql :300-1500
apache+php,lighttpd+fcgi php
3、反向代理,负载均衡。日PV2000W以下,都可以直接用Nginx做代理。
haproxy,F5,a10
4、缓存服务。SQUID,VARNISH
各个web服务器的性能对比测试,可参考:http://yifangyou.blog.51cto.com/900206/617213/

2. Nginx安装

2.1 nginx 安装过程

[root@nginx /]# cat /etc/redhat-release    #查看系统版本
CentOS Linux release 7.3.1611 (Core)
[root@nginx /]# yum -y install wget #安装wget
[root@nginx /]# cd /etc/yum.repos.d #更换yum源
[root@nginx yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak
[root@nginx yum.repos.d]# wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@nginx yum.repos.d]# mv CentOS-Base.repo.bak CentOS-Base.repo
[root@nginx yum.repos.d]# yum clean all
[root@nginx yum.repos.d]# cd
[root@nginx ~]# wget http://nginx.org/download/nginx-1.8.1.tar.gz  #下载nginx源码包
[root@nginx ~]# yum -y install pcre-devel openssl-devel gcc gcc-c++ make   #安装依赖
[root@nginx ~]# useradd www -s /sbin/nologin -M        #添加 www 用户和组
[root@nginx ~]# tar zxf nginx-1.8.1.tar.gz #解压 nginx 源码包
[root@nginx ~]# cd nginx-1.8.1     #进入源码目录
[root@nginx nginx-1.8.1]# ./configure --prefix=/application/nginx-1.8.1 --user=www --group=www --with-pcre --with-http_stub_status_module --with-http_ssl_module    #configure
[root@nginx nginx-1.8.1]# make && make install      #编译和安装
[root@nginx nginx-1.8.1]# ln -s /application/nginx-1.8.1/ /application/nginx    #做软连接
[root@nginx nginx-1.8.1]# /application/nginx/sbin/nginx     #启动nginx
[root@nginx nginx-1.8.1]# curl -I http://127.0.0.1  #查看nginx 网站
HTTP/1.1 200 OK
Server: nginx/1.8.1
Date: Mon, 17 Apr 2017 13:43:04 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Mon, 17 Apr 2017 13:41:37 GMT
Connection: keep-alive
ETag: "58f4c611-264"
Accept-Ranges: bytes

安装成功!

2.2 nginx启动后不能访问 排查

本地排查:
1)注意启动时 是否有报错
2)先curl 自己IP,看看服务是否启动
3)ps -ef|grep nginx ,看看nginx进程是否活着

Windows浏览器访问:
1)ping 192.168.1.82 物理通不通
2)telnet 192.168.1.82 80 浏览器到web服务通不通
3)服务器本地curl 192.168.1.82 WEB服务开没开

3. Nginx配置文件

3.1 关于Nginx模块

Nginx 使用不同的模块来实现不同的功能,主要有2组重要的模块:
1,Nginx core modules(必须的)
包括
Main
Events
2,Standard HTTP modules (虽然不是必须,但是缺省都会安装,不建议改动),典型的包括
Core
Access
FastCGI
Gzip 压缩模块(性能优化)
Log 日志模块
Proxy
Rewrite URL重写模块
Upstream 负载均衡模块
等等
提示:缺省条件下,这两组模块都会安装,修改配置文件,主要是根据这2组模块的功能来修改模块的参数。
各个模块,参见官方文档:http://nginx.org/en/docs/

3.2 Nginx 默认相关的文件

[root@nginx application]# tree ./nginx/     #查看nginx程序的默认的文件
./nginx/
├── client_body_temp
├── conf                #nginx 配置文件目录
│   ├── fastcgi.conf            #fastcgi配置文件
│   ├── fastcgi.conf.default
│   ├── fastcgi_params          #fastcgi参数配置文件
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types          #nginx 支持的文件类型列表文件
│   ├── mime.types.default
│   ├── nginx.conf          #nginx 主网站配置文件
│   ├── nginx.conf
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值