Fork me on GitHub

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 社区活跃,各种高性能模板出品迅速。
image

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残酷】
image
【2.按照配置方法配置YUM源】
image
【3.配置完后查看/etc/yum.reposd.conf】
image
【4.查看yum仓库】
image
【5.下载nginx】
image

方法3.

【1.访问nginx官网】
image
【2.选择稳定和主线版本】
image
【3.按照步骤配置Nginx仓库并安装Nginx】
image
【4.配置】
image
【5.安装nginx】
image

2.1启动并设置开机自启

image

验证是否启动成功

1.端口检测

image

2.检测进程

image

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

image

4.检查nginx版本号

image

5.检查nginx编译参数

image

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.核心模块

image

2.事件驱动模块

image

3.http内核模块

image

网站配置

image

网站配置小实践

在本地服务器配置一个烟花告白的网站代码

【一个烟花告白源代码准备】
https://files.cnblogs.com/files/blogs/857193/烟花告白.zip?t=1765196223&download=true
【1.配置】
image
【2.检查配置文件代码是否编译正确】
image
【3.重新启动nginx服务】
image
【4.在/下创建/code/目录,并将源代码压缩包上传到/code/目录下】
image
【5.解压缩】
image
【6.查看目录】
image
【5.修改本地windows上的hosts文件:C:\Windows\System32\drivers\etc\hosts】
image
【6.在浏览器上打开www.suancaibaozii.com】
image
【7.记得点击F12,打开控制台,禁用缓存,否则可能会因缓存影响打不开自己配置的网站域名,VPN也得关闭】
image
【8.效果展示】
image

配置多个业务

方法1.使用多IP地址的方式
方法2.使用多端口的方式
方法3.使用多域名的方式


以下将配置
一个烟花告白 gb.conf
和
一个源码前端网站 qdwz.conf

方法1.使用多IP地址的方式

浏览器按照IP地址访问:
10.0.0.7
10.0.0.8

【1.临时添加IP地址】
image
【2.gb.conf】
image
【3.qdwz.conf】
image
【4.检查语法并重启nginx服务】
image
【5.将前端源代码放到/code2/目录下】
image
【6.解压】
image
【7.在本地浏览器搜索10.0.0.8】
image
【8.在本地浏览器搜索10.0.0.7】
image

方法2.基于多端口的方式配置多业务

80 端口 烟花告白
81 端口 前端网站
10.0.0.7:80
10.0.0.7:81

【1.配置】
image
【2.检查语法,重启服务】
image
【3.查看开启端口】
image
【4.访问10.0.0.7:80】默认80端口
image
【5.访问10.0.0.7:81】
image

方法3.使用多域名配置多个业务 企业常用

浏览器访问:
www.woailinux.com
www.qdwz.com

【1.配置】
image
【2.检测语法并重启服务】
image
【3.检查端口】
image
【4.本地配置hosts】
image
【5.访问www.qdwz.com】
image
【6.访问www.woailinux.com】
image

注:如果访问的页面域名不存在,默认返回第一个配置文件中的业务。

例:

【1.hosts】
image
【2.访问www.sudkashdjksahdjkas.com】
image

posted @ 2025-12-08 21:34  我该想点什么  阅读(6)  评论(0)    收藏  举报