栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Linux上机实验

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux上机实验

2.新建的centos系统新建/test 文件夹,配置并开启nfs服务器,把自己的/test文件夹挂载到/var/www文件夹下。
 

su(进入超级用户)
rpm -qa|grep httpd  ##检查装了阿帕奇没
yum install httpd      ##安装阿帕奇

(ps aux | grep yum
kill -9 3631)##如果安装被占用,就用这个杀死进程


rpm -qa|grep httpd  ##检查安装成功没,成功了就有/var/www
systemctl start httpd

mkdir /test
vi /etc/exports
(进入文本编辑)
(输入i)
/test 127.0.0.1(rw)
(按Esc :wq)
exportfs -a
showmount -e 127.0.0.1
systemctl stop firewalld
systemctl start nfs
mount 127.0.0.1:/test /var/www  ##注意test后面有空格

3.编写hello.c 程序,打印自己的名字拼音及学号。


rpm -qa|grep gcc    ##检测安装gcc没
vi hello.c

#include
int main()
{
    printf("zhengwentao201810113030n");  ##加个n可以让结果更明显
    return 0;
}
(Esc :wq)
gcc hello.c -o hello  ##生成可执行文件
./hello    ##执行文件,可看见结果

4.编写带自动变量的makefile文件,通过make实现hello.c的编译。

gcc -E hello.c -o hello.i
gcc -S hello.i -o hello.s
gcc -c hello.s -o hello.o  ##生成.o文件
mv hello.s hello.h           ##生成.h文件,注意在同一路径
vi makefile
##进入文本模式,注意不要复制粘贴,可能有缩进问题,最好自己敲一遍
OBJS=hello.o
CC=gcc
test:$(OBJS)
        @$(CC) $< -o $@
hello.o:hello.c hello.h
        @$(CC) -c $<
clean:
        @rm -rf test
        @rm -rf *.o
(Esc :wq)
make
./test    ##可以看见输出了姓名学号

5.在主机上编译boa.

使用虚拟机自带的火狐搜索百度搜索boa源码下载,进去选择0.94.13的版本保存
rpm -qa|grep byacc
yum install byacc
yum install flex
cd Downloads   ## 浏览器下载的文件在Downloads中
tar -xzf  boa-0.94.13.tar.gz  ##会在Downloads生成一个文件夹叫boa-0.94.13

mv boa-0.94.13 /  ##把boa-0.94.13移动到根目录,注意此时在Downloads中
cd /   ##进入根目录
cd boa-0.94.13/src  
./configure
vi compat.h
(用键盘一路下滑寻找目标,记住鼠标是移动不了光标的)
修改修改compat.h中的
    #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
   为:
    #define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
(Esc :wq)
make
vi boa.c
修改boa.c文件,找到下面这句:    

    if (setuid(0) != -1) {
      DIE("icky Linux kernel bug!");
    }

    注释或删除这句
vi log.c
注释掉
if (dup2(error_log, STDERR_FILENO) == -1) {
DIE("unable to dup2 the error log");
}
为:

make
vi boa.conf
修改User nobody 为 User 0,修改Group nogroup 为Group 0
修改AccessLog /var/log/boa/access_log

  为
(Esc :wq)


mkdir /etc/boa/
cd /boa-0.94.13  ##boa.conf不在src中,而是在上一级boa-0.94.13中
cp boa.conf /etc/boa
cd /etc/boa
vi boa.conf  ##修改/etc/boa/boa.conf
  (1)Group的修改

  修改 Group nogroup

  为  Group 0

  (2)user的修改

  修改 User nobody

  为  User 0

  (3)修改scriptAlias的路径(好像在最后一行)

  修改scriptAlias /cgi-bin/ /usr/lib/cgi-bin/

  为 scriptAlias /cgi-bin/ /var/www/cgi-bin/

  (4)去掉ServerName前面的注释符号#

  修改#ServerName www.your.org.here

  为 ServerName www.your.org.here

  (5)注释掉AccessLog命令

  修改AccessLog /var/log/boa/access_log

  为# AccessLog /var/log/boa/access_log
groupadd nogroup

##创建web服务器的文件根目录

  cd / 返回根目录

   mkdir /var/www 创建目录

    chmod -R 777 /var/www 修改权限

  ## 创建log目录

  cd /返回根目录

  sudo mkdir /var/log/boa

  sudo mkdir /var/log/boa/error_log

  sudo mkdir /var/log/boa/access_log

  sudo chmod -R 777 /var/log/boa 修改权限

  sudo chmod -R 777 /var/log/boa/error_log 修改权限

  sudo chmod -R 777 /var/log/boa/access_log 修改权限

 ##创建CGI目录

  sudo mkdir /var/www/cgi-bin 创建cgi文件存放目录

  sudo chmod -R 777 /var/www/cgi-bin 修改权限

##在src目录下编译

  cd ~ 返回根目录

  cd Destop/boa-0.94.13/src 切换目录

  make 编译

##在src目录下运行boa

  sudo ./boa 必须在src目录下运行

##查看进程

  ps -e 看boa是否已经运行

##网页测试

  浏览器访问:http://127.0.0.1

  注意:默认端口是80,如果你的80端口已经被占用,可以修改/etc/boa/boa.conf,变更Port 80。这里对应修改:http://127.0.0.1:端口号
make
./boa
##提示地址被占用时,可以重启虚拟机,再进入/boa-0.94.13/src进行make  ./boa即可

6.编写网页文件,通过浏览器访问boa服务器网页显示自己的学号姓名


cd /var/www  ##不要放进html文件夹中
vi zwt.html


 201810113030 zhengwentao


(Esc :wq)

输入网址http://127.0.0.1/zwt.html


7.编写shell程序,检测/test文件夹是否存在,如果存在显示里面的内容


先转到zhengwentao
vim function
if [ -d "/test/" ];then
  echo "文件夹存在"
else
  echo "文件夹不存在"
fi
if [ -f "/test/filename" ];then
  echo "文件存在"
else
  echo "文件不存在"
fi
(保存退出)
chmod 777 function
 ./function

8.编写python爬虫程序,把自己服务器里网页中的‘学号、姓名’爬取下来


yum install python3
pip3 install requests
python
import requests
response = requests.get('http://127.0.0.1/zwt.html')
print(response.status_code)  # 打印状态码
print(response.url)          # 打印请求url
print(response.headers)      # 打印头信息
print(response.cookies)      # 打印cookie信息
print(response.text)  #以文本形式打印网页源码
print(response.content) #以字节流形式打印
exit()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/343913.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号