【转载】如何使用闲置电脑制作服务器并且外网可访问

如何使用闲置电脑制作服务器并且外网可访问

https://blog.csdn.net/weixin_40754174/article/details/130573344






干货来了,分享一个自己用废弃笔记本制作服务器的过程。家里闲置了一台读书时候使用的笔记,已经很多年没有用过了,4G内存也不好用,扔掉又觉得可惜,卖也卖不掉,突然想到拿来制作一台服务器使用看行不行。

笔记本还是win7系统,要制作成linux系统来当作服务器更好使用

一. 安装linux系统

要安装系统我们可以使用u盘来制作一个系统启动盘

我使用的是Rufus - 轻松创建 USB 启动盘 这个工具制作启动盘

 

如果看文章的你此时已经无法访问这个网站了,我将下载好的工具包放到了csdn上你可以下载使用,或是去搜一下其他的工具。

 

地址:https://download.csdn.net/download/weixin_40754174/87760888

这个工具无需安装,双击即可使用

首先我们需要去下载linux系统镜像,我这里选择使用centos7的镜像,大家可以选择自己需要的系统镜像,不过安装过程可能有差别。

 

插入u盘,打开rufus软件

选择镜像文件->其他参数可以默认->点击开始

 

其他提示默认即可

 

开始制作:复制文件的过程比较久

 

复制完毕后关闭即可

 

u盘启动盘就制作好了,然后就可以把u盘插到我的旧笔记本上,启动电脑进入bios模式,每个品牌的电脑进去bios模式可能不一样,我这里是在启动界面按F2进入,进入后移动到boot页面

回车进入启动顺序调整页面

选择启动系统盘顺序,把u盘的选项放到前面,按F10保存重启即可进入u盘启动页面。

 

 

选择 Install CentOS 7 回车 安装开始

 

输出一大堆之后,进入系统配置页面,选择语言

 

然后选择要安装的系统磁盘

 

这里选择磁盘,第一个是u盘别选错了

提示磁盘空间不足,点击Reclaim space回收空间

删除全部

回到安装页面,点击开始安装

安装过程中,我们可以设置一下用户密码,这里我设置一下root用户密码即可

然后就等待安装完成。

二. 网络设置

安装完成后无法连接网络,在网上搜索各种解决方案,大概意思就是需要安装无线网卡、配置无线网卡,没有过多去研究这个,因为要用来做服务器,直接插网线会比较稳定,插入网线后可以正常上网。

如果你还是无法上网,通过ip addr命令可以查看有哪些网卡地址

我的是叫enp3s0,如果statue状态是DOWN的话,你可以输入ifup enp3s0 启动网卡。

你的网卡不会是这个名字,你可以根据ip地址192.168.xx.xx判断哪个是你联网线的地址。

进入/etc/sysconfig/network-scripts/ 目录下可以看到你的网卡配置文件

 

是以ifcfg-开头的配置文件

输入命令 vi ifcfg-enp3s0    编辑该配置文件,如图:

BOOTPROTO = static 表示静态ip,默认是动态的,你的电脑连上路由器后每次会动态分配ip地址,我们要做服务器肯定需要把ip固定下来,所以这里需要设置为静态ip

GATEWAY 是网关地址,需要登录路由器管理页面进行设置,在系统设置->局域网设置里面,路由器不同有些许不同,但目的就是设置一下路由器的ip,以及设置局域网内的ip地址范围:

 

IPADDR设置的地址需要在上图的ip地址分配范围内。

DNS可以设置多个,需要设置DNS才能上网,8.8.8.8是谷歌提供的DNS服务器

ONBOOT 表示开机启动该网卡。

这样就可以正常上网,且每次开机都是一个固定的局域网内ip地址了,现在你在局域网内就可以通过192.168.7.77来访问这台电脑。

三. 如何远程连接服务器

这里推荐使用FinalShell这个连接工具,比较好用。

 

 

你可能输入ip和端口却无法连接,不用慌,那是因为防火墙。

查看防火墙状态: systemctl status firewalld.service

 

绿色的running表示防火墙开启。

如果你不考虑其他安全问题,你可以直接关闭防火墙就能连接了。

关闭防火墙: systemctl stop firewalld.service

再次执行查看防火墙命令:systemctl status firewalld.service

执行开机禁用防火墙自启命令  : systemctl disable firewalld.service

但是建议大家还是开启防火墙,这是一道网络保护,因为我们后面还有映射到公网上去。

开启防火墙状态下就需要配置防火墙规则,添加可以访问的端口。

开放指定端口

firewall-cmd --zone=public --add-port=22/tcp --permanent

命令含义:

--zone #作用域

--add-port=22/tcp #添加端口,格式为:端口/通讯协议

--permanent #永久生效,没有此参数重启后失效

重启防火墙 (添加端口后必须重启,不然你还是访问不了)

firewall-cmd --reload

删除端口 (删除的命令也写下来,如果添加错误了可以删除)

firewall-cmd --zone=public --remove-port=xxx/tcp --permanent

查看开启的端口: firewall-cmd --zone=public --list-ports

 

