第九周作业【Linux微职位】

一、请描述一次完整的http请求处理过程;

HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤:

1. 建立TCP连接

在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能进行更高层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80。

2. Web浏览器向Web服务器发送请求命令

一旦建立了TCP连接,Web浏览器就会向Web服务器发送请求命令。例如:GET/sample/hello.jsp HTTP/1.1。

3. Web浏览器发送请求头信息

浏览器发送其请求命令之后,还要以头信息的形式向Web服务器发送一些别的信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信息的发送。

4. Web服务器应答

客户机向服务器发出请求后,服务器会客户机回送应答, HTTP/1.1 200 OK ,应答的第一部分是协议的版本号和应答状态码。

5. Web服务器发送应答头信息

正如客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及被请求的文档。

6. Web服务器向浏览器发送数据

Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据。

7. Web服务器关闭TCP连接

一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码:Connection:keep-alive
TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。

二、httpd所支持的处理模型有哪些,他们的分别使用于哪些环境。

Apache有两种工作模型,一种是基于进程的preforker模型,一种是基于线程和进程混合的Worker模型 
prefork模式

prefork模式可以算是很古老但是非常稳定的Apache模式。Apache在启动之初,就预先fork一些子进程,然后等待请求进来。之所以这样做,是为了减少频繁创建和销毁进程的开销。每个子进程只有一个线程,在一个时间点内,只能处理一个请求。
优点:成熟稳定,兼容所有新老模块。同时,不需要担心线程安全的问题。(我们常用的mod_php,PHP的拓展不需要支持线程安全)
缺点:一个进程相对占用更多的系统资源,消耗更多的内存。而且,它并不擅长处理高并发请求,在这种场景下,它会将请求放进队列中,一直等到有可用进程,请求才会被处理。

worker模式

worker模式比起上一个,是使用了多进程和多线程的混合模式。它也预先fork了几个子进程(数量比较少),然后每个子进程创建一些线程,同时包括一个监听线程。每个请求过来,会被分配到1个线程来服务。线程比起进程会更轻量,因为线程通常会共享父进程的内存空间,因此,内存的占用会减少一些。在高并发的场景下,因为比起prefork有更多的可用线程,表现会更优秀一些。
有些人会觉得奇怪,那么这里为什么不完全使用多线程呢,还要引入多进程?
原因主要是需要考虑稳定性,如果一个线程异常挂了,会导致父进程连同其他正常的子线程都挂了(它们都是同一个进程下的)。为了防止这场异常场景出现,就不能全部使用线程,使用多个进程再加多线程,如果某个线程出现异常,受影响的只是Apache的一部分服务,而不是整个服务。
优点:占据更少的内存,高并发下表现更优秀。
缺点:必须考虑线程安全的问题,因为多个子线程是共享父进程的内存地址的。如果使用keep-alive的长连接方式,某个线程会一直被占据,也许中间几乎没有请求,需要一直等待到超时才会被释放。如果过多的线程,被这样占据,也会导致在高并发场景下的无服务线程可用。

EVENT模式

这个是Apache中最新的模式,在现在版本里的已经是稳定可用的模式。它和worker模式很像,最大的区别在于,它解决了keep-alive场景下,长期被占用的线程的资源浪费问题(某些线程因为被keep-alive,空挂在哪里等待,中间几乎没有请求过来,甚至等到超时)。event
MPM中,会有一个专门的线程来管理这些keep-alive类型的线程,当有真实请求过来的时候,将请求传递给服务线程,执行完毕后,又允许它释放。这样增强了高并发场景下的请求处理能力。

三、源码编译安装LAMP环境(基于wordpress程序),并写出详细的安装、配置、测试过程。 

1、编译安装httpd-2.4.17

#编译安装apr-1.5.2.tar.gz
[[email protected] opt]# tar xzvf apr-1.5.2.tar.gz && cd apr-1.5.2
[[email protected] apr-1.5.2]# ./configure --prefix=/usr/local/apr
[[email protected] apr-1.5.2]# make && make install

