Linux中级のNginx~1
Nginx基础概述
【Nginx简述】
Nginx是一个开源且高性能、可靠的Http Web服务、代理服务。
开源:直接获取代码
高性能:支持海量并发
可靠:服务稳定
选择Nginx服务的理由
Nginx非常轻量
功能模块少(源代码仅保留http与核心模块代码,其余不够核心代码会作为插件来安装)
代码模块化 (易读,便于二次开发,对于开发人员非常友好)
互联网公司都选择Nginx:
1.Nginx技术成熟,具备的功能是企业最常使用而且最需要的
2.适合当前主流架构趋势, 微服务、云架构、中间层
3.统一技术栈, 降低维护成本*,* 降低技术更新成本。
Nginx采用Epool网络模型,Apache采用Select模型
Select:当用户发起一次请求,select模型就会进行一次遍历扫描,从而导致性能低下。
Epool:当用户发起请求,epool模型会直接进行处理,效率高效,并无连接限制。
处理大量连接的读写,Apache所采用的select网络I/O模型非常低效。
Nginx 和 Apache 的区别
Nginx
【轻量级】采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源
【抗并发】nginx 以 epool and kqueue 作为开发模型,处理请求是异步非阻塞的,负载能力比 apache 高很多,而 apache 则是阻塞型的。在高并发下 nginx 能保持低资源消耗高性能,而 apache 在PHP处理慢或者前端压力很大的情况下,很容易出现进程数飙升,从而拒绝服务的现象。
【处理静态文件好】nginx 静态处理性能比 apache 高三倍以上
【模块化】nginx 的设计高度模块化,模块编写相对简单
【配置简洁】nginx 配置简洁,正则配置让很多事情变得简单,而且改完配置能使用-t测试配置有没有问题,apache 配置复杂,重启的时候发现配置出错了,会很崩溃。
【负载均衡】nginx作为负载均衡服务器,支持7层负载均衡
【代理】nginx本身就是一个反向代理服务器,而且可以作为非常优秀的邮件代理服务器,启动特别容易,并且可以做到 7*24 不间断运行,即使运行数个月也不需要重新启动,还能够不间断服务的情况下进行软件版本的升级。
【社区】nginx 社区活跃,各种高性能模板出品迅速。
Apache
【rewrite】apache 的 rewrite 比 nginx 强大,在 rewrite 频繁的情况下,用 apache
【模块多】apache 发展到现在,模块超多,基本想到的都可以找到
【bug少】apache 更为成熟,bug少,nginx 的 bug 相对较多,apache 超稳定
【PHP支持简单】apache 对 PHP 支持比较简单,nginx 需要配合其他后端用
【处理动态请求】apache 在处理动态请求方面有优势,nginx 在这方面是鸡肋,一般动态请求要 apache 去做,nginx适合静态和反向。
1.服务架构框架
LNMP # Linux Nginx MySQL PHP
LNMT # Linux Nginx MySQL Tomcat
LAMP # Linux Apache MySQL PHP
LNMP # Linux Nginx MySQL Python
2.Nginx服务安装
1.源码编译 => Nginx (1.版本随意 2.安装复杂 3.升级繁琐 4.规范 5.便于管理)
2.epel仓库 => Nginx (1.版本较低 2.安装简单 3.配置不易读)
3.官方仓库 => Nginx (1.版本较新 2.安装简单 3.配置易读)
方法1.
[回头补]
方法2.
【1.访问阿里云配置EPEL残酷】
【2.按照配置方法配置YUM源】
【3.配置完后查看/etc/yum.reposd.conf】
【4.查看yum仓库】
【5.下载nginx】
方法3.
【1.访问nginx官网】
【2.选择稳定和主线版本】
【3.按照步骤配置Nginx仓库并安装Nginx】
【4.配置】
【5.安装nginx】
2.1启动并设置开机自启

验证是否启动成功
1.端口检测

2.检测进程

3.打开浏览器检测,访问本地服务器10.0.0.7

4.检查nginx版本号

5.检查nginx编译参数

