Nginx介绍/安装

笔记基于ubuntu16.04 Desktop-LTS

简介:

  • 优点:
  • 高并发:在一个BSD-like 协议下发行,基于epoll/kqueue 模型开发,支持高并发量
  • 内存消耗低: 于处理静态文件,相较于其他web(比如:apache),占用更少的内存及资源
  • 简单稳定: 配置简单(一个conf文件),运行简单(nginx命令),而且运行稳定
  • 模块化程度高: 功能模块插件化设计,可以自由配置相应的功能
  • 支持Rwrite重写规则: 能够根据域名,URL等请求关键点,实现定制化的高质量分发
  • 低成本: Nginx的负载均衡功能很强大而且免费开源,相较于几十万的硬件负载均衡器成本相当低。
  • 支持多系统: Nginx代码完全用C语言从头写成,可以在各系统上编译并使用
  • 缺点:
  • 动态处理差: nginx善于处理静态文件,但是处理动态页面相较于Apache之类重量级的web软件能力稍欠缺
  • rewrite弱: 虽然nginx支持rewrite功能多,但是相较于Apache之类重量级的web软件能力稍欠缺

配置Nginx:

1. 安装

# 安装依赖
sudo apt-get install -y build-essential libssl-dev libtool libpcre3 libpcre3-dev make openssl zlib1g-dev
# 安装Nginx
sudo apt-get install nginx -y

2. 检查

# 查看系统进程
sudo netstat -tnulp | grep nginx
# 浏览器输入
 127.0.0.1 

3. 服务相关命令

systemctl start|stop|reload|... nginx
/etc/init.d/nginx start|stop|restart|... # 尽量使用这个命令来开启关闭,里面指明了一些配置信息
/usr/sbin/nginx ...  #不推荐使用系统命令

4. Nginx相关命令

nginx -v 查看版本信息
nginx -s stop 停止 #不推荐用系统命令,这里执行的是 /usr/sbin/nginx
nginx -s reload 重启 #不推荐用系统命令,这里执行的是 /usr/sbin/nginx
nginx -t 检查默认配置文件
nginx -t -c file.conf 指定配置文件进行检查

5. 卸载

# 查看Nginx相关的软件
dpkg --get-selections|grep nginx
dpkg --list | grep nginx
# 进行卸载
apt-get --purge remove nginx
apt-get --purge remove nginx-common
apt-get --purge remove nginx-core

Nginx 配置路径:

1. Nginx软件目录:

工作目录: /etc/nginx
执行文件: /usr/sbin/nginx  # 这属于系统命令的执行路径,不推荐使用此文件执行 
日志目录: /var/log/nginx
启动文件: /etc/init.d/nginx # 尽量使用这个命令来开启关闭
web目录: /var/www/html/ # 存放静态文件 首页文件是index.nginx-debian.html
         /usr/share/nginx/html/ #首页文件是index.html

2. Nginx配置文件

  • 默认全局配置文件: 包含全局配置段,和http配置段,其中在http配置段中 include /etc/nginx/conf.d/*.conf;表示我们自定义的子配置文件的路径,会首先进行处理, 在这个下面还有include /etc/nginx/sites-enabled/*;表示如果我们自定义的配置无法满足请求,会在这个路径里的配置文件继续处理
# 路径
/etc/nginx/nginx.conf
  • 其他配置文件路径: 文件内包含server配置,其中每个server代表一个站点, 站点可以有不同的ip和端口,而每个server中的location可以代表一个请求路径
# 路径
/etc/nginx/{sites-available/sites-enabled/conf.d} # 其中conf.d中放的是我们自定义的配置

一个请求生命周期:

Request(127.0.0.1:80/hello),经过全局配置文件,进入包含server配置的子配置文件内,Nginx根据Request的路径和端口来使用不同的server配置,进入到server配置后,根据location后的跟的请求路径进行匹配. 如果没匹配到请求路径,则会给客户端报404,如果匹配到location后的请求路径,进入到设置的root资源文文件夹中,根据$uri(hello) 资源文件夹中寻找$uri的文件,如果未找到则会把$uri当成$uri/路径来寻找$uri/下的index文件,如果没找到index文件或者$uri/也没有,则会给客户端404

发布了17 篇原创文章 · 获赞 0 · 访问量 93

猜你喜欢

转载自blog.csdn.net/qq_35876972/article/details/104826715