Linux Nginx-Web

1、网页

site 站点
nginx是搭建网站的一个软件

nginx和浏览器之间使用什么协议传输网页? --http https

动态网页:用python、java、go、php等,与数据库交互
静态网页: 超文本标记语言写死的页面,不会去数据库里获取数据

是否与后端的数据库进行交互?
前后端分离:
前端就是展示页面内容
后端专门和数据库进行交互(读写数据)
html–》js–》获得后端的数据–》python,java等–》database

2、nginx.conf 结构

user    #全局块
worker_processes 
error_log
events{    #events块
    worker_connections 
}
http{    #http块
    log_format    #http全局块
    access_log
    keepalive_timeout
    server{   #server块
          listen     #server全局块
          server_name
          access_log 
          error_page
          location /{
             root
             index
          }
   }
}

1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。

2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。

3、http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。

4、server块:配置虚拟主机的相关参数,一个http中可以有多个server。

5、location块:配置请求的路由,以及各种页面的处理情况

mime.types

服务器发送数据给客户机,浏览器使用什么工具打开数据?
MIME 类型
媒体类型(通常称为 Multipurpose Internet Mail Extensions 或 MIME 类型 )是一种标准,用来表示文档、文件或字节流的性质和格式。

浏览器通常使用MIME类型(而不是文件扩展名)来确定如何处理URL,因此Web服务器在响应头中添加正确的MIME类型非常重要。如果配置不正确,浏览器可能会曲解文件内容,网站将无法正常工作,并且下载的文件也会被错误处理。

http {   
    ...
    include       mime.types; # nginx支持哪些文件,用哪些程序可以打开它
    default_type  application/octet-stream; # 默认当成一个流处理
    ...
    server {
	     error_page  404   /404.html; # 网页不存在
	     access_log  logs/huang.access.log  main;
	     error_log  logs/huang.error.log  notice;
	     error_page 500 502 503 504 /50x.html; # 默认会到server里的root指定的html/huang 目录下查找
	     limit_req zone=perip burst=5 nodelay;  
     }
}

Content_type :响应报文里面的一个字段,字段内容来自于mime.types

错误网页以及自动跳转

<html>
	<head>
		<title>404 page not found</title>
		<meta http-equiv="refresh" content="5;url=http://www.baidu.com"> 
</head>
<body>
	<p>page not found</p>
	<p><h1>admin: teacher feng 18908495097</h1></p>
	<p><img src=caogy.jpg width=500></p>
</body>
</html>

申明错误页面:在html/404.html
注意是在server里面申明。
Linux Nginx-Web_第1张图片
页面跳转功能

1.在首页里添加跳转的代码 5秒钟后跳转到https://www.sanchuangedu.cn

2.使用js代码

3.使用nginx的rewrite功能跳转到其他网站4.location的proxy_pass也可以

[root@www feng.com]# cat index.html 
<html>
	<head>
		<meta http-equiv="refresh" content="5;url=https://www.sanchuangedu.cn"> 
	head>
	<body>
		<p>welcome to sanchuang
	body>
html>

nginx的master和worker的关系

master管理worker进程,当worker进程死掉会重启一个,master是worker的父进程。
master不接收用户的访问。

3、IO多路复用

socket :
接口:网络socket是 ip+port
解决的是高并发的问题。
是linux内核去解决的,因为IO多路复用跟进程有关,进程是内核来管理的。
算法:select、epoll

4、虚拟主机类型

1、基于域名的(最常见)
Linux Nginx-Web_第2张图片
2、基于ip的
一个网站对应一个公网ip

3、基于端口的
一个网站对应一个端口

5、访问不了网站排查

用户问题:
host文件配置;
ping baidu
服务器问题:(外—里)
服务器是否启动和运行
检查服务器的网络是否正常(ping);
检查nginx是否运行(ps aux);
检查端口号是否开放(netstat lsof ss);
查看防火墙(iptables -L/service firewalld status);
查看nginx日志;

你可能感兴趣的:(Linux笔记,python,开发语言,后端,linux)