3.1 Nginx的开启与关闭
Nginx的启动
【方法1】/usr/sbin/nginx
【方法2】systemctl start nginx
Nginx的停止
【方法1】/usr/sbin/nginx -s stop
【方法2】systemctl stop nginx
Nginx重启
【方法1】/usr/sbin/nginx -s stop && /usr/sbin/nginx
【方法2】systemctl restart nginx
Nginx重载
【方法1】/usr/sbin/nginx -s reload
【方法2】systemctl reload nginx
注:Nginx如果用systemctl命令开启,则关闭必须用systemctl命令关闭。
假如使用/usr/sbin/nginx命令关闭是无法关闭systemctl开启的Nginx。
Nginx 相关文件介绍
rpm -ql nginx # 查看nginx文件目录架构
以下介绍重要的一些目录
1.Nginx主配置文件
| 路径 | 类型 | 作用 |
|---|---|---|
| /etc/nginx/nginx.conf | 配置文件 | nginx主配置文件 |
| /etc/nginx/conf.d/default.conf | 配置文件 | 默认网站配置文件 |
2.Nginx代理相关参数文件
| 路径 | 类型 | 作用 |
|---|---|---|
| /etc/nginx/fastcgi_params | 配置文件 | Fastcgi代理配置文件 |
| /etc/nginx/scgi_params | 配置文件 | scgi代理配置文件 |
| /etc/nginx/uwsgi_params | 配置文件 | uwsgi代理配置文件 |
3.Nginx编码相关配置文件
| 路径 | 类型 | 作用 |
|---|---|---|
| /etc/nginx/win-utf | 配置文件 | Nginx编码转换映射文件 |
| /etc/nginx/koi-utf | 配置文件 | Nginx编码转换映射文件 |
| /etc/nginx/koi-win | 配置文件 | Nginx编码转换映射文件 |
| /etc/nginx/mime.types | 配置文件 | Content-Type与扩展名 |
4.Nginx管理相关命令
| 路径 | 类型 | 作用 |
|---|---|---|
| /usr/sbin/nginx | 命令 | Nginx命令行管理终端工具 |
| /usr/sbin/nginx-debug | 命令 | Nginx命令行与终端调式工具 |
5.Nginx日志相关目录与文件
| 路径 | 类型 | 作用 |
|---|---|---|
| /var/log/nginx | 目录 | Nginx默认存放日志目录 |
| /etc/logrotate.d/nginx | 配置文件 | Nginx默认的日志切割 |
Nginx 默认配置文件
Nginx主配置文件`/etc/nginx/nginx.conf`是一个纯文本类型的文件,整个配置文件是以区块的形式组织的。一般,每个区块以一对大括号`{}`来表示开始与结束。
Nginx主配置文件:
CoreModule(核心模块)
EventModule(事件驱动模块)
HttpCoreModule(http内核模块)
1.核心模块

2.事件驱动模块

3.http内核模块

网站配置

网站配置小实践
在本地服务器配置一个烟花告白的网站代码
【一个烟花告白源代码准备】
https://files.cnblogs.com/files/blogs/857193/烟花告白.zip?t=1765196223&download=true
【1.配置】
【2.检查配置文件代码是否编译正确】
【3.重新启动nginx服务】
【4.在/下创建/code/目录,并将源代码压缩包上传到/code/目录下】
【5.解压缩】
【6.查看目录】
【5.修改本地windows上的hosts文件:C:\Windows\System32\drivers\etc\hosts】
【6.在浏览器上打开www.suancaibaozii.com】
【7.记得点击F12,打开控制台,禁用缓存,否则可能会因缓存影响打不开自己配置的网站域名,VPN也得关闭】
【8.效果展示】
配置多个业务
方法1.使用多IP地址的方式
方法2.使用多端口的方式
方法3.使用多域名的方式
以下将配置
一个烟花告白 gb.conf
和
一个源码前端网站 qdwz.conf
方法1.使用多IP地址的方式
浏览器按照IP地址访问:
10.0.0.7
10.0.0.8
【1.临时添加IP地址】
【2.gb.conf】
【3.qdwz.conf】
【4.检查语法并重启nginx服务】
【5.将前端源代码放到/code2/目录下】
【6.解压】
【7.在本地浏览器搜索10.0.0.8】
【8.在本地浏览器搜索10.0.0.7】
方法2.基于多端口的方式配置多业务
80 端口 烟花告白
81 端口 前端网站
10.0.0.7:80
10.0.0.7:81
【1.配置】
【2.检查语法,重启服务】
【3.查看开启端口】
【4.访问10.0.0.7:80】默认80端口
【5.访问10.0.0.7:81】
方法3.使用多域名配置多个业务 企业常用
浏览器访问:
www.woailinux.com
www.qdwz.com
【1.配置】
【2.检测语法并重启服务】
【3.检查端口】
【4.本地配置hosts】
【5.访问www.qdwz.com】
【6.访问www.woailinux.com】
注:如果访问的页面域名不存在,默认返回第一个配置文件中的业务。
例:
【1.hosts】
【2.访问www.sudkashdjksahdjkas.com】











































浙公网安备 33010602011771号