四. 如何在外网访问服务器

上面我们已经能够在局域网内访问自己的服务器了,但是还无法在外网访问,等于说你只能在你家里使用,而且部署了应用也只能在家里访问,那有什么意义呢,所以下面教大家如何拐个弯使用外网也能访问到,而且不需要你去搞比较贵的类似花生壳之类的内网穿透工具,而且还有流量限制,也不需要拉专线固定ip地址。

首先,我们需要宽带分配的ip地址是公网ip地址,因为现在很多宽带都是给的虚拟ip地址,虚拟ip是无法访问到的,电信宽带是可以打10000号要求客服修改为公网ip,我家里是用的电信,不知道其他运营商能不能给公网ip。

怎么看是否是公网ip呢,直接打开百度搜索ip,这个ip就是公网ip地址

 

再打开路由器管理页面查看WAN口ip

 

如果WAN口ip与百度搜索的公网ip地址一样,你的宽带分配的就是公网ip,否则就是虚拟ip。

有了公网ip后,我们需要设置内外网端口映射,进入宽带管理页面,将虚拟服务器中添加端口映射就可以了,比如你需要ssh到服务器上, 你就将外网端口22映射到你的这台电脑ip上的22端口即可。

我的路由器配置截图:

 

这样配置了后,就可以在外网通过公网ip地址进行ssh(22端口)连接了,我这里还配置了其他端口8000用于web服务,3306用于mysql数据库。

如图:用公网ip地址连接

 

但是普通宽带的公网ip地址是动态变化的,一段时间后即使你没有重启路由器他还是会变化,只有专线宽带的ip才是固定的,这样一旦ip地址变化了我们就无法连接和访问了,网上有很多内网穿透工具,比如收费的花生壳,还有免费的ngork,frp等等,大家都可以去试试,我用了ngork,之前也用过花生壳,但都觉得不爽,免费的不稳定,收费的又太贵。于是我想到一个方法,利用阿里云域名做自动的ddns解析。

五. 阿里云域名动态ddns

首先去阿里云买一个域名,可以买个便宜后缀的,比如.top

进入阿里云域名购买,输入你想要注册的域名

 

我买了个.top的域名,直接买了10年,才188。

 

买域名需要实名认证,然后才能解析,进入解析页面

 

添加一条记录,映射到你当前的ip地址,等解析正常了就可以用这个域名去访问你的服务器了。

如图:

 

也就是说,我们只要能实现,当ip地址变化后,能自己将变化后的ip地址解析到这个域名上,那我们就可以使用域名来访问服务器,使用域名来访问我们部署的服务页面等等。

正好,阿里云提供了这个接口来进行域名解析修改

文档地址:如何调用UpdateDomainRecord根据传入参数修改解析记录_云解析DNS-阿里云帮助中心

 

所以思路就是: 写一个程序放在我们的服务器上,定时去获取公网ip地址(时间间隔根据你自己需要来设定,经过我这几天的观察,其实公网ip地址变化频率并不高,有可能几天都不变化一次,也有几小时就变化一次的情况), 我设置了个5分钟的定时任务去获取公网ip地址,然后通过调用阿里云的api接口修改域名解析。

我这里使用的是java来开发定时任务。

关键代码如下:

public void refreshDdns(String currentIp) throws Exception {

    // 获取解析记录

    DescribeDomainRecordsResponseBody.DescribeDomainRecordsResponseBodyDomainRecordsRecord domainDnsRecord = this.getDomainDnsRecord();

    String currentDdnsIp = "";

    currentDdnsIp = domainDnsRecord.value;

    if (!currentDdnsIp.equals(currentIp)){

        // 刷新解析记录

        this.updateDomainDnsRecord(domainDnsRecord,currentIp);

    } else {

        logger.info("无需修改解析记录,当前IP:{}",currentIp);

    }

}

private DescribeDomainRecordsResponseBody.DescribeDomainRecordsResponseBodyDomainRecordsRecord getDomainDnsRecord() throws Exception {

    DescribeDomainRecordsRequest describeDomainRecordsRequest = new DescribeDomainRecordsRequest()

            .setDomainName(domain);

    // 获取记录详情

    DescribeDomainRecordsResponse domainRecordsResponse = client.describeDomainRecords(describeDomainRecordsRequest);

    List<DescribeDomainRecordsResponseBody.DescribeDomainRecordsResponseBodyDomainRecordsRecord> records = domainRecordsResponse.getBody().getDomainRecords().getRecord();

    DescribeDomainRecordsResponseBody.DescribeDomainRecordsResponseBodyDomainRecordsRecord record = records.get(0);

    logger.info("获取解析记录:{}", JSON.toJSONString(record));

    return record;

}

private void updateDomainDnsRecord(DescribeDomainRecordsResponseBody.DescribeDomainRecordsResponseBodyDomainRecordsRecord domainDnsRecord,String newIp) throws Exception {

    // 修改记录

    UpdateDomainRecordRequest updateDomainRecordRequest = new UpdateDomainRecordRequest()

            .setRecordId(domainDnsRecord.getRecordId())

            .setRR(domainDnsRecord.getRR())

            .setType(domainDnsRecord.getType())

            .setValue(newIp);

    // 修改记录

    UpdateDomainRecordResponse updateDomainRecordResponse = client.updateDomainRecord(updateDomainRecordRequest);

    logger.info("修改解析结果:{}",JSON.toJSONString(updateDomainRecordResponse));

}

