nginx教程
Nginx
什么是nginx
- Nginx是一个高性能的、开源的Web服务器软件,也可以用作反向代理、负载均衡和HTTP缓存。它采用了基于事件驱动的异步非阻塞架构,同时支持多核处理器并且占用资源较少,因此可以高效地处理并发连接请求,是互联网高负载环境下应用服务的首选。
- Nginx最初由一位俄罗斯开发者Igor Sysoev开发,是一个非常轻量级的HTTP服务器,最早用于处理俄罗斯搜索引擎Rambler(俄文名:Рамблер)的流量。随着Nginx的不断完善和发展,目前已经成为最受欢迎的Web服务器之一,甚至超过了传统的Apache服务器。
- Nginx相对于传统的Web服务器有很多优点,例如高并发、稳定性强、低内存占用、模块化设计等,同时支持反向代理、负载均衡、动静分离、HTTPS协议等高级特性,为Web应用提供了卓越的服务性能和灵活的部署方式。
- 高扩展性:Nginx有非常丰富的扩展模块和API接口,可以帮助用户实现更加复杂的Web应用部署、负载均衡和反向代理等需求。
- 可靠性和稳定性:Nginx采用多进程和线程,可以应对大量高并发请求并保证系统稳定性,同时在应用服务中断或异常情况下,Nginx可以做到无缝衔接,不会对用户造成影响。
- 灵活性和易用性:Nginx支持灵活的编译和配置方式,可以根据用户的实际需求对Nginx进行定制化编译和配置,同时Nginx提供了友好的命令行工具和配置文件模板,使得用户可以轻松地部署和管理Nginx应用服务。
- 低服务器资源占用:由于Nginx采用轻量级的进程和线程,同时具有较少的内存占用和CPU消耗,因此可以在一台机器上同时运行大量的Nginx实例,从而降低服务器成本和资源消耗。
nginx作用
- 提供HTTP服务:作为一款Web服务器,Nginx可以托管静态页面和动态页面,并提供Http服务,是Web应用的基础设施之一。
- 反向代理:Nginx可以作为反向代理来转发客户端请求,把请求转发到其他Web服务器上进行处理。通过反向代理,Nginx可以提高应用程序的安全性和可扩展性。
- 负载均衡:Nginx还可以作为负载均衡器来平衡多个Web服务器的请求负载,从而提高系统性能和可靠性。Nginx的负载均衡算法非常灵活,可以进行多种不同的操作来保证请求分配的均衡。
- 缓存:Nginx还可以作为缓存服务器,可以将一部分经常访问的静态资源缓存到本地或内存中,以提高Web应用的性能和响应速度。
- HTTPS服务:Nginx可以支持HTTPS协议,并提供高效、稳定的SSL加密服务,保证Web应用的安全性和隐私性。
正向代理
- 类比VPN:客户端代理
反向代理
- 服务端代理
负载均衡
- 轮询
- 加权轮询
iphash
- 固定IP永远轮询到一台服务器上
动静分离
- 动态资源和静态资源分离
Nginx安装-Windows安装
### 1. 下载nginx
- 官网下载安装包
- 解压安装包
### 2. 启动ngix
- 双击exe启动
- 或者cmd,'nginx.exe'启动
### 3. 检查是否启动成功
- 输入ip:port,出现'welecome to nginx'即可
### 4. 配置监听
- 配置conf文件
### 5. 关闭nginx
- taskkill是用来终止进程
- /f是强制终止
- /t终止指定的进程和任何由此启动的子进程
- /im示指定的进程名称
Ngixn安装-Linux安装
- 安装gcc
- 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,则需要安装:
yum install gcc-c++
- PCRE pcre-devel安装
PCRE(Perl Compatible Regular Expressions)是一个Peri库,包括perl兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要linux上安装pcre库,pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。命令:
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
- 下载安装包
手动下载.tar.gz安装包,地址:https://nginx.org/en/download.html
- 解压
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
- 配置
使用默认配置,在nginx根目录下执行
./configure
make
make install
查找安装路径: whereis nginx
nginx常用命令
cd /usr/local/nginx/sbin/
./nginx 启动
./nginx -s stop 停止
./nginx -s quit 安全退出
./nginx -s reload 重新加载配置文件
ps aux|grep nginx 查看nginx进程
注意:连接不上,检查防火墙
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
# 查看防火墙规则
firewall-cmd --list-all
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;

浙公网安备 33010602011771号