十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、实验内容和要求:
公司主营业务:成都网站设计、成都做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出翠屏免费做网站回馈大家。看word
二、实验软件环境
根据自己情况而定
三、步骤和截图
1.在Linux下,安装git,使用git管理大作业相关的代码、配置文件等,要求有能反映大作业过程的git提交记录。首先下载git
直接 sudo apt-get(或yum) install git 一了百了(如果愿意下载源码自己编译也行,自行搜索)
you@you:~$ git --version
you@you:~$ git config --global user.name "ZZK"
you@you:~$ git config --global user.email "Youreamil@email.com"
you@you:~$ git config --list
user.name=ZZK
user.email=Youreamil@email.com
echo "# Linux">>README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/Zzkyou/Linux.git
git push -u origin main
you@you:~$ docker run -id --name=C1 -p 5209:5209 centos #端口映射要注意
you@you:~$ docker run -id --name=C2 -p 5210:5209 centos
进入centos镜像中
将java安装文件拷贝到镜像中
you@you:~$ ls javaflie/
jdk-8u161-linux-x64.tar.gz SocketService.class
you@you:~$ docker cp javaflie/jdk-8u161-linux-x64.tar.gz C1:/root
[root@9f67c7a141fd /]# ls root
anaconda-ks.cfg anaconda-post.log jdk-8u161-linux-x64.tar.gz original-ks.cfg
获取C1的ip
编写服务端的代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class SocketService { //搭建服务器端
public static void main(String[] args) throws IOException{
SocketService socketService = new SocketService();
//1、a)创建一个服务器端Socket,即SocketService
socketService.oneServer();
}
public void oneServer(){
try{
ServerSocket server=null;
try{
//下面是端口,端口可以和客户端代码里面的端口一样
server=new ServerSocket(5209);
//b)指定绑定的端口,并监听此端口。
System.out.println("Service enable Success");
//创建一个ServerSocket在端口5209监听客户请求
}catch(Exception e) {
System.out.println("No Listen:"+e);
//出错,打印出错信息
}
Socket socket=null;
try{
socket=server.accept();
//2、调用accept()方法开始监听,等待客户端的连接
//使用accept()阻塞等待客户请求,有客户
//请求到来则产生一个Socket对象,并继续执行
}catch(Exception e) {
System.out.println("Error."+e);
//出错,打印出错信息
}
//3、获取输入流,并读取客户端信息
String line;
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
//由Socket对象得到输入流,并构造相应的BufferedReader对象
PrintWriter writer=new PrintWriter(socket.getOutputStream());
//由Socket对象得到输出流,并构造PrintWriter对象
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
//由系统标准输入设备构造BufferedReader对象
System.out.println("Client:"+in.readLine());
//在标准输出上打印从客户端读入的字符串
line=br.readLine();
//从标准输入读入一字符串
//4、获取输出流,响应客户端的请求
while(!line.equals("end")){
//如果该字符串为 "bye",则停止循环
writer.println(line);
//向客户端输出该字符串
writer.flush();
//刷新输出流,使Client马上收到该字符串
System.out.println("Service:"+line);
//在系统标准输出上打印读入的字符串
System.out.println("Client:"+in.readLine());
//从Client读入一字符串,并打印到标准输出上
line=br.readLine();
//从系统标准输入读入一字符串
} //继续循环
//5、关闭资源
writer.close(); //关闭Socket输出流
in.close(); //关闭Socket输入流
socket.close(); //关闭Socket
server.close(); //关闭ServerSocket
}catch(Exception e) {//出错,打印出错信息
System.out.println("Error."+e);
}
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.URL;
public class SocketClient {
// 搭建客户端
public static void main(String[] args) throws IOException {
try {
// 1、创建客户端Socket,指定服务器地址和端口
//下面是你要传输到另一台电脑的IP地址和端口
Socket socket = new Socket("172.17.0.2", 5209);
System.out.println("Client enable Success");
// 2、获取输出流,向服务器端发送信息
// 向本机的52000端口发出客户请求
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 由系统标准输入设备构造BufferedReader对象
PrintWriter write = new PrintWriter(socket.getOutputStream());
// 由Socket对象得到输出流,并构造PrintWriter对象
//3、获取输入流,并读取服务器端的响应信息
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
// 由Socket对象得到输入流,并构造相应的BufferedReader对象
String readline;
readline = br.readLine(); // 从系统标准输入读入一字符串
while (!readline.equals("end")) {
// 若从标准输入读入的字符串为 "end"则停止循环
write.println(readline);
// 将从系统标准输入读入的字符串输出到Server
write.flush();
// 刷新输出流,使Server马上收到该字符串
System.out.println("Client:" + readline);
// 在系统标准输出上打印读入的字符串
System.out.println("Service:" + in.readLine());
// 从Server读入一字符串,并打印到标准输出上
readline = br.readLine(); // 从系统标准输入读入一字符串
} // 继续循环
//4、关闭资源
write.close(); // 关闭Socket输出流
in.close(); // 关闭Socket输入流
socket.close(); // 关闭Socket
} catch (Exception e) {
System.out.println("can not listen to:" + e);// 出错,打印出错信息
}
}
}
将代码分别拷贝到镜像中
分别启动java程序
启动成功,测试是否能通信
通信成功
hugo下载上官网下载deb文件
sudo dpkg -i hugo*.deb #安装hugo
在你想要创建站点的文件夹(我是在用户名下面的hugo文件夹下)创建一个站点(如my-website)
mkdir themes# themes用来管理主题
hugo new site my-website #创建站点
进入站点可以看到用于构建Hugo站点的目录结构和主配置文件:
archetypes/ config.toml content/ data/ layouts/ public/ static/
ln -s ../themes . #建立符号链接用于管理主题
cd ~/hugo/my-website git init # 让站点可以使用git
拉取主题,拉取你喜欢的主题
git submodule add "主题的html" themes/"主题名的文件" #如下
打开confit.toml文件,将主题加入,还有将baseURL修改为自己linux机的ip(这里我主题使用了另外一个,与上图示例不同,但无影响,只要themes文件中存在该主题就行)
为网站创建新页面
# 在 my-website目录下
hugo new about.md
创建第一篇文章
hugo new post/My-First-Post.md
这时候你就可以在md文件中写你的内容了
建立和服务网站
hugo server --bind=0.0.0.0 --baseUrl=http://your_domain_or_IP/
就可以开启hugo自带的服务器了,端口是1313
浏览器输入 http://your_domain_or_IP:1313 就可以看见你的网页
当你更新完代码后,需要输入
安装nginx,(自行搜索,教程太多了)
之后再my-website下 执行 hugo 命令,生成public文件,然后将ngnix中html的文件替换为public文件中的内容,刷新浏览器就可以看见自己的博客了。
部分知识选自网络,如有侵权,通知删之
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