运行下来结果很满意,能在外网随时访问到家里的服务器和应用。

文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux入门初识Linux 39863 人正在系统学习中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以将闲置电脑安装Linux操作系统,然后将其配置为服务器,用于存储文件、搭建网站、运行应用程序等。这样可以充分利用闲置电脑的资源,提高其使用效率。同时,使用Linux操作系统可以获得更高的安全性和稳定性,保障数据的安全和稳定运行。 ### 回答2: 随着社会的不断发展,人们对于电脑的需求也越来越多,而随之而来的就是许多人会有闲置电脑的情况。针对这种情况,我们可以考虑把这些电脑转变成linux服务器来用,在这里我们就来谈谈闲置电脑如何linux服务器的话题。 首先,我们需要明确什么是linux服务器。简单来讲,linux服务器就是利用linux操作系统,将电脑变成一台可以满足网络中某些功能的服务器设备。通常这些服务器可以被用来各种用途,如web服务器、邮件服务器、文件服务器等等。 那么如何把闲置电脑变成linux服务器呢?首先,我们需要安装一个linux操作系统。linux操作系统有很多种,不同的操作系统有着不同的特点和功能,我们可以根据需要选择安装。 安装完操作系统之后,我们需要配置服务器服务。首先,我们需要安装web服务器。web服务器的作用是处理HTTP请求并回应内容,通常用来搭建网站。Linux系统中最常用的web服务器软件是apache、nginx等,我们可以根据实际需求来选择使用。 接着,我们需要配置邮件服务器。邮件服务器的作用是处理邮件服务,通常用来发收邮件。常见的邮件服务器软件有postfix、sendmail等。 当然,如果我们需要搭建文件服务器的话,需要安装samba等相关软件以实现文件共享。 总之,闲置电脑linux服务器是一种很好的利用闲置资源的方式。虽然我们需要一些基础的计算机知识和操作技能,但是对于想要追求技术挑战和拥有自己服务器的人来说,这是一个非常好的选择。 ### 回答3: 随着科技的发展,人们越来越依赖电脑电脑不仅是我们每个人处理一些生活上的问题所必须的工具,还可以运行一些更专业性的软件,特别是针对软件开发、互联网应用、科学研究等领域而言,电脑的价值更加不言而喻。但是,随着时间的推移,我们发现电脑的性能日渐下降,往往因为某些原因需要更换电脑。这时候,我们是否可以将它们改变一个新的身份——变成一台Linux服务器? 将闲置电脑改造成Linux服务器,不仅可以充分利用这些电脑,而且可以为我们的生活和工作提供更多的便利和帮助。下面,就从以下几方面来探讨一下这个问题: 1. 什么是linux服务器? Linux服务器是指安装了Linux操作系统并提供服务的设备。Linux服务器可以用来搭建网站、FTP服务器、文件服务器、数据库服务器等,不仅具备良好的兼容性和稳定性,而且性能较好,安全性高,可以实现对网络的控制和管理,特别适合企业和个人使用。 2. 如何将闲置电脑改造成Linux服务器? 将闲置电脑改造成Linux服务器需要将原来的操作系统删除,安装Linux系统。可以选择一些流行的Linux版本,如Ubuntu,CentOS等。然后,安装一些常用的Linux服务器软件,如Apache、MySQL、Tomcat等,在这个基础上,完成相应服务器的配置和管理。 3. 改造成Linux服务器的好处是什么? 将闲置电脑改造成Linux服务器,可以利用它来为自己提供更多的服务。比如搭建个人网站、开发或测试软件、搭建云存储等,这样不仅提高了个人的生产力,而且还能通过互联网帮助其他需要的人。另外,改造成Linux服务器的成本不高,即使一台性能不太好的电脑也可以快速部署,减少了购买专业服务器的成本。此外,Linux系统具有很高的灵活性和安全性,在一些业务上的处理速度也会比较快,并且易于管理和维护。 4. 如何提高闲置电脑的运行效率? 使用闲置电脑搭建Linux服务器需要注意,如果电脑配置太低的话,会导致系统运行效率低下甚至无法正常运行。因此,在改造之前需要衡量自己的电脑是否能够胜任;如果电脑配置较低,可以考虑购买一个适当的CPU、内存和硬盘,或者使用一些轻量级的Linux发行版,如Lubuntu。此外,在Linux服务器运行的过程中,需要注意系统的调优、安全性的加强等,以提高电脑的运行效率。 总之,将闲置电脑改造成Linux服务器不仅可以为自己提供方便,还可以大大降低后期的维护成本,是充分利用身边资源的一种好方法。当然,在使用Linux服务器的过程中,也需要注意数据安全、系统更新等问题,以防止出现不必要的安全漏洞。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值