* 分别说出客户端在使用匿名登录、本地登录和虚拟用户登录时,对应服务端的共享目录?
匿名用户:/var/ftp
本地用户:该本地用户的家目录
虚拟用户:该虚拟用户所映射的本地用户的家目录
这里解释一下虚拟用户的原理:在linux之下,使用vsftp建立用户之后,默认使用ftp访问的时候,是会访问到对应的用户家目录。如果想多个用户同时访问某一个目录,同时对同一目录下有着不同的权限,比如部分用户只能看,不修改,或者有的用户只能下载不能上传这些权限,这些设定只能通过vsftp中的虚拟用户来进行设定,普通的用户无法达到这样的效果。故先通过建立一个普通系统用户,建立家目录,然后将所有的虚拟用户映射到对应的普通系统用户家目录中,然后再对各虚拟用户进行权限控制,达到上述的效果。
* 阐述一下你对lnmp的理解
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
下图是LNMP的架构图
接下来对LNMP的工作流程进行简单介绍(参考原文)
<https://www.cnblogs.com/GreenForestQuan/p/7233470.html>:
第一步,浏览器发送http request请求到服务器(Nginx),服务器响应并处理web请求,将一些静态资源(CSS,图片,视频等)保存服务器上。
第二步,将php脚本通过接口传输协议(网关协议)PHP-FCGI(fast-cgi)传输给PHP-FPM(进程管理程序),PHP-FPM不做处理,然后PHP-FPM调用PHP解析器进程,PHP解析器解析php脚本信息。PHP解析器进程可以启动多个,进行并发执行。
第三步,将解析后的脚本返回到PHP-FPM,PHP-FPM再通过fast-cgi的形式将脚本信息传送给Nginx。
第四步,服务器再通过Http response的形式传送给浏览器。浏览器再进行解析与渲染然后进行呈现。
* 说一下你对CGI和FastCGI的理解(以PHP为例)
CGI全称是“通用网关接口”(Common Gateway
Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序一般运行在WEB服务器上。
CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等
CGI工作原理:每当客户请求CGI的时候,WEB服务器就请求操作系统生成一个新的CGI解释器进程(如php-cgi.exe),CGI
的一个进程则处理完一个请求后退出,下一个请求来时再创建新进程。当然,这样在访问量很少没有并发的情况也行。可是当访问量增大,并发存在,这种方式就不
适合了。于是就有了fastcgi。
FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute
模式)。
FastCGI的工作流程如下:
1. Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module)
2.FastCGI进程管理器自身初始化,启动多个CGI解释器进程(比如多个php-cgi)并等待来自Web Server的连接。
3.当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。 Web
server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。
4.FastCGI 子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时,
请求便处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在Web Server中)的下一个连接。
在CGI模式中,当处理完一个请求后,php-cgi便退出了。
* 解释一下MySQL主从复制的原理
当开启主从复制时,从库生成两个线程,一个I/O线程,一个SQL线程。其中,I/O线程去请求主库的binlog,并将得到的binlog日志写到从库的relaylog(中继日志)文件中,而主库会生成一个
logdump
线程,用来给从库的I/O线程传binlog;从库的SQL线程,会读取relaylog文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致。
* 解释一下MySQL主从复制的几种种方式及区别
MySQL有三种主从复制方式:
第一种,同步,发主库发送binlog日志,只有所有从库同步,主库才能继续操作
第二种,异步,发送binlog,只要主库发送binlog日志,主库就可以继续操作
第三种,半异步,主库发送binlog日志,只要有一个从库完成复制,主库就可以继续操作
* PV、UV、IP之间的区别与联系
以上三个术语都用来衡量网站的用户访问量
PV(Page View)值就是所有访问者在24小时(0点到24点)内访问了某个网站多少个页面或某个网页多少次
(页面刷新也会视为一次PV流量)。度量方法就是从浏览器发出一个对网络服务器的请求(Request),网络服务器接到这个请求后,会将该请求对应的一个网页(Page)发送给浏览器,从而产生了一个PV。那么在这里只要是这个请求发送给了浏览器,无论这个页面是否完全打开(下载完成),那么都是应当计为1个PV。
UV(unique visitor)即独立访客数。一天内访问某个网站的人数,以cookie为依据;一天内同一访客的多次访问只能被记为一个UV。
IP可以理解为独立IP的访问用户,指1天内使用不同IP地址的用户访问网站的数量。
* 解释一下oneproxy的切表与切库
热门工具 换一换