Web服务器
Web服务器,一般指网站服务器,是驻留于因特网上某种类型计算机的程序。
Web服务器可以向浏览器等Web客户端提供文档,也可以放置网站文件以供全世界浏览,或放置数据文件以供全世界下载。
Web服务器的主要功能是提供网上信息浏览服务,它使用HTTP(超文本传输协议)与客户机浏览器进行信息交流。
Web服务器是一种被动程序,只有当Internet上运行其他计算机中的浏览器发出请求时,服务器才会响应。
Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。
工作原理
当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。为了处理一个请求,Web服务器可以响应一个静态页面或图片,进行页面跳转,或者把动态响应的产生委托给一些其他的程序,例如CGI脚本、JSP(JavaServer Pages)脚本、servlets、ASP(Active Server Pages)脚本、服务器端(server-side)JavaScript,或者一些其他的服务器端技术。
Nginx
Nginx是一个高性能的HTTP和反向代理服务器,同时也提供了IMAP/POP3/SMTP服务。
Nginx由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发,其将源代码以类BSD许可证的形式发布。Nginx因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行,特点是占有内存少、并发能力强,事实上Nginx的并发能力在同类型的网页服务器中表现较好。
- HTTP服务器:Nginx可以作为静态网页和动态网页的容器,处理HTTP请求并返回响应。
- 反向代理:Nginx可以将客户端的请求转发给内部网络上的其他服务器,同时保持客户端与服务器的通信。
- 负载均衡:Nginx支持多种负载均衡策略,如轮询、加权轮询、IP哈希等,可以将请求分发到多个应用服务器上,提高系统的性能和可靠性。
- 动静分离:为了加快网站的解析速度,Nginx可以通过配置实现动静分离,将静态页面请求直接转发给静态页面服务器,而将动态页面请求转发给应用服务器处理。
通过Docker创建一个Web服务器
对nginx网页界面进行测试
先检查nginx的安装环境:
ps -ef | grep nginx
查看原本系统上有没有nginx;
卸载nginx:
apt --purge autoremove nginx
安装nginx:
apt install nginx -y
再次查看进程信息
ps -ef | grep nginx
查看进程是否允许;
查看nginx的配置:
cd /etc/nginx
ls
访问库文件:
ll /etc/nginx/sites-enabled/
vi /etc/nginx/sites-available/default
修改根目录:
加载配置:
nginx -s reload
访问80端口
查看网页内容信息:
cd /usr/share/nginx/html
ls
vi index.html
修改下标题内容:
docker容器部署Web服务器
先拉取一个nginx镜像:
docker pull nginx:1.24.0
查看有没有拉取成功
查看nginx镜像详情:
docker image inspect nginx:1.24.0
启动容器并在bash上运行:
docker run -p 8081:80 --name myweb3 -h myweb3.com -e myenv=test -it nginx:1.24.0 bash
进入html目录下,并对index.html目录开始修改:
cd /usr/share/nginx/ html/
ls
echo "Hello i am in docker my port is 8081" > index.html
通过浏览器访问: