Nginx快速入门
一、简介
Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。
其特点是占有内存少,并发能力强。
Nginx代码是完全用C语言来写的。
二、Nginx作用
2.1 Http 代理,反向代理:
作为web服务器最常用的功能之一,尤其是反向代理。
正向代理:安装在客户端,代理客户端的
反向代理:代理服务端的,让用户无感知的访问服务器
2.2 负载均衡
Nginx提供的负载均衡策略有两种:
内置策略:为轮询,加权轮询,Ip hash
扩展策略:天马行空,只有你想不到的,没有它做不到的
轮询:
加权轮询:配置权重
ip hash: 对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题(but,不建议使用nginx来做session共享)
2.3 动静分离:
在软件开发中,有些需求是需要后台处理的,有些请求是不需要经过后台处理的(如:css,html,jpg,js等等文件),这些不需要经过后台处理的文件称之为静态文件。让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作。提高资源响应的速度。
目前,通过使用Nginx大大提高了我们网站的响应速度,优化了用户体验,让网站的健壮性更上一层楼!
三、Nginx的安装
3.1 windows下安装
- 下载nginx压缩包
- 解压
- 启动nginx
方式一:双击nginx.exe
方式二:使用cmd命令窗口,执行 nginx.exe命令(推荐) - 检查是否启动成功:
在浏览器地址栏中输入:http://localhost:80 回车,出现nginx的欢迎界面,即代表启动成功
3.2 Linux下安装(基础安装)
- 通过wget命令下载安装包
- 解压:tar -zxvf ***.tar.gz
- 进入解压后的安装包
- 自动配置&编译&安装
./configure
make && make install
安装完毕之后,执行命令查看是否存在,安装在何处:
whereis nginx
解压后的目录:
whereis nginx:
sbin:目录是存放执行文件的,目录里面有个nginx文件
通过命令 ./nginx 来启动nginx,没有报错就代表启动成功了。
3.3 Linux下安装(版本级安装)
需要预先安装一系列的的插件库:
- 安装gcc:
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有,需要安装
yum install gcc-c++
- PCRE pcre-devel安装:
PCRE是一个Perl库,包括perl兼容的正则表达库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库,pcre-devel是使用pcre开发的一个二次开发库,nginx也需要此库。PCRE 的作用是让Nginx支持Rewrite功能。
yum install -y pcre pcre-devel
- zlib安装:
zlib库提供了很多压缩和解压缩的方式,nginx使用zlib来对http包的内容进行gzip,所以需要在Centos上安装zlib库
yum install -y zlib zlib-devel
- OpenSSL安装:
OpenSSL是一个强大的安全套接字层密码库。囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http)协议,所以需要在Centos上安装OpenSSL库。
yum install -y openssl openssl-devel
- 然后下载nginx的安装包,配置安装
四、Nginx常用命令
# 1.查找安装路径
whereis nginx
# 2.进入ngix的执行文件位置
cd /usr/local/nginx/sbin/
# 3.启动
./nginx
# 4.停止
./nginx -s stop
# 5.安全退出
./nginx -s quit
# 6.重新加载配置文件
./nginx -s reload
# 7.验证nginx配置文件
./nginx -t
# 8.查看nginx进程
ps aux|grep nginx
可能遇到的问题:
如果启动之后,连接不到nginx,则:
五、Nginx总结
5.1 配置文件 nginx.conf
配置文件分为3部分:
全局配置块:配置全局生效
events配置块:
http配置块:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)