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
nginx基础配置可以在其配置文件nginx.conf中找到。配置文件的路径通常是/nginx/conf/nginx.conf。 在nginx.conf文件中,可以设置许多选项来配置nginx的行为。其中一些基本的配置选项包括: - http块:在配置文件中,http块定义了全局的http配置,包括一些常用的配置项,如mime.types文件的引入、代理配置文件的引入、fastcgi配置文件的引入以及默认的索引文件等。 - server块:在http块中,可以有多个server块,每个server块定义了一个虚拟主机的配置信息。可以在每个server块中指定域名或IP地址,以及监听的端口号等。 - location块:在server块中,可以有多个location块,每个location块定义了一组匹配规则和对应的处理方式。可以通过location块来指定请求的URL匹配规则,并根据规则配置相应的处理方式,如代理请求到其他服务器、处理静态文件等。 此外,nginx还支持在配置文件中引入其他文件,以便更好地组织和管理配置。例如,可以在nginx.conf中使用include指令来引入其他配置文件,如mime.types、proxy.conf和fastcgi.conf。 总结起来,nginx基础配置可以在nginx.conf文件中找到,其中包括http块、server块和location块等配置项。可以使用include指令来引入其他配置文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Nginx的基本配置](https://blog.csdn.net/weixin_46007090/article/details/120105907)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Nginx基础配置](https://blog.csdn.net/weixin_41968982/article/details/123687834)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值