一、Web服务器
Web 服务器
,一般是指“网站服务器”,是指驻留于互联网上某种类型计算机的程序。Web 服务器可以向 Web 浏览器等客户端提供文档,也可以放置网站文件,让全世界浏览,更可以放置数据文件,让全世界下载。
Web 服务器,也称为“WWW 服务器”( 英文全写: World Wide Web,翻译成中文:万维网或环球信息网 ),主要功能是“提供网上信息浏览服务”。 WWW 是 Internet(互联网)的多媒体信息查询工具,是 Internet(互联网)上发展起来的服务,也是发展最快和目前使用最广泛的服务。正是因为有了 WWW 工具,才使得近十几年来互联网迅速繁荣发展,用户数量飞速飙升。据最新数据显示,目前全球人口数量达到 76.76 亿人,其中全球“网民”(互联网用户)达到惊人的 43.88 亿。
例如百度就是一个 web 服务器,提供搜索服务。
二、nginx
Nginx
是一款自由的、开源的、高性能的 HTTP 服务器和反向代理服务器;同时也是一个 IMAP、 POP3、 SMTP 代理服务器; Nginx 可以作为一个 HTTP 服务器进行网站的发布处理,另外 Nginx 可以作为反向代理进行负载均衡的实现。可以理解 Nginx 是 web 服务器的一种实现。
Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法=>可以理解为正则表达式 )、Bug非常少的服务,Nginx 启动容易,并且几乎可以做到7*24小时不间断运行,即使运行数个月也不需要重新启动,还能够不间断服务的情况下进行软件版本的升级
同时,它的底层是C语言实现的,官方数据测试表明能够支持高达 5w个并发连接数的响应。
三、Nginx的作用
Web服务器
Nginx 作为 Web 服务器可以向各种浏览器等客户端提供浏览服务,比如我们通过手机、电脑、平板可以访问百度来实现对 web 服务器的访问。
正向代理
正向代理的工作方式
- 客户端配置网络设置,将请求发送给正向代理服务器
- 正向代理服务器接收到请求后,根据客户端请求的目标地址,代表客户端向目标服务器发送请求
- 目标服务器处理请求并发送响应
- 正向代理服务器接收到响应后,将其返回给客户端
正向代理的主要功能
- 访问控制:正向代理可以根据特定的策略和规则,对客户端的请求进行访问控制,例如限制特定网站的访问或实施身份验证
- 隐私保护:正向代理可以隐藏客户端的真实身份和位置,提供一定的匿名性
- 缓存:正向代理可以缓存常用的内容,以减少网络流量和提高响应速度
- 加速访问:正向代理服务器可以通过压缩、缓存和优化网络连接等方式,加速客户端与目标服务器之间的通信。
反向代理
反向代理
: 扮演服务器的角色,接收来自客户端的请求,并将其转发到后端服务器,对于用户是无感知的,客户端发送请求,但是不知道哪个服务端收到了请求,客户端只和反向代理进行通信。
反向代理的工作方式
- 客户端向反向代理发送请求
- 反向代理接收到请求后,根据预先设置的规则,将请求转发到一个或多个后端服务器
- 后端服务器处理请求并发送响应
- 反向代理接收到响应后,将其返回给客户端
反向代理的主要功能包括
- 负载均衡:反向代理可以将请求分发到多个后端服务器,以实现负载均衡,提高系统的性能和可扩展性。
- 缓存:反向代理可以缓存静态内容,减轻后端服务器的负载,提高响应速度
- 安全性:反向代理可以作为防火墙,保护后端服务器免受恶意请求和攻击
- SSL 加密:反向代理可以终止 SSL 连接,解密传入的请求,并将其转发给后端服务器,提供安全的通信
四、CentOS上安装Nginx(以CentOS 7.9为例)
检查宿主机上是否存在Nginx
ps -ef | grep nginx
这里我们可以看到机器上并不存在nginx。
安装nginx
💕 配置yum源
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
💕 构建缓存
构建缓存的目的是为了后续加速nginx的下载。
💕 通过安装nginx
yum install nginx -y
💕 查看并启动nginx
#查看nginx是否启动
#启动nginx(方式一)
systemctl start nginx
#启动nginx(方式二)
nginx
#关闭nginx
kill PID
💕 nginx调整配置
cd /etc/nginx/
查看该文件
[root@iZf8z8fcvqy10dpg47hwlxZ conf.d]# cat default.conf
server {
listen 80;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
💕 在浏览器看是否执行成功