Nginx3个特征、安装Nginx、Nginx常用命令、Nginx配置文件
1.正向代理
正向代理:通过代理服务器去拿到目标服务器获取数据。
反向代理-负载均衡
反向代理:通过Nginx代理多个服务器。负载均衡 (常用的2点)轮询、权重
动静分离
动:无非指的是动态资源,反之亦然。
- [1] 动静分离:一般情况下都需要将动态资源和静态资源分开,将静态资源部署到Nginx上,当一个请求来的时候,如果是静态资源的请求,就直接到Nginx配置的静态目录下获取资源,如果是动态资源请求,则通过反向代理原理,把请求转发到后台应用去处理。从而实现动静分离。
2.安装Nginx
- 1.安装gcc
- 安装Nginx需要先将官网的源码进行编译,编译需要gcc环境。
- 2.PCRE pcre-devel 安装()
- PCRE 作用是让 Nginx 支持 Rewrite 功能。
- yum install -y pcre pcre-devel
- 3.zlib 安装
- nginx使用zlib包的内容进行gzip
- yum install -y zlib zlib-devel
- 4.OpenSSL安装
- 在ssl协议上传输http
- yum install -y openssl openssl-devel
- 5.下载Nginx
- 6.解压Nginx
- tar -zxvf nginx-1.19.9.tar.gz
- cd nginx-1.19.9
- 7.执行nginx-configure文件
- 8.make命令编译
Linux 防火墙
1、firewalld的基本使用
启动: systemctl start firewalld
查看状态: systemctl status firewalld
停止:systemctl stop firewalld
禁用:systemctl disable firewalld
2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
3.配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
那怎么开启一个端口呢
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent(--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
3.Nginx常用命令
- whereis nginx
- 查看nginx版本:nginx -v
- 启动nginx:直接执行nginx即可
- 停止nginx:nginx -s stop
- 退出nginx:nginx -s quit
- 重载nginx配置文件:nginx -s reload
- 查看nginx进程:ps -ef | grep nginx(ps -ef输出标准格式linux的进程命令)(grep nginx 查找nginx)
4.Nginx配置文件
- 1.如何查找nginx配置文件(nginx -t 检查配置文件是否有语法错误)
- 安装Nginx需要先将官网的源码进行编译,编译需要gcc环境。
- 2.打开nginx配置文件
- 3.了解nginx配置文件中的配置项
- (nginx配置文件分三个部分组成。全局块、events块、http块)
- [1] 全局块:主要设置一些影响Nginx服务器整体运行的配置指令。
- user[user][group] 指定可以运行nginx服务的用户和用户组,
- worker_processes nginx进程数量
- pid logs/nginx pid 存放pid文件
- error_log logs/error.log:全局错误日志类型 debug info warn error 存放地址
- [2] events块:主要影响Nginx服务器与用户的网络连接
- accept_mutex 默认开启-开启后nginx的多个worker将会以串行的方式处理,其他的worker继续睡眠,如果不开启将会造成惊群效应,多个worker全部唤起自有一个我worker能获取新连接,其它worker重新进入休眠状态
- worker_connections单个进程最大连接数(最大连接数=连接数+进程数)
- [3] http块:Nginx服务器中重要部分,代理、缓存、日志定义等绝大多数的功能和第三方模块的配置都可以放在这里
- include指令,用于引入其他的配置文件
- default_type 默认文件类型
- log_format指令,用于日志格式,此指令只能在http块中进行配置
- sendfile
- keeplive_timeout HTTP有一个KeepAlive模式,它告诉webserver在处理完一个请求后保持TCP连接打开状态,若接收到来自客户端的其他请求,服务端会利用这个未被关闭的连接,而不需要再建立一个连接。
- gzip开启Gzip压缩功能,使用网站的css、js、xml、html文件在传输时进行压缩,提高访问速度,进而优化Nginx性能
- [4] server块:每一个http块都可以包含多个server块,而每个server块就相当于一台虚拟主机,内部可有多台主机联合提供服务,一起对外提供在逻辑关系密切的一组服务
- listen指令配置非常灵活,可以单独指定ip,单独指定端口或者同时指定ip和端口
- server_name Nginx允许一个虚拟主机有一个多个名字,也可以使用通配符* 来设置虚拟主机ip
- [5] location块:每一个server块都可以包含多个location块