Linux进阶——web服务器
一、相关名词解释及概念:
www:(world wide web)全球信息广播,通常来说的上网就是使用www来查询用户所需的信息。使用http超文本传输协议。
过程:web浏览器向web服务(Apache,Microsoft,nginx)端发送web请求。www服务器需要提供可让客户端浏览的平台。服务器所提供的主要数据是超文本标记语言html和多媒体文件。html只是一些纯文本文件,通过所谓的标记来规范要显示的数据格式。web服务端将文档传输给浏览器(即客户端)。客户端收到服务器的数据之后,需要解析数据,最后将效果呈现到用户屏幕上。
客户端软件:浏览器
服务器软件:nginx
网站格式:协议://域名:端口
https://192.18.68.99
https---->端口号443(加密传输)
http---->端口号80(明文)
对于主机网络配置:
IP地址一定要有,因为这是唯一标识主机的信息。
网关也是必要的,没有网关意味着没有下一跳的信息,也就无法正常上网。
域名服务器DNS,没有DNS就无法解析网站的IP地址。例如:想要请求百度的web服务,若没有DNS,就只能使用IP地址39.156.66.10,而不能使用www.baisu.com。
二、web服务器的网页资源类型
1、静态网页资源:
单纯是由服务器向用户提供数据,server不需要向client端有任何的互动,在网页设计时,纯粹HTML格式的网页通常被称为“静态网页”。
静态解析web服务器软件:Apache、Nignx
2、动态网页资源:
这种类型的网页可以让服务器与用户互动,例如留言板、博客等。
搭建动态网页的需求:
LAMP(linux+Apache+Mysql+PHP)
Lnmp(linux+Nginx+Mysql+php)
Apache、Nginx主要提供www服务器平台
Mysql:一种特殊的格式文件,这种文件要通过特殊接口来进行读写,适合多人同时写入与查询工作。
PHP:PHP程序代码可以直接在HTML网页中嵌入,就像编辑HTML网页一样简单。PHP是一种‘程序语言’,这种程序语言可以直接在网页中编写,不需要经过编译即可执行。
三、web服务器基本配置
服务器端:使用nginx提供web服务。
yum install nginx -y #下载nginx
/etc/nginx/conf.d #配置文件目录
/etc/nginx/nginx.conf #主配置文件
grep ^[^#] /etc/nginx/nginx.conf #打印指定文件出注释以外的所有内容
/usr/share/nginx/html #默认的nginx网站根目录
/var/log/nginx #nginx的日志文件所在目录
/var/log/nginx/error.log #错误日志
/var/log/nginx/access.log #访问日志
使用nginx:
systemctl disable firewalld --now #关闭防火墙
setenforce 0 #关闭selinux
ss -lntup #查看端口,是否与nginx所需的80端口冲突(httpd)
systemctl restart nginx #重启nginx服务
curl -I localhost #测试是否可以使用curl命令访问web服务器或者使用浏览器访问
四、实例:
实例1
搭建web服务器,访问该服务器时显示“hello world”欢迎界面
vim /usr/share/nginx/html/index.html #写入hello world
curl localhost #查看写入信息
curl 192.168.68.130 #作用同上
实例2
建立两个基于IP地址访问的网页,要求如下:
该网站的IP地址主机位为100,设置首页目录为/www/ip/100,网页内容为this is 100。
该网站的IP地址主机位为200,设置首页目录为/www/ip/200,网页内容为this is 200。
nmtui #添加IP地址192.168.68.100/24和192.168.68.200/24
nmcli conneciton up ens160 #重启网络
mkdir -pv /www/ip/{100,200} #创建所需的路径
echo this is 100 > /www/ip/100/index.html
echo this is 200 > /www/ip/200/index.html #定义网页内容
setenforce 0 #设置selinux
书写配置文件:
vim /etc/nginx/conf.d/test_ip.conf #新建配置文件,将一下信息写入
server{ listen 192.168.68.100:80; root /www/ip/100; location / { } } server{ listen 192.168.68.200:80; root /www/ip/200; location / { } }
systemctl restart nginx #重启服务
成功!
实例3
建立两个基于端口访问的网站,设置网站首页的地址为/www/port/80,设置网页内容为:the port id 80。建立一个使用10000端口的网站,设置网站首页目录为/www/port/10000,网页内容为the port id 10000
mkdir -pv /www/port/{80,10000}
echo this is 80 > /www/port/80/index.html
echo this is 10000 > /www/port/10000/index.html #定义网页内容
nmtui #添加IP地址192.168.68.80和192.168.68.110
vim /etc/nginx/conf.d/test_ip.conf #写入以下配置
server{ listen 192.168.68.80:80; root /www/port/80; location / { } } server{ listen 192.168.68.110:10000; root /www/port/10000; location / { } }
systemctl restart nginx #重启nginx程序
成功!
tree /www #用树的形式查看
实例4
使用自定义域名www.bzy_test.com打开网页192.168.68.100
主机中存放域名与IP地址关联的文件地址:C:\Windows\System32\drivers\etc、hosts
使用pycharm以管理员的身份打开,并写入192.168.68.100 www.bzy_test.com
测试成功!