1.web服务器简介
(1)什么是www
www是world wide web的缩写,也就是全球信息广播的意思。通常说的上网就是使用www来查询用户
所需要的信息。www可以结合文字、图形、影像以及声音等多媒体,并通过可以让鼠标单击超链接的方
式将信息以Internet传递到世界各处去。
与其他服务器类似,当你连接上www网站,该网站肯定会提供一些数据,而你的客户端则必须要使用可
以解析这些数据的软件来处理,那就是浏览器。www服务器与客户端浏览器之间的连接图。
(2)网址及HTTP简介
web服务器提供的这些数据大部分都是文件,那么我们需要在服务器端先将数据文件写好,并且放置在
某个特殊的目录下面,这个目录就是我们整个网站的首页,在nginx中,这个目录默认
在/usr/share/nginx/html/。浏览器是通过你在地址栏中输入你所需要的网址来取得这个目录的数据
的。
URL:Uniform Resource Locator,统一资源定位符,对可以从互联网上得到的资源的位置和访问
方法的一种简洁的表示,是互联网上标准资源的地址。
网址格式:<协议>://<主机或主机名>[:port]/<目录资源,路径>
浏览器常支持的协议有:http、https、ftp等。
主机地址或者主机名:主机地址就是服务器在因特网所在的IP地址。如果是主机名的话,那么
就需要域名解析了。
端口号(port):http为80,https为443 (IANA:互联网数字分配机构)
#创建密钥对
[root@web ~]# ssh-keygen -t rsa
ssh-keygen 生成、管理和转换认证密钥 -t制定类型 RSA
/root/.ssh/id_rsa私钥文件
/root/.ssh/id_rsa.pub公钥文件
#复制该公钥文件到服务端的该目录下
[root@web ~]# ssh-copy-id root@192.168.40.132
#在本地服务器上登陆对端服务器
[root@web ~]# ssh root@192.168.40.132
1、 www所用的协议: 浏览器怎样向web服务器请求数据以及服务器怎样把文档传送给浏览器呢?这就是
由http协议来定义的,(Hyper Text Transport Protocol,HTTP,超文本传输协议)。
2、www服务器需要提供可让客户端浏览的平台。目前最主流的Web服务器是Apache、Microsoft的
Internet信息服务器(Internet Information Services,IIS)和unix nginx。
3、服务器所提供的最主要数据是超文本标记语言(Hyper Text Markup Language,HTML)、多媒体
文件(图片、影像、声音、文字等,都属于多媒体或称为超媒体),HTML只是一些纯文本数据,通过所谓
的标记来规范所要显示的数据格式。
4、客户端收到服务器的数据之后需要软件解析服务器所提供的数据,最后将效果呈现在用户的屏幕上。那
么著名的浏览器就有内建在Windows操作系统内的IE浏览器了,还有Firefox浏览器和Google的
chrome浏览器。
0-1023:众所周知,永久地分配给固定的应用程序使用,特权端口(只有管理员有权限
启用并让进程监听)
1024-41951:亦为注册端口,但要求不是特别严格,分配给程序注册为某应用使用:
3306/TCP
41952-60000:客户端程序随机使用的端口,动态端口,或私有端口
http请求方法:在http通信中,每个http请求报文都包含一个方法,用以告诉web服务器端需要执
行哪些具体的动作,这些动作包括:获取指定web页面、提交内容到服务器、删除服务器上资源文
件等
2、web服务器的类型
(1)仅提供用户浏览的单向静态网页
单纯是由服务器单向提供数据给客户端, Server 不需要与 client 端有互动,所以你可以到该网站上去浏
览,但是无法进行数据的上传。
(2)提供用户互动接口的动态网站
这种类型的网站可以让服务器与用户互动,常见的例如留言板,博客。这种类型的网站需要通过 " 网页程
序语言 " 来实现与用户互动的行为。常见的例如: PHP 网页程序语言,配合数据库系统来进行数据的读、
写。当你在向服务器请求数据时,其实是通过服务器端同一个网页程序在负责将数据读出或写入数据
库,变动的是数据库的内容,网页程序并没有任何改变。
另外一种交互式的动态网页主要是在客户端实现。服务端将可执行的程序代码( JavaScript )传送给客户 端,客户端的浏览器如果提供 JavaScript 的功能,那么该程序就可以在客户端的计算机上面工作了;另外
一种可在客户端执行的就是 flash 动画格式,在这种动画格式内还可以进行程序设计。搭建动态网站的需
求:
3、web服务器基本配置
[root@localhost ~]# dnf install nginx -y
[root@localhost ~]# nginx -v
[root@localhost ~]# nginx -V
[root@localhost ~]# rpm -ql nginx
[root@localhost httpd]# tree /etc/nginx
[root@localhost ~]# tree /etc/nginx/
/etc/nginx/
├── conf.d #子配置文件目录
├── default.d
├── fastcgi.conf
├── fastcgi.conf.default
├── fastcgi_params #用以翻译nginx的变量供php识别
├── fastcgi_params.default
├── koi-utf
├── koi-win
├── mime.types #用以配置支持的媒体文件类型
├── mime.types.default
├── nginx.conf #主配置文件
├── nginx.conf.default
├── scgi_params
├── scgi_params.default
├── uwsgi_params #用以配置nginx的变量供python识别
├── uwsgi_params.default
└── win-utf
[root@localhost ~]# tree /usr/share/nginx/html/ #默认的nginx网站根目录
[root@localhost ~]# tree /var/log/nginx/ #nginx的日志文件所在目录
#nginx服务主配置文件nginx.conf的结构
[root@localhost nginx]# grep ^[^#] /etc/nginx/nginx.conf
user nginx; #进程所属用户
worker_processes auto; #worker数量