我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第3篇文章,点击查看活动详情
1. 什么是Nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2022年01月25日,nginx 1.21.6发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。
2. Nginx的作用
- 正向代理、反向代理。
- 负载均衡、支持轮询(round robin)、轮询权重(weight)、ip_hash、url_hash、fair算法。
- 高性能,最大可以支持对5万个并发连接数的响应,而且只占用很低的内存资源。
- 高可用、支持热部署。
- 实现动静分离。
3. Nginx安装与常用命令
3.1 window安装Nginx
1. 下载nginx window版本,并解压。(注:解压文件夹路径最好不含中文)
2. 双击nginx.exe,启动nginx
3. 直接在浏览器地址栏输入网址 http://localhost:80 回车,出现以下页面说明启动成功!
4. nginx.conf配置文件,修改nginx端口监听和代理
5. 关闭nginx命令:nginx -s stop 或 nginx -s quit
3.2 linux安装Nginx
1. 下载nginx linux版本,上传至服务器并解压,解压命令:tar -zxvf 压缩包名
2. 执行以下命令,构建启动nginx。
./configure
make
make install
./nginx #启动nginx
3. nginx.conf配置文件,修改nginx端口监听和代理
4. ./nginx -s stop 停止nginx ./nginx -s quit 退出nginx
3.3 Nginx常用命令
cd /usr/local/nginx/sbin/
./nginx -v # 查看版本
./nginx -t # 检查配置文件配置
./nginx # 启动
./nginx -s stop # 停止
./nginx -s quit # 安全退出
./nginx -s reload # 重新加载配置文件
ps aux|grep nginx # 查看nginx进程
3.4 Nginx配置详解
nginx文件结构如下:
... #全局块
events { #events块
...
}
http #http块
{
... #http全局块
server #server块
{
... #server全局块
location [PATTERN] #location块
{
...
}
location [PATTERN]
{
...
}
}
server
{
...
}
... #http全局块
}
-
全局块:设置nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。
-
events块:设置nginx服务器或与用户的网络连接,常用设置开始多个网络的序列化,每个网络的最大连接数等。
-
http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
-
server块:配置虚拟主机的相关参数,一个http中可以有多个server。
-
location块:配置请求的路由,以及各种页面的处理情况。