*一、实验内容和要求:*

1.在Linux下,安装git,使用git管理大作业相关的代码、配置文件等,要求有能反映大作业过程的git提交记录。

安装git:

dnf install -y git
git --version

image-20221210150001640

image-20221210150008821

配置git:

git config --global user.name "林大大"

git config --global user.email "11271446+da-da-lin@user.noreply.gitee.com"

mkdr linux-homework

cd linux-homework

git init

touch README.md

git add README.md

git commit -m "first commit"

git remote add origin https://gitee.com/da-da-lind/linux-homework.git

git push -u origin "master"

image-20221210150018100

image-20221210150021901

2.在Linux下,利用 socket 技术编写程序,包含客户端和服务端,实现两者之间的信息传递。

a) 加分项:使用容器技术(如Docker或Podman),将socket客户端和服务端分别运行在不同的容器中,实现socket客户端和服务端之间的信息传递。

Socket 服务端:image-20221210150058946

Socket客户端:image-20221210150106714

vim server.c

./server

vim client.c 

./client

image-20221210150114803

image-20221210150118084

安装docker:

yun install -y docker-engine.x86_64
docker version

image-20221210150125138

image-20221210150129014

下载镜像:

docker pull gcc

docker images

image-20221210150138813

image-20221210150142736

编写服务端和客户端的Dockerfile文件:image-20221210150150748

image-20221210150156746

创建两个镜像:

docker build -t ser:v1

docker build -t  cli:v1

docker images

image-20221210150215147

image-20221210150218726

image-20221210150225877

运行这两个容器:

docker run -itd ser:v1

docker run -it  cli:v1

docker ps -a

image-20221210150233770

image-20221210150237189

3.Hugo是一个静态网站生成器,官网为:https://gohugo.io/,查阅相关资料,在Linux下,完成以下内容:

a) 配置好Hugo相关环境

下载压缩包:

wget  https://github.com/gohugoio/hugo/releases/download/v0.107.0/hugo_0.107.0_Linux-64bit.tar.gz

tar -zxf hugo_0.107.0_linux-64bit.tar.gz

ls

sudo cp hugo /usr/local/bin

image-20221210150257157

查看版本:

hugo version

img

下载主题:

ls themes

img

启动服务:

(先关闭防火墙)

sudo firewall-cmd --list-all

hugo -D 

hugo server --bind "0.0.0.0"  --buildDrafts

img

img

image-20221211210308501

b) 使用Markdown语法编写网站内容,至少要包含的内容:Linux课程中的学习笔记、大作业完成步骤记录,且要求有相关图片、代码或命令

image-20221211210344987

image-20221211210355060

image-20221211210401825

image-20221211210408018

image-20221211210413047

c) 使用Hugo,将上述内容生成静态网站,部署到Web服务器(如Nginx或Apache),访问Web服务器,测试可以正常访问。

安装Nginx:

yum  install nginx

img

开启防火墙:

systemctl start firewalld

开放http服务:

firewall-cmd --add-service=http --permanent

开放1313端口:

firewall-cmd --add-port=1313/tcp --permanent

刷新配置:

firewall-cmd --reload

查看防火墙开放端口:

firewall-cmd --list-ports

查看防火墙配置:

sudo firewall-cmd --list-all

img

启动nginx:

Systemctl  start  nginx

img

编写文章:

Hugo new post/first_blog.md

img

然后将写的markdown代码复制到first_blog.md中

img

img

编译hugo:

hugo -D

启动hugo服务器:

hugo server --bind "0.0.0.0"  --baseURL=http://192.168.56.102/

img

img

img

在LDL-blog目录下使用hugo来生成public文件包

img

img

配置nginx:

将/etc/nginx/nginx.conf中的user改成root

img

编写nginx文件:

vim  /etc/nginx/conf.d/www.conf

写入hugo静态网站的网站内容:

img

重新启动nginx服务器:

systemctl restart nginx

img

在浏览器输入本机ip即可访问写好的网站:

img

img

以下加分项2选1:

a) 加分项1:使用容器技术(如Docker或Podman)部署上述静态网站,测试可以正常访问。

b) 加分项2:部署上述静态网站,使其可以公网访问,可以是自己的云服务器,或者一些免费的托管平台,如gitee pages、github pages。