#编译安装apr-util-1.5.4.tar.gz
[[email protected] opt]# tar xzvf apr-util-1.5.4.tar.gz && cd apr-util-1.5.4
[[email protected] apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
[[email protected] apr-util-1.5.4]# make && make install

#编译安装pcre-8.38.tar.gz
[[email protected] opt]# tar xzvf pcre-8.38.tar.gz && cd pcre-8.38
[[email protected] pcre-8.38]# ./configure --prefix=/usr/local/pcre
[[email protected] pcre-8.38]# make && make install

#创建系统组和用户
[[email protected] httpd-2.4.17]# groupadd -r apache
[[email protected] httpd-2.4.17]# useradd -r -g apache aapache
[[email protected] opt]# tar xzvf httpd-2.4.17.tar.gz && cd httpd-2.4.17
[[email protected] httpd-2.4.17]# ./configure --prefix=/usr/local/apache > --sysconfdir=/etc/httpd \    # 指定配置文件路径
> --enable-so \    # 支持动态加载DSO模块
> --enable-ssl \    # 开启SSL功能,支持https
> --enable-cgi \    # 启用与外部应用程序的cgi接口功能
> --enable-rewrite \    # 支持url重写
> --with-zlib \    # 支持web页面压缩传送
> --with-pcre=/usr/local/pcre \    # 增强型的正则表达式分析工具,nginx等程序依赖,依赖于pcre-devel开发包
> --with-apr=/usr/local/apr \    # 指定高版本apr程序路径,不指定则会自动指定系统默认版本
> --with-apr-util=/usr/local/apr-util \    # 指定apr-util路径
> --enable-mpms-shared=all \    # 支持动态装卸载所有mpm
> --with-mpm=prefork \    # mpm默认使用prefork
> --enable-modules=all    # all为安装所有模块,most为安装常用模块(安装不代表启用)
[[email protected] httpd-2.4.17]# make && make install

2、编译安装mysql

[[email protected] opt]# groupadd mysql        #添加mysql组
[[email protected] opt]# useradd -r -g mysql mysql        #添加mysql用户
[[email protected] opt]# tar xzvf mysql-5.6.24.tar.gz 
[[email protected] opt]# yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio        #安装编译代码所需要的包
[[email protected] opt]# cd /opt/mysql-5.6.24
[[email protected] mysql-5.6.24]#  cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \              [MySQL安装的根目录]
-DMYSQL_DATADIR=/mydata/mysql/data  \                   [MySQL数据库文件存放目录]
-DSYSCONFDIR=/etc \                                     [MySQL配置文件所在目录]
-DMYSQL_USER=mysql \                                    [MySQL用户名]      
-DWITH_MYISAM_STORAGE_ENGINE=1 \                        [MySQL的数据库引擎]
-DWITH_INNOBASE_STORAGE_ENGINE=1 \                      [MySQL的数据库引擎]
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \                       [MySQL的数据库引擎]
-DWITH_MEMORY_STORAGE_ENGINE=1 \                        [MySQL的数据库引擎]
-DWITH_READLINE=1 \                                     [MySQL的readline library]
-DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \           [MySQL的通讯目录]
-DMYSQL_TCP

3、编译安装php

[email protected] opt]# tar xzvf php-5.6.5.tar.gz 
[[email protected] php-5.6.5]# ./configure --enable-opcache --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring=all --with-pdo-mysql --enable-sockets --enable-mbstring --enable-fpm --with-curl --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --enable-xml --with-gd  --with-libxml-dir=/usr --enable-xml --with-openssl --with-iconv
[[email protected] php-5.6.5]# make && make install
[[email protected] etc]# cp /opt/php-5.6.5/php.ini-development /usr/local/php/etc/php.ini
[[email protected] etc]# cd /usr/local/php/etc/
[[email protected] etc]# cp php-fpm.conf.default php-fpm.conf   
[[email protected] etc]# vim /etc/httpd/httpd.conf    #编辑配置文件,添加下面三行使httpd支持php
DirectoryIndex index.php index.html
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps     
[[email protected] etc]# /usr/local/php/sbin/php-fpm        #启动php


四、建立httpd服务器(基于编译的方式进行),要求:

提供两个基于名称的虚拟主机:

(a)www1.stuX.com,页面文件目录为/web/vhosts/www1;错误日志为/var/log/httpd/www1.err,访问日志为/var/log/httpd/www1.access;

(b)www2.stuX.com,页面文件目录为/web/vhosts/www2;错误日志为/var/log/httpd/www2.err,访问日志为/var/log/httpd/www2.access;

(c)为两个虚拟主机建立各自的主页文件index.html,内容分别为其对应的主机名;

(d)通过www1.stuX.com/server-status输出httpd工作状态相关信息,且只允许提供帐号密码才能访问(status:status);

1、编译安装依赖包

#编译安装apr-1.5.2.tar.gz
[[email protected] opt]# tar xzvf apr-1.5.2.tar.gz && cd apr-1.5.2
[[email protected] apr-1.5.2]# ./configure --prefix=/usr/local/apr
[[email protected] apr-1.5.2]# make && make install

#编译安装apr-util-1.5.4.tar.gz
[[email protected] opt]# tar xzvf apr-util-1.5.4.tar.gz && cd apr-util-1.5.4
[[email protected] apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
[[email protected] apr-util-1.5.4]# make && make install

#编译安装pcre-8.38.tar.gz
[[email protected] opt]# tar xzvf pcre-8.38.tar.gz && cd pcre-8.38
[[email protected] pcre-8.38]# ./configure --prefix=/usr/local/pcre
[[email protected] pcre-8.38]# make && make install

2、编译安装httpd-2.4.17

#创建系统组和用户
[[email protected] httpd-2.4.17]# groupadd -r apache
[[email protected] httpd-2.4.17]# useradd -r -g apache aapache
[[email protected] opt]# tar xzvf httpd-2.4.17.tar.gz && cd httpd-2.4.17
[[email protected] httpd-2.4.17]# ./configure --prefix=/usr/local/apache > --sysconfdir=/etc/httpd \    # 指定配置文件路径
> --enable-so \    # 支持动态加载DSO模块
> --enable-ssl \    # 开启SSL功能,支持https
> --enable-cgi \    # 启用与外部应用程序的cgi接口功能
> --enable-rewrite \    # 支持url重写
> --with-zlib \    # 支持web页面压缩传送
> --with-pcre=/usr/local/pcre \    # 增强型的正则表达式分析工具,nginx等程序依赖,依赖于pcre-devel开发包
> --with-apr=/usr/local/apr \    # 指定高版本apr程序路径,不指定则会自动指定系统默认版本
> --with-apr-util=/usr/local/apr-util \    # 指定apr-util路径
> --enable-mpms-shared=all \    # 支持动态装卸载所有mpm
> --with-mpm=prefork \    # mpm默认使用prefork
> --enable-modules=all    # all为安装所有模块,most为安装常用模块(安装不代表启用)
[[email protected] httpd-2.4.17]# make && make install

3、配置虚拟主机

[[email protected] ~]# vim /etc/httpd/httpd.conf    
# Virtual hosts
Include /etc/httpd/conf.d/*.conf          
[[email protected] extra]# vim /etc/httpd/conf.d/stuX.com.conf        #配置www1.stuX.com
<VirtualHost 10.18.11.30:80>        #虚拟主机监听地址
  ServerName www1.stuX.com        #虚拟主机域名
  DocumentRoot /vhosts/www1.stuX.com        #网站根目录
  CustomLog /var/log/httpd/www1.access combined    #配置访问日志路径
  ErrorLog "/var/log/httpd/www1.err"        #配置错误日志路径
  <Directory "/vhosts/www1.stuX.com">        #允许所有访问请求/vhosts/www1.stuX.com
      <RequireAll>    
        Require all granted
    </RequireAll>
  </Directory>
</VirtualHost>
<VirtualHost 10.18.11.30:80>        #配置www2.stuX.com
  ServerName www2.stuX.com    
  DocumentRoot /vhosts/www2.stuX.com
  CustomLog /var/log/httpd/www2.access combined
  ErrorLog "/var/log/httpd/www2.err"
  <Directory "/vhosts/www2.stuX.com">
      <RequireAll>
        Require all granted
    </RequireAll>
  </Directory>
</VirtualHost>
[[email protected] httpd]# echo www1.stuX.com > /vhosts/www1.stuX.com/index.html        #生成主页文件
[[email protected] httpd]# echo www2.stuX.com > /vhosts/www2.stuX.com/index.html
[[email protected] conf.d]# cp /etc/httpd/extra/httpd-info.conf ../conf.d/
[[email protected] conf.d]# vim /etc/httpd/conf.d/httpd-info.conf    #修改其中server-status配置
<Location /server-status>
    SetHandler server-status
    Authtype   Basic        #设置认证类型
    Authname   "status"    #定义受保护的领域名称,在浏览器访问的时候会显示
    AuthUserFile /etc/httpd/conf.d/.htpasswd        #要求只有认证文件中的合法用户才能访问
    Require valid-user        #valid-user表示所有合法用户,若只授权给单个用户,则改为指定的用户名
</Location>
[[email protected] conf.d]# htpasswd -c -m /etc/httpd/conf.d/.htpasswd status    #创建用户认证的数据库文件

访问结果


基于用户名的用户访问控制

apache状态页面

五、为第4题中的第2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点;

(1)要求使用证书认证,证书中要求使用的国家(CN)、州(HA)、城市(ZZ)和组织(MageEdu);

(2)设置部门为Ops,主机名为www2.stuX.com,邮件为[email protected];

1、生成一个自签署证书

[[email protected] CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650        #生成一个自签署证书    
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.‘, the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:HA
Locality Name (eg, city) [Default City]:ZZ
Organization Name (eg, company) [Default Company Ltd]:MageEdu
Organizational Unit Name (eg, section) []:Ops
Common Name (eg, your name or your server‘s hostname) []:www2.stuX.com
Email Address []:[email protected]

2、需要使用证书的主机上生成CA请求.

[[email protected] ssl]# openssl  req -new -key httpd.key -out httpd.csr        #生成签署证书请求
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.‘, the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:HA
Locality Name (eg, city) [Default City]:ZZ
Organization Name (eg, company) [Default Company Ltd]:MageEdu
Organizational Unit Name (eg, section) []:Ops
Common Name (eg, your name or your server‘s hostname) []:www2.stuX.com
Email Address []:[email protected]

Please enter the following ‘extra‘ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
[[email protected] ssl]# scp httpd.csr [email protected]:/tmp        #将请求文件传输给CA所在主机

3、CA签署证书

[[email protected] CA]# openssl ca -in /tmp/httpd.csr -out certs/www2.stuX.com.crt -days 3650
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 2 (0x2)
        Validity
            Not Before: Oct 21 14:10:05 2016 GMT
            Not After : Oct 19 14:10:05 2026 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = HA
            organizationName          = MageEdu
            organizationalUnitName    = Ops
            commonName                = www2.stuX.com
            emailAddress              = [email protected]
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                16:5A:7B:84:A7:5F:7D:EA:CC:0D:1D:CB:5F:D3:A0:AD:29:20:98:63
            X509v3 Authority Key Identifier: 
                keyid:C7:83:51:96:AC:82:AF:DA:35:58:02:CD:B3:75:B2:37:B8:5D:59:38

Certificate is to be certified until Oct 19 14:10:05 2026 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
[[email protected] CA]# scp certs/www2.stuX.com.crt 10.18.11.30:/etc/httpd/ssl/        #将证书文件传到httpd服务中

4、添加httpd中ssl配置

[[email protected] conf.d]# vim /etc/httpd/conf.d/httpd_ssl.conf         #编辑ssl配置文件
LoadModule ssl_module modules/mod_ssl.so        #添加需要加载的模块
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
ServerName www2.stuX.com
DocumentRoot "/vhosts/www2.stuX.com"
<Directory "/vhosts/www2.stuX.com">
    <RequireAll>
        Require all granted
    </RequireAll>
</Directory>
SSLCertificateFile "/etc/httpd/ssl/www2.stuX.com.crt"        #定义证书文件路径
SSLCertificateKeyFile /etc/httpd/ssl/httpd.key        #定义证书文件私钥

六、在LAMP架构中,请分别以php编译成httpd模块形式和php以fpm工作为独立守护进程的方式来支持httpd,列出详细的过程。

1、编译安装php模块

[[email protected] opt]# tar xzvf php-5.6.5.tar.gz 
[[email protected] php-5.6.5]# ./configure --enable-opcache --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring=all --with-pdo-mysql --enable-sockets --enable-mbstring --enable-fpm --with-curl --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --enable-xml --with-gd  --with-libxml-dir=/usr --enable-xml --with-openssl --with-iconv
[[email protected] php-5.6.5]# make && make install
[[email protected] etc]# cp /opt/php-5.6.5/php.ini-development /usr/local/php/etc/php.ini
[[email protected] etc]# cd /usr/local/php/etc/
[[email protected] etc]# cp php-fpm.conf.default php-fpm.conf   
[[email protected] etc]# vim /etc/httpd/httpd.conf    #编辑配置文件,添加下面三行使httpd支持php
DirectoryIndex index.php index.html
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps     
[[email protected] etc]# /usr/local/php/sbin/php-fpm        #启动php
[[email protected] etc]# vim /usr/local/apache/htdocs/index.php    #编辑测试页面
<?
         phpinfo();
?>

2、php编译成fpm模式

[[email protected] php-5.6.5]#./configure –prefix=/usr/local/php5 –with-mysql=mysqlnd –with-openssl
 –with-mysqli=mysqlnd –enable-mbstring –with-freetype-dir –with-jpeg-dir
 –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml  
–enable-sockets –enable-fpm –with-mcrypt  –with-config-file-path=/etc 
–with-config-file-scan-dir=/etc/php.d –with-bz2
[[email protected] php-5.6.5]# make && make install
[[email protected] php-5.6.5]# cp php.ini-production /etc/php.ini    #拷贝配置文件至/etc目录
[[email protected] php-5.6.5]# cp /usr/local/php5/etc/php-fpm.conf.default  /usr/local/php5/etc/php-fpm.conf
[[email protected] php-5.6.5]# vim /usr/local/php5/etc/php-fpm.conf
pid = /usr/local/php5/var/run/php-fpm.pid    #取消pid选项的注释
[[email protected] fpm]# cp init.d.php-fpm /etc/rc.d/init.d/php-fp    #添加服务脚本
[[email protected] fpm]# chmod +x /etc/rc.d/init.d/php-fpm
[[email protected] fpm]# chkconfig –add php-fpm
[[email protected] fpm]# service php-fpm start    #启动php-fpm
[[email protected] ~]# vim /etc/httpd/httpd.conf    
LoadModule proxy_module modules/mod_proxy.so        #启用这两个模块
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
AddType application/x-httpd-php .php            #添加文件类型
AddType application/x-httpd-php-source .phps
ProxyRequests Off                        #添加php文件的访问通过fpm
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache24/htdocs/$1
时间: 2024-10-09 02:36:49

第九周作业【Linux微职位】的相关文章

2017-2018-1 20179205《Linux内核原理与设计》第九周作业

<Linux内核原理与设计>第九周作业 视频学习及代码分析 一.进程调度时机与进程的切换 不同类型的进程有不同的调度需求,第一种分类:I/O-bound 会频繁的进程I/O,通常会花费很多时间等待I/O操作的完成:CPU-bound 是计算密集型,需要大量的CPU时间进行运算,使得其他交互式进程反应迟钝,因此需要不同的算法来使系统的运行更高效,以及CPU的资源最大限度的得到使用.第二种分类包括批处理进程(batch process):实时进程(real-time process)以及交互式进程

2017-2018-2 20179205《网络攻防技术与实践》第九周作业

<网络攻防技术与实践>第九周作业 视频学习总结 一.KaliSecurity压力测试工具 ??压力测试通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能够提供的最大的服务级别的测试.通俗地讲,压力测试是为了测试应用程序的性能会变得不可接受. ??Kali下压力测试工具包含VoIP压力测试.Web压力测试.网络压力测试及无线压力测试. 1.Voip压力测试工具 包括iaxflood和inviteflood 2.web压力测试工具:THC-SSL-DOS ??借助THC-SSL-DOS攻击工

机电传动控制第九周作业(一)

<机电传动控制>第九周作业(一) 1单相桥式晶闸管整流电路仿真 搭建的模型图: 当触发角为pi/4时,仿真结果为: 当触发角为pi/2时:仿真结果为: 触发角为pi/2,电感值为0.01时,仿真结果: 触发角为pi/2,电感值为1时,仿真结果为: 触发角为pi/2,电感值为0.5时,仿真结果: 触发角为pi/4,电感值为0.5时,仿真结果: 2三相六脉波桥式晶闸管整流电路仿真 搭建的电路图: 触发角为0,仿真结果: 触发角为pi/4,仿真结果: 触发角为pi/2,仿真结果: 触发角为0,电感为

机电传动控制作业第九周作业补充

机电传动控制作业第九周作业补充: 手绘波形图: 3. 直流电机开环调压调速系统模型搭建 搭建的电路图: 仿真结果之一: 问题: 我按照上图所示的电路进行仿真时,在调节电源电压的大小和触发角时,发现很难调节到使电机转速刚好在额定转速下运行,尤其在引入电感后,更加难以调节.所以我想问下老师我这个电路图搭建的有没有问题?我需要从何处改进呢?

Linux服务及安全管理第九周作业【Linux微职位】

1.请描述一次完整的http请求处理过程: (1)建立或处理连接:接收请求或拒绝请求: (2)接收请求:接收来自于网络上的主机请求报文中对某特定资源的一次请求的过程: (3)处理请求:对请求报文进行解析,获取客户端请求的资源及请求方法等相关信息: (4)访问资源:获取请求报文中请求的资源: (5)构建响应报文: (6)发送响应报文: (7)记录日志: 2.httpd所支持的处理模型有哪些,他们的分别使用于哪些环境. MPM:Multipath Processing Modules(多路处理模块)

第五周作业【Linux微职位】

一.请描述网桥.集线器.二层交换机.三层交换机.路由器的功能.使用场景与区别. 网桥(Bridge) 网桥是第2层的设备,它设计用来创建两个或多个LAN分段.其中,每一个分段都是一个独立的冲突域.网桥设计用来产生更大可用宽带.它的目的是过滤LAN的通信流,使得本地的通信流保留在本地,而让那些定向到LAN其他部分(分段)的通信流转发到那里去.每一台网络设备在NIC(网络接口卡)中都有一个惟一的MAC(介质访问控制)地址.网桥会记录它每一边的MAC地址,然后基于这张MAC地址表作出转发决策.网桥已被

Linux系统管理第七周作业【Linux微职位】

1.写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin):分别这两类用户的个数:通过字符串比较来实现: [[email protected] ~]# vim usershell.sh #!/bin/bash # declare -i nologin_num=0 declare -i login_num=0 for i in $(cut -d: -f7 /etc/passwd);do     if [ "$i" == &

Linux系统管理第六周作业【Linux微职位】

1.请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) CentOS系统启动流程如下: POST --> Boot Sequence(BIOS) --> Boot Loader(MBR) --> GRUB --> Kernel(ramdisk) --> rootfs --> switchroot --> /sbin/init --> (/etc/inittab, /etc/init/*.conf) --> 设定默认运行级别 --&g

Linux系统管理第五周作业【Linux微职位】

1.请描述网桥.集线器.二层交换机.三层交换机.路由器的功能.使用场景与区别. 网桥(Network Bridge):工作在OSI模型的第二层数据链路层,主要用于将两个局域网(LAN)连起来,根据MAC地址来转发帧(Frame).它可以有效地联接两个局域网,使本地通信限制在本网段内,并转发相应的信号至另一端.网桥主要用于联接数量不多.同一类型的网段. 集线器(Hub):工作在OSI的第一层物理层,主要用于对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上